use
MongoDBTest
qw/skip_unless_mongod build_client get_test_db/
;
skip_unless_mongod();
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/Regexp 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},
'MongoDB::BSON::Regexp'
;
is
$doc
->{foo}->pattern,
'foo.+bar'
;
is
$doc
->{foo}->flags,
'ims'
;
}
done_testing;