diff options
| author | Michael Williamson <mike@zwobble.org> | 2023-10-31 18:49:10 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2023-10-31 18:49:10 +0000 |
| commit | 375a1bfb7fbc08a55bde8866a3f67fc6e460c808 (patch) | |
| tree | dd89540f93fbc26fc844e4ad17092d8b1a8985ce /src/test/java/org/shedlang/compiler/parser | |
| parent | 341a88406bd0b1d83dcfb922ecdc877e30bb1eca (diff) | |
Parse empty effect definitions
Diffstat (limited to 'src/test/java/org/shedlang/compiler/parser')
| -rw-r--r-- | src/test/java/org/shedlang/compiler/parser/ParserEffectDefinitionTests.java | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/test/java/org/shedlang/compiler/parser/ParserEffectDefinitionTests.java b/src/test/java/org/shedlang/compiler/parser/ParserEffectDefinitionTests.java new file mode 100644 index 00000000..e697c542 --- /dev/null +++ b/src/test/java/org/shedlang/compiler/parser/ParserEffectDefinitionTests.java @@ -0,0 +1,24 @@ +package org.shedlang.compiler.parser; + +import org.junit.jupiter.api.Test; + +import static org.shedlang.compiler.ast.untyped.UntypedNodeMatchers.isUntypedEffectDefinitionNode; +import static org.shedlang.compiler.parser.ParserTesting.parseString; +import static org.zwobble.precisely.AssertThat.assertThat; + +public class ParserEffectDefinitionTests { + @Test + public void canParseEffectWithNoFunctions() { + var source = """ + effect State { + }"""; + + var node = parseString(source, Parser::parseNamespaceStatement); + + assertThat( + node, + isUntypedEffectDefinitionNode() + .withName("State") + ); + } +} |
