This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
install useful Regexp::CARP_TRACE from Carp
[perl5.git] / dist / Carp / t / vivify_stash.t
1 BEGIN { print "1..5\n"; }
2
3 our $has_utf8; BEGIN { $has_utf8 = exists($::{"utf8::"}); }
4 our $has_overload; BEGIN { $has_overload = exists($::{"overload::"}); }
5 our $has_B; BEGIN { $has_B = exists($::{"B::"}); }
6
7 use Carp;
8 sub { sub { Carp::longmess("x") }->() }->(\1, "\x{2603}", qr/\x{2603}/);
9
10 print !(exists($::{"utf8::"}) xor $has_utf8) ? "" : "not ", "ok 1\n";
11 print !(exists($::{"overload::"}) xor $has_overload) ? "" : "not ", "ok 2\n";
12 print !(exists($::{"B::"}) xor $has_B) ? "" : "not ", "ok 3\n";
13
14 # Autovivify $::{"overload::"}
15 () = \$::{"overload::"};
16 () = \$::{"utf8::"};
17 eval { sub { Carp::longmess() }->(\1) };
18 print $@ eq '' ? "ok 4\n" : "not ok 4\n# $@";
19
20 # overload:: glob without hash
21 undef *{"overload::"};
22 eval { sub { Carp::longmess() }->(\1) };
23 print $@ eq '' ? "ok 5\n" : "not ok 5\n# $@";
24
25 1;