aboutsummaryrefslogtreecommitdiff
path: root/src/test/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2025-01-17 22:42:19 +0000
committerMichael Williamson <mike@zwobble.org>2025-01-17 22:42:19 +0000
commit7c5489a16401738969f87bd1a5d89d0e1e736f99 (patch)
treeff325db6c820f1730623489a821c1b7a0a81baa1 /src/test/java
parent519f9c3b940f4dbdde6ecf7861db9102ed43b8eb (diff)
Include namespace name in ShidDeclareNativeFunction
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/org/shedlang/compiler/shid/ShidCodeGenNativeFunctionDeclarationTests.java10
-rw-r--r--src/test/java/org/shedlang/compiler/shid/ShidSerializerTests.java2
2 files changed, 12 insertions, 0 deletions
diff --git a/src/test/java/org/shedlang/compiler/shid/ShidCodeGenNativeFunctionDeclarationTests.java b/src/test/java/org/shedlang/compiler/shid/ShidCodeGenNativeFunctionDeclarationTests.java
index 90304a57..b47a9464 100644
--- a/src/test/java/org/shedlang/compiler/shid/ShidCodeGenNativeFunctionDeclarationTests.java
+++ b/src/test/java/org/shedlang/compiler/shid/ShidCodeGenNativeFunctionDeclarationTests.java
@@ -3,6 +3,10 @@ package org.shedlang.compiler.shid;
import org.junit.jupiter.api.Test;
import org.shedlang.compiler.ast.typed.TypedNativeFunctionDeclarationNode;
import org.shedlang.compiler.shid.instructions.ShidDeclareNativeFunction;
+import org.shedlang.compiler.sources.Sources;
+import org.shedlang.compiler.types.NamespaceName;
+
+import java.util.List;
import static org.shedlang.compiler.shid.instructions.ShidMatchers.isShidLocalStore;
import static org.zwobble.precisely.AssertThat.assertThat;
@@ -15,6 +19,11 @@ public class ShidCodeGenNativeFunctionDeclarationTests {
.withName("f")
.build();
var context = ShidCodeGen.Context.EMPTY
+ .enterBlock(
+ NamespaceName.of("Example", "Project"),
+ List.of(),
+ Sources.NULL
+ )
.addShedVal("f");
var result = ShidCodeGen.compileNamespaceStatement(node, context);
@@ -22,6 +31,7 @@ public class ShidCodeGenNativeFunctionDeclarationTests {
assertThat(result.instructions(), isSequence(
instanceOf(
ShidDeclareNativeFunction.class,
+ has("namespaceName", x -> x.namespaceName(), equalTo(NamespaceName.of("Example", "Project"))),
has("name", x -> x.name(), equalTo("f"))
),
isShidLocalStore("f__0")
diff --git a/src/test/java/org/shedlang/compiler/shid/ShidSerializerTests.java b/src/test/java/org/shedlang/compiler/shid/ShidSerializerTests.java
index aebb2f1b..ec448200 100644
--- a/src/test/java/org/shedlang/compiler/shid/ShidSerializerTests.java
+++ b/src/test/java/org/shedlang/compiler/shid/ShidSerializerTests.java
@@ -45,6 +45,7 @@ public class ShidSerializerTests {
@Test
public void canSerializeDeclareNativeFunction() {
var instruction = ShidDeclareNativeFunction.builder()
+ .withNamespaceName(NamespaceName.of("Example", "Project"))
.withName("f")
.build();
@@ -53,6 +54,7 @@ public class ShidSerializerTests {
assertThat(string, equalTo("""
(
declare-native-function
+ namespace-name="Example/Project"
name="f"
)"""));
}