aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/lib/syntax
diff options
context:
space:
mode:
authorGravatar vladmos <vladmos@google.com>2018-04-05 03:03:46 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-04-05 03:05:04 -0700
commit0c148f361388369249b13cf5618a27873ac46bfb (patch)
tree5361326e0c348ef409fea90a5c91373bdfb4dfb1 /src/test/java/com/google/devtools/build/lib/syntax
parent832a0b193a9a098897781bc6298d0455b3913482 (diff)
Fix the definition of Argument in the Skylark specification
PiperOrigin-RevId: 191717115
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/syntax')
-rw-r--r--src/test/java/com/google/devtools/build/lib/syntax/BaseFunctionTest.java10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/syntax/BaseFunctionTest.java b/src/test/java/com/google/devtools/build/lib/syntax/BaseFunctionTest.java
index 575b03f662..8933ce6a05 100644
--- a/src/test/java/com/google/devtools/build/lib/syntax/BaseFunctionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/syntax/BaseFunctionTest.java
@@ -157,4 +157,14 @@ public class BaseFunctionTest extends EvaluationTestCase {
.isEqualTo("{\"name\": \"foo\", \"type\": \"jpg\", \"version\": 42}");
assertThat(Printer.repr(lookup("b2"))).isEqualTo("{}");
}
+
+ @Test
+ public void testCommaAfterArgsAndKwargs() throws Exception {
+ // Test that commas are not allowed in function definitions and calls
+ // after last *args or **kwargs expressions.
+ checkEvalErrorContains("syntax error at ')': expected identifier", "def foo(*args,): pass");
+ checkEvalErrorContains("unexpected tokens after kwarg", "def foo(**kwargs,): pass");
+ checkEvalErrorContains("syntax error at ')': expected expression", "foo(*args,)");
+ checkEvalErrorContains("unexpected tokens after kwarg", "foo(**kwargs,)");
+ }
}