diff options
Diffstat (limited to 't/lib/feature/say')
-rw-r--r-- | t/lib/feature/say | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/t/lib/feature/say b/t/lib/feature/say new file mode 100644 index 0000000000..4b507e6d57 --- /dev/null +++ b/t/lib/feature/say @@ -0,0 +1,64 @@ +Check the lexical scoping of the say keyword. +(The actual behaviour is tested in t/op/say.t) + +__END__ +# No say; should be a syntax error. +use warnings; +say "Hello", "world"; +EXPECT +Unquoted string "say" may clash with future reserved word at - line 3. +String found where operator expected at - line 3, near "say "Hello"" + (Do you need to predeclare say?) +syntax error at - line 3, near "say "Hello"" +Execution of - aborted due to compilation errors. +######## +# With say, should work +use warnings; +use feature "say"; +say "Hello", "world"; +EXPECT +Helloworld +######## +# With say, should work in eval too +use warnings; +use feature "say"; +eval q(say "Hello", "world"); +EXPECT +Helloworld +######## +# feature out of scope; should be a syntax error. +use warnings; +{ use feature 'say'; } +say "Hello", "world"; +EXPECT +Unquoted string "say" may clash with future reserved word at - line 4. +String found where operator expected at - line 4, near "say "Hello"" + (Do you need to predeclare say?) +syntax error at - line 4, near "say "Hello"" +Execution of - aborted due to compilation errors. +######## +# 'no feature' should work +use warnings; +use feature 'say'; +say "Hello", "world"; +no feature; +say "Hello", "world"; +EXPECT +Unquoted string "say" may clash with future reserved word at - line 6. +String found where operator expected at - line 6, near "say "Hello"" + (Do you need to predeclare say?) +syntax error at - line 6, near "say "Hello"" +Execution of - aborted due to compilation errors. +######## +# 'no feature "say"' should work too +use warnings; +use feature 'say'; +say "Hello", "world"; +no feature 'say'; +say "Hello", "world"; +EXPECT +Unquoted string "say" may clash with future reserved word at - line 6. +String found where operator expected at - line 6, near "say "Hello"" + (Do you need to predeclare say?) +syntax error at - line 6, near "say "Hello"" +Execution of - aborted due to compilation errors. |