This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perl5db: remove leading ampersand.
[perl5.git] / ext / re / t / lexical_debug.t
CommitLineData
f9f4320a
YO
1#!./perl
2
3BEGIN {
f9f4320a
YO
4 require Config;
5 if (($Config::Config{'extensions'} !~ /\bre\b/) ){
6 print "1..0 # Skip -- Perl configured without re module\n";
7 exit 0;
8 }
9}
10
11use strict;
1e2e3d02
YO
12
13# must use a BEGIN or the prototypes wont be respected meaning
14 # tests could pass that shouldn't
2adbc9b6
NC
15BEGIN { require "../../t/test.pl"; }
16my $out = runperl(progfile => "t/lexical_debug.pl", stderr => 1 );
f9f4320a 17
1e2e3d02 18print "1..10\n";
f9f4320a
YO
19
20# Each pattern will produce an EXACT node with a specific string in
21# it, so we will look for that. We can't just look for the string
22# alone as the string being matched against contains all of them.
23
1e2e3d02
YO
24ok( $out =~ /EXACT <foo>/, "Expect 'foo'" );
25ok( $out !~ /EXACT <bar>/, "No 'bar'" );
26ok( $out =~ /EXACT <baz>/, "Expect 'baz'" );
27ok( $out !~ /EXACT <bop>/, "No 'bop'" );
28ok( $out =~ /EXACT <fip>/, "Expect 'fip'" );
29ok( $out !~ /EXACT <fop>/, "No 'baz'" );
de734bd5 30ok( $out =~ /<liz>/, "Got 'liz'" ); # in a TRIE so no EXACT
1e2e3d02
YO
31ok( $out =~ /<zoo>/, "Got 'zoo'" ); # in a TRIE so no EXACT
32ok( $out =~ /<zap>/, "Got 'zap'" ); # in a TRIE so no EXACT
33ok( $out =~ /Count=7\n/, "Count is 7")
34 or diag($out);
f9f4320a 35