X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2Fif.t;h=d09de5895c252a0c64da01e0e0abc0f9da5dae8a;hb=004caa160f94253de79aa75f9b412f94823dcb96;hp=3e75718afe29b5c70de37557a965371a61e42a8f;hpb=66d45871e1487a8e2f3c33194cb92dac6f438ba2;p=p5sagit%2Fp5-mst-13.2.git diff --git a/lib/if.t b/lib/if.t index 3e75718..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 => 5; +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,6 +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'); - +# 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');