+++ /dev/null
-=pod
-
-Tests methods on the re object
-
-=cut
-
-use strict;
-
-use feature ':5.10';
-
-use Test::More tests => 9;
-
-use re::engine::Plugin (
- comp => sub {
- my $re = shift;
-
- # Use a stash to pass a single scalar value to each executing
- # routine, references work perfectly a reference to anything
- # can be passed as well
- $re->stash( { x => 5, y => sub { 6 } } );
-
- # Return value not used for now..
- },
- exec => sub {
- my ($re, $str) = @_;
-
- # pattern
- cmp_ok($re->pattern, 'eq', ' foobar zoobar ' => '->pattern ok');
-
- # modifiers
- my %mod = $re->mod;
- ok(exists $mod{i}, 'str flags /i');
- ok(exists $mod{x}, 'str flags /x');
- like(join('', keys %mod), qr/^[cgimosx]+$/, 'flags contain all-good characters');
-
- # stash
- cmp_ok($re->stash->{"x"}, '==', 5, "data correct in stash");
- cmp_ok(ref $re->stash->{"y"}, 'eq', 'CODE', "data correct in stash");
- cmp_ok(ref $re->stash->{"y"}, 'eq', 'CODE', "data correct in stash");
- cmp_ok($re->stash->{"y"}->(), '==', 6, "data correct in stash");
-
- # Pattern contains "foo", "bar" and "zoo", return a true
- return $re->pattern =~ /zoo/;
- }
-);
-
-my $re = qr< foobar zoobar >xi;
-
-if ("input" =~ $re ) {
- pass 'pattern matched';
-} else {
- fail "pattern didn't match";
-}
-