diff options
Diffstat (limited to 'src/test/java')
| -rw-r--r-- | src/test/java/org/shedlang/compiler/parser/ParserFunctionDefinitionTests.java | 20 |
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 { |
