%PDF- %PDF-
Direktori : /home/opti/optisoftcom/.cpanm/work/1544535406.20768/MongoDB-v2.0.2/t/deprecated/ |
Current File : /home/opti/optisoftcom/.cpanm/work/1544535406.20768/MongoDB-v2.0.2/t/deprecated/regexp_obj.t |
# Copyright 2018 - present MongoDB, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. use strict; use warnings; use Test::More; use Test::Fatal; use MongoDB; use MongoDB::BSON::Regexp; use lib "t/lib"; use MongoDBTest qw/skip_unless_mongod build_client get_test_db/; skip_unless_mongod(); $ENV{PERL_MONGO_NO_DEP_WARNINGS} = 1; my $conn = build_client(); { my $regexp = MongoDB::BSON::Regexp->new( pattern => 'foo*bar' ); is $regexp->pattern, 'foo*bar'; } { my $regexp = MongoDB::BSON::Regexp->new( pattern => 'bar?baz', flags => 'msi' ); is $regexp->pattern, 'bar?baz'; is $regexp->flags, 'ims'; } like( exception { my $regexp = MongoDB::BSON::Regexp->new( pattern => 'narf', flags => 'xyz' ); }, qr/Regex flag \w is not supported/, 'exception on invalid flag' ); { my $testdb = get_test_db($conn); my $coll = $testdb->get_collection("test_collection"); $coll->insert_one( { _id => 'spl0rt', foo => MongoDB::BSON::Regexp->new( pattern => 'foo.+bar', flags => 'ims' ) } ); my $doc = $coll->find_one( { _id => 'spl0rt' } ); ok $doc->{foo}; ok ref $doc->{foo}; isa_ok $doc->{foo}, 'BSON::Regex'; is $doc->{foo}->pattern, 'foo.+bar'; is $doc->{foo}->flags, 'ims'; } done_testing;