X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2Fif.t;h=d09de5895c252a0c64da01e0e0abc0f9da5dae8a;hb=e350b669f3dadb9da757b62a20659cbc7eca2190;hp=61cc4b2630a2786af1f5b6097afc9e121dbdecf1;hpb=b97616431c42ffbbb12f97bf297caee34b9f27a9;p=p5sagit%2Fp5-mst-13.2.git diff --git a/lib/if.t b/lib/if.t index 61cc4b2..d09de58 100644 --- a/lib/if.t +++ b/lib/if.t @@ -1,15 +1,26 @@ #!./perl BEGIN { - chdir 't' if -d 't'; - @INC = '../lib'; + chdir 't' and @INC = '../lib' if $ENV{PERL_CORE}; } -use Test::More tests => 6; +my $t = 1; +print "1..5\n"; +sub ok { + print "not " unless shift; + print "ok $t # ", shift, "\n"; + $t++; +} my $v_plus = $] + 1; my $v_minus = $] - 1; +unless (eval 'use open ":std"; 1') { + # pretend that open.pm is present + $INC{'open.pm'} = 'open.pm'; + eval 'sub open::foo{}'; # Just in case... +} + ok( eval "use if ($v_minus > \$]), strict => 'subs'; \${'f'} = 12" eq 12, '"use if" with a false condition, fake pragma'); @@ -24,8 +35,7 @@ ok( (not defined eval "use if ($v_plus > \$]), strict => 'refs'; \${'f'} = 12" and $@ =~ /while "strict refs" in use/), '"use if" with a true condition and a pragma'); -ok( eval "use if 1, Cwd; cwd() || 1;", - '"use if" with a true condition, module, no arguments, exports'); - -ok( eval "use if qw/ 1 if 1 strict subs /; \${'f'} = 12" eq 12, - '"use if" with a module named after keyword'); +# Old version had problems with the module name `open', which is a keyword too +# Use 'open' =>, since pre-5.6.0 could interpret differently +ok( (eval "use if ($v_plus > \$]), 'open' => IN => ':crlf'; 12" || 0) eq 12, + '"use if" with open');