xref: /openbsd-src/gnu/usr.bin/perl/t/lib/feature/bits (revision f2a19305cfc49ea4d1a5feb55cd6c283c6f1e031)
1de8cc8edSafresh1Test specifically for things that cop_features broke
2de8cc8edSafresh1
3de8cc8edSafresh1__END__
4de8cc8edSafresh1# NAME check clearing $^H clears the bits
5de8cc8edSafresh1use feature 'say';
6de8cc8edSafresh1BEGIN { %^H = () }
7de8cc8edSafresh1say "Fail";
8de8cc8edSafresh1EXPECT
9*f2a19305Safresh1String found where operator expected (Do you need to predeclare "say"?) at - line 3, near "say "Fail""
10de8cc8edSafresh1syntax error at - line 3, near "say "Fail""
11de8cc8edSafresh1Execution of - aborted due to compilation errors.
12de8cc8edSafresh1########
13de8cc8edSafresh1# NAME check copying $^H restores the bits
14de8cc8edSafresh1use feature 'say';
15de8cc8edSafresh1say "Hello";
16de8cc8edSafresh1BEGIN { our %work = %^H; }
17de8cc8edSafresh1no feature 'say';
18de8cc8edSafresh1BEGIN { %^H = our %work }
19de8cc8edSafresh1say "Goodbye";
20de8cc8edSafresh1EXPECT
21de8cc8edSafresh1Hello
22de8cc8edSafresh1Goodbye
23de8cc8edSafresh1########
24de8cc8edSafresh1# NAME check deleting entries (via feature.pm) clears the bits
25de8cc8edSafresh1use feature 'say';
26de8cc8edSafresh1say "Hello";
27de8cc8edSafresh1no feature 'say';
28de8cc8edSafresh1say "Goodbye";
29de8cc8edSafresh1EXPECT
30*f2a19305Safresh1String found where operator expected (Do you need to predeclare "say"?) at - line 4, near "say "Goodbye""
31de8cc8edSafresh1syntax error at - line 4, near "say "Goodbye""
32de8cc8edSafresh1Execution of - aborted due to compilation errors.
33de8cc8edSafresh1########
34de8cc8edSafresh1# NAME check deleting entries (bypass feature.pm) clears the bits
35de8cc8edSafresh1use feature 'say';
36de8cc8edSafresh1say "Hello";
37de8cc8edSafresh1BEGIN { delete $^H{feature_say}; }
38de8cc8edSafresh1say "Goodbye";
39de8cc8edSafresh1EXPECT
40*f2a19305Safresh1String found where operator expected (Do you need to predeclare "say"?) at - line 4, near "say "Goodbye""
41de8cc8edSafresh1syntax error at - line 4, near "say "Goodbye""
42de8cc8edSafresh1Execution of - aborted due to compilation errors.
43