aboutsummaryrefslogtreecommitdiff
path: root/src/test/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-07-03 19:56:31 +0100
committerMichael Williamson <mike@zwobble.org>2023-07-03 19:56:31 +0100
commit777935c03a692b9f21f73b6a5fd3a49f49572374 (patch)
tree63fa562fff587704f847e15f7e8c8d11e949bd1e /src/test/java
parent083185a1acd954b4876ccb1af275aaf09239fa74 (diff)
Parse val as namespace statement
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/org/shedlang/compiler/ast/untyped/UntypedNodeMatchers.java2
-rw-r--r--src/test/java/org/shedlang/compiler/parser/ParserValTests.java12
2 files changed, 13 insertions, 1 deletions
diff --git a/src/test/java/org/shedlang/compiler/ast/untyped/UntypedNodeMatchers.java b/src/test/java/org/shedlang/compiler/ast/untyped/UntypedNodeMatchers.java
index aeee9df1..a848b601 100644
--- a/src/test/java/org/shedlang/compiler/ast/untyped/UntypedNodeMatchers.java
+++ b/src/test/java/org/shedlang/compiler/ast/untyped/UntypedNodeMatchers.java
@@ -77,7 +77,7 @@ public class UntypedNodeMatchers {
);
}
- public static Matcher<UntypedFunctionStatementNode> isUntypedValNode(
+ public static Matcher<UntypedNode> isUntypedValNode(
Matcher<UntypedTargetNode> target,
Matcher<UntypedExpressionNode> expression
) {
diff --git a/src/test/java/org/shedlang/compiler/parser/ParserValTests.java b/src/test/java/org/shedlang/compiler/parser/ParserValTests.java
index 99b07e54..00d2ef62 100644
--- a/src/test/java/org/shedlang/compiler/parser/ParserValTests.java
+++ b/src/test/java/org/shedlang/compiler/parser/ParserValTests.java
@@ -18,4 +18,16 @@ public class ParserValTests {
isUntypedReferenceNode("y")
));
}
+
+ @Test
+ public void canParseValAsNamespaceStatement() {
+ var source = "val x = y;";
+
+ var node = parseString(source, Parser::parseNamespaceStatement);
+
+ assertThat(node, isUntypedValNode(
+ isUntypedTargetVariableNode("x"),
+ isUntypedReferenceNode("y")
+ ));
+ }
}