aboutsummaryrefslogtreecommitdiff
path: root/src/test/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-07-05 21:31:37 +0100
committerMichael Williamson <mike@zwobble.org>2023-07-05 21:32:09 +0100
commit562f7d9e1d798b0e0d8e83c620690df082fc5139 (patch)
tree6cd954cd7193beb902b32aed2ff41b11f07f685e /src/test/java
parentf497e7f884856ca91f3697886db559af070a92ba (diff)
Check params can have trailing comma
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/org/shedlang/compiler/parser/ParserFunctionDefinitionTests.java20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/test/java/org/shedlang/compiler/parser/ParserFunctionDefinitionTests.java b/src/test/java/org/shedlang/compiler/parser/ParserFunctionDefinitionTests.java
index 607a06bf..c9961426 100644
--- a/src/test/java/org/shedlang/compiler/parser/ParserFunctionDefinitionTests.java
+++ b/src/test/java/org/shedlang/compiler/parser/ParserFunctionDefinitionTests.java
@@ -147,6 +147,26 @@ public class ParserFunctionDefinitionTests {
}
@Test
+ public void paramsCanHaveTrailingComma() {
+ var source = """
+ fun f(a: Int, ) -> Unit {
+ }""";
+
+ var node = parseString(source, Parser::parseNamespaceStatement);
+
+ assertThat(
+ node,
+ isUntypedFunctionDefinitionNode()
+ .withParams(isUntypedParamsNode(
+ isSequence(
+ isUntypedParamNode("a", isUntypedTypeLevelReferenceNode("Int"))
+ ),
+ isSequence()
+ ))
+ );
+ }
+
+ @Test
public void canParseFunctionWithEffect() {
var source = """
fun f() ! Io -> Unit {