use blib 't/Sub-Op-LexicalSub';
-use Test::More tests => 2 * ((2 + 2) * 4 + (1 + 2) * 5) + 2 * (2 + 2) + 4;
+use Test::More tests => 2 * ((2 + 2) * 4 + (1 + 2) * 5) + 2 * (2 + 2) + 4 + 4;
our $call_foo;
sub foo { ok $call_foo, 'the preexistent foo was called' }
our $call_blech;
sub blech { ok $call_blech, 'initial blech was called' };
+our $wat_args;
+sub wat { is_deeply \@_, $wat_args, 'wat was called with the right arguments' }
+
our $called;
{
}
}
+{
+ eval <<' TEST';
+ use Sub::Op::LexicalSub what => \&wat;
+ local $wat_args = [ 1 ];
+ what 1;
+ local $wat_args = [ 2, 3 ];
+ what 2, 3;
+ local $wat_args = [ 4, 5 ];
+ sub {
+ what $_[0], 5;
+ }->(4);
+ TEST
+ is $@, '', 'what: no errors';
+}
+
is prototype('main::foo'), undef, "foo's prototype was preserved";
is prototype('main::bar'), '', "bar's prototype was preserved";
is prototype('main::X'), '', "X's prototype was preserved";