From 562f7d9e1d798b0e0d8e83c620690df082fc5139 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Wed, 5 Jul 2023 21:31:37 +0100 Subject: Check params can have trailing comma --- .../parser/ParserFunctionDefinitionTests.java | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src/test/java') 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 @@ -146,6 +146,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 = """ -- cgit v1.2.3