This is an automatically generated mail to inform you that tests are now available in t/spec/S06-advanced_subroutine_features/wrap.t
commit 6e6fb2879cc18f9ecd5afda7b8ee4dd0bb016937 Author: kyle <k...@c213334d-75ef-0310-aa23-eaa082d1ae64> Date: Tue Nov 17 16:09:39 2009 +0000 [t/spec] Test for RT 66658: .wrap gets lexicals confused git-svn-id: http://svn.pugscode.org/p...@29109 c213334d-75ef-0310-aa23-eaa082d1ae64 diff --git a/t/spec/S06-advanced_subroutine_features/wrap.t b/t/spec/S06-advanced_subroutine_features/wrap.t index 9ab0ae5..613f42d 100644 --- a/t/spec/S06-advanced_subroutine_features/wrap.t +++ b/t/spec/S06-advanced_subroutine_features/wrap.t @@ -169,6 +169,30 @@ is( functionA(), "xz", "First wrapper and final function only, middle removed." #?rakudo todo 'RT 70267: call to nextsame with nowhere to go' dies_ok { {nextsame}() }, '{nextsame}() dies properly'; +# RT #66658 +{ + sub meet( $person ) { return "meet $person" } + sub greet( $person ) { return "greet $person" } + + my $wrapped; + + for &greet, &meet -> $wrap { + my $name = $wrap.name; + $wrap.wrap({ $wrapped = $name; callsame; }); + } + + ok ! $wrapped.defined, 'wrapper test variable is undefined'; + is greet('japhb'), 'greet japhb', 'wrapped greet() works'; + #?rakudo todo 'RT 66658: .wrap gets lexicals confused' + is $wrapped, 'greet', 'wrapper sees lexical from time of wrap (greet)'; + + undefine $wrapped; + + ok ! $wrapped.defined, 'wrapper test variable is undefined'; + is meet('masak'), 'meet masak', 'wrapped meet() works'; + is $wrapped, 'meet', 'wrapper sees lexical from time of wrap (meet)'; +} + done_testing; # vim: ft=perl6