diff options
Diffstat (limited to 't/op/yadayada.t')
-rw-r--r-- | t/op/yadayada.t | 35 |
1 files changed, 34 insertions, 1 deletions
diff --git a/t/op/yadayada.t b/t/op/yadayada.t index f82aa72537..770a51ea90 100644 --- a/t/op/yadayada.t +++ b/t/op/yadayada.t @@ -8,10 +8,43 @@ BEGIN { use strict; -plan 1; +plan 5; my $err = "Unimplemented at $0 line " . ( __LINE__ + 2 ) . ".\n"; eval { ... }; is $@, $err; + + +# +# Regression tests, making sure ... is still parsable as an operator. +# +my @lines = split /\n/ => <<'--'; + +# Check simple range operator. +my @arr = 'A' ... 'D'; + +# Range operator with print. +print 'D' ... 'A'; + +# Without quotes, 'D' could be a file handle. +print D ... A ; + +# Another possible interaction with a file handle. +print ${\"D"} ... A ; +-- + +foreach my $line (@lines) { + next if $line =~ /^\s*#/ || $line !~ /\S/; + my $mess = qq {Parsing '...' in "$line" as a range operator}; + eval qq { + {local *STDOUT; no strict "subs"; $line;} + pass \$mess; + 1; + } or do { + my $err = $@; + $err =~ s/\n//g; + fail "$mess ($err)"; + } +} |