X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=t%2F30-scope.t;h=857a7809ce1bf7480ecd627f62624e4a94476e72;hb=4ccff394a949fe8d99359c5ea6d154f85191f731;hp=2e951cfe6bc14615aaf2b3f8e7b10716842125e2;hpb=54c73ca86bbd7cbe8f2ddec71bb74571b4675ef7;p=perl%2Fmodules%2Fautovivification.git diff --git a/t/30-scope.t b/t/30-scope.t index 2e951cf..857a780 100644 --- a/t/30-scope.t +++ b/t/30-scope.t @@ -3,10 +3,25 @@ use strict; use warnings; -use Test::More tests => 4; +use Test::More tests => 8; use lib 't/lib'; +{ + my @w; + my $x; + my $res = eval { + local $SIG{__WARN__} = sub { push @w, join '', 'warn:', @_ }; + no autovivification qw/warn fetch/; + $x->{a}; + }; + is @w, 1, 'warned only once'; + like $w[0], qr/^warn:Reference was vivified at \Q$0\E line ${\(__LINE__-3)}/, + 'warning looks correct'; + is_deeply $x, undef, 'didn\'t vivified'; + is $res, undef, 'returned undef'; +} + our $blurp; { @@ -26,4 +41,3 @@ our $blurp; $expect->{r2_eval} = { } if $] < 5.009005; is_deeply $blurp, $expect, 'second require test didn\'t vivify'; } -