X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=t%2F21-list.t;h=3acf6593eeb4a83aca744724fdbf8963d65bb5a3;hb=cab48037c2f684dd60d1860bdc2efa3d10d3e7a3;hp=71edefbdefb21cdf8c74049df2632aefda69e75f;hpb=1a31caf5f555fb5f0b63ac682c7ea4b542282186;p=perl%2Fmodules%2FSub-Nary.git diff --git a/t/21-list.t b/t/21-list.t index 71edefb..3acf659 100644 --- a/t/21-list.t +++ b/t/21-list.t @@ -3,7 +3,7 @@ use strict; use warnings; -use Test::More tests => 28; +use Test::More tests => 40; use Sub::Nary; @@ -33,13 +33,19 @@ my @tests = ( [ sub { %h }, 'list' ], [ sub { $h{a} }, 1 ], [ sub { @h{qw/a b/} }, 2 ], + [ sub { keys %h }, 'list' ], + [ sub { values %h }, 'list' ], [ sub { $x, $a[3], $h{c} }, 3 ], [ sub { $x, @a }, 'list' ], [ sub { %h, $y }, 'list' ], - [ sub { 1 .. 3 }, 'list' ], - [ sub { my @a = (1 .. 4) }, 4 ], + [ sub { 1 .. 3 }, 3 ], + [ sub { $x .. 3 }, 'list' ], + [ sub { 1 .. $x }, 'list' ], + [ sub { '2foo' .. 4 }, 3 ], + [ sub { my @a = (7, 8); @a .. 4 }, 'list' ], + [ sub { my @a = (1 .. 4) }, 4 ], [ sub { "banana" =~ /(a)/g }, 'list' ], @@ -50,11 +56,20 @@ my @tests = ( [ sub { while (1) { } }, 0 ], [ sub { while (1) { 1; } 1, 2 }, 2 ], + + [ sub { eval { } }, 0 ], + [ sub { eval { 1, 2 } }, 2 ], + [ sub { eval { }; $x, 2 }, 2 ], + [ sub { 1, eval { $x, eval { $h{foo} } } }, 3 ], + [ sub { eval { 1, do { eval { @a }, 2 } } }, 'list' ], + + [ sub { eval '1, 2' }, 'list' ], ); my $i = 1; for (@tests) { my $r = $sn->nary($_->[0]); - is_deeply($r, { $_->[1] => 1 }, 'list test ' . $i); + my $exp = ref $_->[1] ? $_->[1] : { $_->[1] => 1 }; + is_deeply($r, $exp, 'list test ' . $i); ++$i; }