From: Vincent Pit Date: Tue, 5 Jul 2011 22:54:14 +0000 (+0200) Subject: Test interaction with eval STRING X-Git-Tag: v0.24~5 X-Git-Url: http://git.vpit.fr/?p=perl%2Fmodules%2Findirect.git;a=commitdiff_plain;h=485841aab90380ffecbe0f217eb234a64f69bb25 Test interaction with eval STRING --- diff --git a/t/30-scope.t b/t/30-scope.t index e83819d..afb0e40 100644 --- a/t/30-scope.t +++ b/t/30-scope.t @@ -6,7 +6,7 @@ use warnings; my $tests; BEGIN { $tests = 18 } -use Test::More tests => (1 + $tests + 1) + 3 + 3 + 3 + 5 + 4 + 5; +use Test::More tests => (1 + $tests + 1) + 2 + 3 + 3 + 3 + 5 + 4 + 5; BEGIN { delete $ENV{PERL_INDIRECT_PM_DISABLE} } @@ -83,6 +83,20 @@ sub expect { } } +SKIP: { + skip 'The pragma doesn\'t propagte into eval STRING before perl 5.10' => 2 + if $] < 5.009005; + my @w; + my $test = sub { eval 'return; new XYZ' }; + { + local $SIG{__WARN__} = sub { push @w, join '', 'warn:', @_ }; + eval 'return; no indirect; BEGIN { $test->() }'; + } + is $@, '', 'eval test doesn\'t croak prematurely'; + is @w, 0, 'eval did not throw a warning'; + diag join "\n", 'All warnings:', @w if @w; +} + { my @w; {