xref: /openbsd/gnu/usr.bin/perl/t/lib/mypragma.t (revision f6aab3d8)
1#!./perl
2
3BEGIN {
4    chdir 't' if -d 't';
5    require './test.pl';
6    @INC = qw(lib ../lib);
7    plan(tests => 14);
8}
9
10use strict;
11use warnings;
12
13use mypragma (); # don't enable this pragma yet
14
15BEGIN {
16   is($^H{mypragma}, undef, "Shouldn't be in %^H yet");
17}
18
19is(mypragma::in_effect(), undef, "pragma not in effect yet");
20{
21    is(mypragma::in_effect(), undef, "pragma not in effect yet");
22    eval qq{is(mypragma::in_effect(), undef, "pragma not in effect yet"); 1}
23	or die $@;
24
25    use mypragma;
26    use Sans_mypragma;
27    is(mypragma::in_effect(), 42, "pragma is in effect within this block");
28    is(Sans_mypragma::affected(), undef,
29	"pragma not in effect outside this file");
30    eval qq{is(mypragma::in_effect(), 42,
31	       "pragma is in effect within this eval"); 1} or die $@;
32
33    {
34      no mypragma;
35      is(mypragma::in_effect(), 0, "pragma no longer in effect");
36      eval qq{is(mypragma::in_effect(), 0, "pragma no longer in effect"); 1}
37	or die $@;
38    }
39
40    is(mypragma::in_effect(), 42, "pragma is in effect within this block");
41    eval qq{is(mypragma::in_effect(), 42,
42	       "pragma is in effect within this eval"); 1} or die $@;
43}
44is(mypragma::in_effect(), undef, "pragma no longer in effect");
45eval qq{is(mypragma::in_effect(), undef, "pragma not in effect"); 1} or die $@;
46
47
48BEGIN {
49   is($^H{mypragma}, undef, "Should no longer be in %^H");
50}
51