X-Git-Url: http://git.vpit.fr/?p=perl%2Fmodules%2FSub-Prototype-Util.git;a=blobdiff_plain;f=t%2F11-recall.t;h=0c48dbb5cce5ef92a6f2d5b6a213fee82e08c9ea;hp=492594615e7b137b5810d022dc5c562f5eacea2c;hb=28776527078c17a920f14823ef039503f08dc4d7;hpb=60e38805350346d06fe27a7dee61932e0da22413 diff --git a/t/11-recall.t b/t/11-recall.t index 4925946..0c48dbb 100644 --- a/t/11-recall.t +++ b/t/11-recall.t @@ -3,7 +3,7 @@ use strict; use warnings; -use Test::More tests => 3 + 12 + (($^V ge v5.10.0) ? 4 : 0); +use Test::More tests => 3 + 14 + (($^V ge v5.10.0) ? 4 : 0); use Scalar::Util qw/set_prototype/; use Sub::Prototype::Util qw/recall/; @@ -16,11 +16,14 @@ eval { recall 'hlagh' }; like($@, qr/^Undefined\s+subroutine/, 'recall croaks'); sub noproto { $_[1], $_[0] } -sub mytrunc ($;$) { $_[1], $_[0] }; -sub mygrep1 (&@) { grep { $_[0]->() } @_[1 .. $#_] }; -sub mygrep2 (\&@) { grep { $_[0]->() } @_[1 .. $#_] }; +sub mytrunc ($;$) { $_[1], $_[0] } +sub mygrep1 (&@) { grep { $_[0]->() } @_[1 .. $#_] } +sub mygrep2 (\&@) { grep { $_[0]->() } @_[1 .. $#_] } +sub modify ($) { my $old = $_[0]; $_[0] = 5; $old } + my $t = [ 1, 2, 3, 4 ]; my $g = [ sub { $_ > 2 }, 1 .. 5 ]; + my @tests = ( [ 'main::noproto', 'no prototype', $t, $t, [ 2, 1 ] ], [ 'CORE::push', 'push', [ [ 1, 2 ], 3, 5 ], [ [ 1, 2, 3, 5 ], 3, 5 ], [ 4 ] ], @@ -28,7 +31,9 @@ my @tests = ( [ 'main::mytrunc', 'truncate 2', $t, $t, [ 2, 1 ] ], [ 'main::mygrep1', 'grep1', $g, $g, [ 3 .. 5 ] ], [ 'main::mygrep2', 'grep2', $g, $g, [ 3 .. 5 ] ], + [ 'main::modify', 'modify arguments', [ 1 ], [ 5 ], [ 1 ] ], ); + sub myit { push @{$_[0]->[2]}, 3; return 4 }; if ($^V ge v5.10.0) { set_prototype \&myit, '_';