use strict;
use warnings;
-use Test::More tests => 47;
+use Test::More tests => 50;
use Sub::Nary;
[ sub { return @h{qw/a b/} }, 2 ],
[ sub { return @h{@a[1 .. 3]} }, 3 ],
[ sub { return @h{@a[$y .. 3]} }, 'list' ],
+ [ sub { return keys %h }, 'list' ],
+ [ sub { return values %h }, 'list' ],
[ sub { return $x, $a[3], $h{c} }, 3 ],
[ sub { return $x, @a }, 'list' ],
[ sub { return 1, eval { $x, eval { $h{foo} } } }, 3 ],
[ sub { return eval { return $x, eval { $y } } }, 2 ],
[ sub { return eval { do { eval { @a } } } }, 'list' ],
+
+ [ sub { eval 'return 1, 2' }, 'list' ],
);
my $i = 1;
for (@tests) {
my $r = $sn->nary($_->[0]);
- is_deeply($r, { $_->[1] => 1 }, 'return test ' . $i);
+ my $exp = ref $_->[1] ? $_->[1] : { $_->[1] => 1 };
+ is_deeply($r, $exp, 'return test ' . $i);
++$i;
}