diff options
| author | Michael Williamson <mike@zwobble.org> | 2023-07-05 21:31:37 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2023-07-05 21:32:09 +0100 |
| commit | 562f7d9e1d798b0e0d8e83c620690df082fc5139 (patch) | |
| tree | 6cd954cd7193beb902b32aed2ff41b11f07f685e /src/test/java | |
| parent | f497e7f884856ca91f3697886db559af070a92ba (diff) | |
Check params can have trailing comma
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 { |
