diff --git a/t/nqp/20-return.t b/t/nqp/20-return.t new file mode 100644 index 0000000..1caffb2 --- /dev/null +++ b/t/nqp/20-return.t @@ -0,0 +1,23 @@ +#! nqp + +# implicit and explicit returns from subs + +plan(3); + +sub foo() { 1; } + + +sub bar() { + return 2; + 0; +} + +sub baz() { + if (1) { return 3; } + 0; +} + +ok( foo() == 1 , 'last value in block' ); +ok( bar() == 2 , 'explicit return value in block'); +ok( baz() == 3 , 'explicit return from nested block'); + diff --git a/t/nqp/48-closure.t b/t/nqp/48-closure.t new file mode 100644 index 0000000..0038035 --- /dev/null +++ b/t/nqp/48-closure.t @@ -0,0 +1,14 @@ +#! nqp + +plan(2); + +sub A($a) { + return { $a * 2 }; +} + +my $x := A(3); +my $y := A(5); + +ok( $y() == 10, "second closure correct" ); +ok( $x() == 6, "first closure correct" ); +