This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Urk. Joe's patches were for the maint branch,
[perl5.git] / lib / if.t
1 #!./perl
2
3 BEGIN {
4     chdir 't' if -d 't';
5     @INC = '../lib';
6 }
7
8 use Test::More tests => 6;
9
10 my $v_plus = $] + 1;
11 my $v_minus = $] - 1;
12
13
14 ok( eval "use if ($v_minus > \$]), strict => 'subs'; \${'f'} = 12" eq 12,
15     '"use if" with a false condition, fake pragma');
16
17 ok( eval "use if ($v_minus > \$]), strict => 'refs'; \${'f'} = 12" eq 12,
18     '"use if" with a false condition and a pragma');
19
20 ok( eval "use if ($v_plus > \$]), strict => 'subs'; \${'f'} = 12" eq 12,
21     '"use if" with a true condition, fake pragma');
22
23 ok( (not defined eval "use if ($v_plus > \$]), strict => 'refs'; \${'f'} = 12"
24      and $@ =~ /while "strict refs" in use/),
25     '"use if" with a true condition and a pragma');
26
27 ok( eval "use if 1, Cwd; cwd() || 1;",
28     '"use if" with a true condition, module, no arguments, exports');
29
30 ok( eval "use if qw/ 1 if 1 strict subs /; \${'f'} = 12" eq 12,
31     '"use if" with a module named after keyword');