X-Git-Url: http://git.vpit.fr/?p=perl%2Fmodules%2FSub-Nary.git;a=blobdiff_plain;f=t%2F22-call.t;h=f6fe4e6faa623eff7e13a43674a7cdc43e7461b2;hp=fdd3812fcdfac933dafba9e12f01de1c75e2d5e3;hb=HEAD;hpb=1f19bf4c8d416851e583ef834e7ab605c2e2af32 diff --git a/t/22-call.t b/t/22-call.t index fdd3812..f6fe4e6 100644 --- a/t/22-call.t +++ b/t/22-call.t @@ -3,12 +3,14 @@ use strict; use warnings; -use Test::More tests => 41; +use Test::More tests => 43; use Sub::Nary; my $sn = Sub::Nary->new(); +my $x; + sub CORE::GLOBAL::reset { return 1, 2, 3 } @@ -24,6 +26,8 @@ sub rec1 { rec2(); } sub rec2 { rec1(); } my @tests = ( + [ sub { hlaghlaghlagh() }, 'list' ], + [ sub { zero }, 0 ], [ sub { one }, 1 ], [ sub { two }, 2 ], @@ -36,8 +40,9 @@ my @tests = ( [ sub { do { one, do { two } } }, 3 ], [ sub { do { lots, do { one } } }, 'list' ], - [ sub { 1, return two, do { 4 } }, 3 ], - [ sub { two 1, return 2 }, 1 ], + [ sub { 1, return two, do { 4 } }, 3 ], + [ sub { two 1, return 2 }, 1 ], + [ sub { two 1, do { return 5 if $x; 3 } }, { 1 => 0.5, 2 => 0.5 } ], [ sub { 1, one(), 2 }, 3 ], [ sub { 1, one(), @_ }, 'list' ], @@ -80,6 +85,7 @@ my @tests = ( my $i = 1; for (@tests) { my $r = $sn->nary($_->[0]); - is_deeply($r, { $_->[1] => 1 }, 'call test ' . $i); + my $exp = ref $_->[1] ? $_->[1] : { $_->[1] => 1 }; + is_deeply($r, $exp, 'call test ' . $i); ++$i; }