]> git.vpit.fr Git - perl/modules/Lexical-Types.git/commitdiff
Test hooking declarations inside the 'as' callback
authorVincent Pit <vince@profvince.com>
Thu, 5 Mar 2009 23:11:53 +0000 (00:11 +0100)
committerVincent Pit <vince@profvince.com>
Thu, 5 Mar 2009 23:11:53 +0000 (00:11 +0100)
t/13-padsv.t

index e5409bc5ca446f73c728ceae03fb8315c85977de..5e5cc3d32d49f8e00c6732ed6fa18630131c91e6 100644 (file)
@@ -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';
+}