diff options
| author | Michael Williamson <mike@zwobble.org> | 2023-12-02 23:48:28 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2023-12-02 23:48:28 +0000 |
| commit | 6b0e8c55ad423aef60720ee4b3bb455de74f25f3 (patch) | |
| tree | 4a6b2da3b66c8201507e11fdeaab39d76f261821 /src/test/java/org/shedlang/compiler/parser | |
| parent | 0e4ddd473e1ad411005dcedd0af2049e8128c3d3 (diff) | |
Parse break statements
Diffstat (limited to 'src/test/java/org/shedlang/compiler/parser')
| -rw-r--r-- | src/test/java/org/shedlang/compiler/parser/ParserBreakTests.java | 31 | ||||
| -rw-r--r-- | src/test/java/org/shedlang/compiler/parser/ParserResumeTests.java | 2 |
2 files changed, 32 insertions, 1 deletions
diff --git a/src/test/java/org/shedlang/compiler/parser/ParserBreakTests.java b/src/test/java/org/shedlang/compiler/parser/ParserBreakTests.java new file mode 100644 index 00000000..53031e21 --- /dev/null +++ b/src/test/java/org/shedlang/compiler/parser/ParserBreakTests.java @@ -0,0 +1,31 @@ +package org.shedlang.compiler.parser; + +import org.junit.jupiter.api.Test; + +import static org.shedlang.compiler.ast.untyped.UntypedNodeMatchers.*; +import static org.shedlang.compiler.parser.ParserTesting.parseString; +import static org.zwobble.precisely.AssertThat.assertThat; +import static org.zwobble.precisely.Matchers.isOptionalEmpty; +import static org.zwobble.precisely.Matchers.isOptionalOf; + +public class ParserBreakTests { + @Test + public void canParseBreakWithExpression() { + var source = "break x;"; + + var node = parseString(source, Parser::parseFunctionStatement); + + assertThat(node, isUntypedBreakNode(isOptionalOf( + isUntypedReferenceNode("x")) + )); + } + + @Test + public void canParseBreakWithoutExpression() { + var source = "break;"; + + var node = parseString(source, Parser::parseFunctionStatement); + + assertThat(node, isUntypedBreakNode(isOptionalEmpty())); + } +} diff --git a/src/test/java/org/shedlang/compiler/parser/ParserResumeTests.java b/src/test/java/org/shedlang/compiler/parser/ParserResumeTests.java index 8e134656..876cf5a7 100644 --- a/src/test/java/org/shedlang/compiler/parser/ParserResumeTests.java +++ b/src/test/java/org/shedlang/compiler/parser/ParserResumeTests.java @@ -8,7 +8,7 @@ import static org.zwobble.precisely.AssertThat.assertThat; import static org.zwobble.precisely.Matchers.isOptionalEmpty; import static org.zwobble.precisely.Matchers.isOptionalOf; -public class ParserFunctionResumeTests { +public class ParserResumeTests { @Test public void canParseResumeWithExpression() { var source = "resume x;"; |
