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