Commit | Line | Data |
89c1e84a |
1 | #!/usr/bin/perl -w |
2 | |
3 | BEGIN { |
4 | if( $ENV{PERL_CORE} ) { |
5 | chdir 't'; |
6 | @INC = ('../lib', 'lib'); |
7 | } |
8 | else { |
9 | unshift @INC, 't/lib'; |
10 | } |
11 | } |
12 | |
13 | use strict; |
0257f296 |
14 | use Test::More tests => 13; |
89c1e84a |
15 | |
16 | use Test::Builder; |
17 | my $Test = Test::Builder->new; |
18 | |
19 | SKIP: { |
20 | skip "qr// added in 5.005", 3 if $] < 5.005; |
21 | |
22 | # 5.004 can't even see qr// or it pukes in compile. |
23 | eval q{ |
24 | my $r = $Test->maybe_regex(qr/^FOO$/i); |
25 | ok(defined $r, 'qr// detected'); |
26 | ok(('foo' =~ /$r/), 'qr// good match'); |
27 | ok(('bar' !~ /$r/), 'qr// bad match'); |
28 | }; |
29 | die $@ if $@; |
30 | } |
31 | |
32 | { |
33 | my $r = $Test->maybe_regex('/^BAR$/i'); |
34 | ok(defined $r, '"//" detected'); |
35 | ok(('bar' =~ m/$r/), '"//" good match'); |
36 | ok(('foo' !~ m/$r/), '"//" bad match'); |
37 | }; |
38 | |
39 | { |
40 | my $r = $Test->maybe_regex('not a regex'); |
41 | ok(!defined $r, 'non-regex detected'); |
42 | }; |
43 | |
44 | |
45 | { |
46 | my $r = $Test->maybe_regex('/0/'); |
47 | ok(defined $r, 'non-regex detected'); |
48 | ok(('f00' =~ m/$r/), '"//" good match'); |
49 | ok(('b4r' !~ m/$r/), '"//" bad match'); |
50 | }; |
0257f296 |
51 | |
52 | |
53 | { |
54 | my $r = $Test->maybe_regex('m,foo,i'); |
55 | ok(defined $r, 'm,, detected'); |
56 | ok(('fOO' =~ m/$r/), '"//" good match'); |
57 | ok(('bar' !~ m/$r/), '"//" bad match'); |
58 | }; |