From: Vincent Pit Date: Thu, 5 Mar 2009 23:11:53 +0000 (+0100) Subject: Test hooking declarations inside the 'as' callback X-Git-Tag: v0.04~12 X-Git-Url: http://git.vpit.fr/?p=perl%2Fmodules%2FLexical-Types.git;a=commitdiff_plain;h=734804692468efc6c22d7faacb206d986f0a355d Test hooking declarations inside the 'as' callback --- diff --git a/t/13-padsv.t b/t/13-padsv.t index e5409bc..5e5cc3d 100644 --- a/t/13-padsv.t +++ b/t/13-padsv.t @@ -3,7 +3,7 @@ use strict; use warnings; -use Test::More tests => 3; +use Test::More tests => 4; sub Str::TYPEDSCALAR { my $buf = (caller(0))[2]; @@ -25,3 +25,20 @@ sub Str::TYPEDSCALAR { my $z = 7; is $z, 7, 'trick for others'; } + +my @lines; + +sub Int::TYPEDSCALAR { push @lines, (caller(0))[2]; () } + +{ + use Lexical::Types as => sub { + # In 5.10, this closure is compiled before hints are enabled, so no hintseval + # op is added at compile time to propagate the hints inside the eval. + # That's why we need to re-use Lexical::Types explicitely. + eval 'use Lexical::Types; my Int $x'; + @_; + }; + + my Int $x; + is_deeply \@lines, [ 1, __LINE__-1 ], 'hooking inside the \'as\' callback'; +}