Permalink
Browse files

[t] move splatty_in_caller_position.t to spec/; cleanup

git-svn-id: http://svn.pugscode.org/pugs@26209 c213334d-75ef-0310-aa23-eaa082d1ae64
  • Loading branch information...
1 parent 9a6f340 commit b8fa54500419afbdee2a8a25d43b048daebc50e7 moritz committed Apr 14, 2009
Showing with 29 additions and 0 deletions.
  1. +29 −0 S06-signature/slurpy-and-interplation.t
View
29 S06-signature/slurpy-and-interplation.t
@@ -0,0 +1,29 @@
+use v6;
+
+use Test;
+
+plan 4;
+
+# L<S03/Argument List Interpolating/"interpolate">
+
+# try to flatten the args for baz() to match
+
+sub baz ($a, $b) { return "a: $a b: $b"}
+sub invoke (*@args) { baz(|@args) }
+
+my $val;
+lives_ok {
+ $val = invoke(1, 2);
+}, '... slurpy args flattening and matching parameters';
+
+is($val, 'a: 1 b: 2', '... slurpy args flattening and matching parameters');
+
+# try to flatten the args for the anon sub to match
+
+sub invoke2 ($f, *@args) { $f(|@args) };
+is(invoke2(sub ($a, $b) { return "a: $a b: $b"}, 1, 2), 'a: 1 b: 2',
+ '... slurpy args flattening and matching parameters');
+
+dies_ok {
+ invoke2(sub ($a, $b) { return "a: $a b: $b"}, 1, 2, 3);
+}, '... slurpy args flattening and not matching because of too many parameters';

0 comments on commit b8fa545

Please sign in to comment.