use strict;
use warnings;
-use Test::More tests => 27;
+use Test::More tests => 39;
use Sub::Nary;
[ sub { 1 .. 3 }, 'list' ],
[ sub { my @a = (1 .. 4) }, 4 ],
+ [ sub { "banana" =~ /(a)/g }, 'list' ],
+
[ sub { (localtime)[0, 1, 2] }, 3 ],
[ sub { for (1, 2, 3) { } }, 0 ],
[ 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' ],
+
+ [ sub { <$x> }, 'list' ],
+
+ [ sub { -f $0, -r $0 }, 2 ],
+
+ [ sub { stat $0 }, 13 ],
+ [ sub { caller 0 }, sub { my @a = caller 0; scalar @a }->() ],
+ [ sub { localtime }, do { my @a = localtime; scalar @a } ],
);
my $i = 1;