6 use Test::More tests => 28;
10 my $sn = Sub::Nary->new();
17 [ sub { (1, 2, 3)[2 .. 1] }, 0 ],
21 [ sub { my $x = 1; $x = 2; 3, 4, 5; }, 3 ],
22 [ sub { do { 1; 2, 3 } }, 2 ],
23 [ sub { do { 1; 2, do { 3, do { 4 } } } }, 3 ],
26 [ sub { $x, $y }, 2 ],
28 [ sub { @a }, 'list' ],
30 [ sub { @a[1, 2] }, 2 ],
31 [ sub { @a[2 .. 4] }, 3 ],
33 [ sub { %h }, 'list' ],
35 [ sub { @h{qw/a b/} }, 2 ],
37 [ sub { $x, $a[3], $h{c} }, 3 ],
38 [ sub { $x, @a }, 'list' ],
39 [ sub { %h, $y }, 'list' ],
41 [ sub { 1 .. 3 }, 'list' ],
42 [ sub { my @a = (1 .. 4) }, 4 ],
44 [ sub { "banana" =~ /(a)/g }, 'list' ],
46 [ sub { (localtime)[0, 1, 2] }, 3 ],
48 [ sub { for (1, 2, 3) { } }, 0 ],
49 [ sub { for (1, 2, 3) { 1; } 1, 2 }, 2 ],
51 [ sub { while (1) { } }, 0 ],
52 [ sub { while (1) { 1; } 1, 2 }, 2 ],
57 my $r = $sn->nary($_->[0]);
58 is_deeply($r, { $_->[1] => 1 }, 'list test ' . $i);