diff options
-rw-r--r-- | t/op/filetest_stack_ok.t | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/t/op/filetest_stack_ok.t b/t/op/filetest_stack_ok.t index 91e31e0a27..3c212b16fa 100644 --- a/t/op/filetest_stack_ok.t +++ b/t/op/filetest_stack_ok.t @@ -12,8 +12,35 @@ BEGIN { my @ops = split //, 'rwxoRWXOezsfdlpSbctugkTMBAC'; -plan( tests => @ops * 1 ); +plan( tests => @ops * 3 ); for my $op (@ops) { ok( 1 == @{ [ eval "-$op 'TEST'" ] }, "-$op returns single value" ); + + my $count = 0; + my $t; + for my $m ("a", "b") { + if ($count == 0) { + $t = eval "-$op _" ? 0 : "foo"; + } + elsif ($count == 1) { + is($m, "b", "-$op did not remove too many values from the stack"); + } + $count++; + } + + $count = 0; + for my $m ("c", "d") { + if ($count == 0) { + $t = eval "-$op -e \$^X" ? 0 : "bar"; + } + elsif ($count == 1) { + local $TODO; + if ($op eq 'T' or $op eq 't' or $op eq 'B') { + $TODO = "[perl #77388] stacked file test does not work with -$op"; + } + is($m, "d", "-$op -e \$^X did not remove too many values from the stack"); + } + $count++; + } } |