aboutsummaryrefslogtreecommitdiff
path: root/src/test/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-06-24 18:47:09 +0100
committerMichael Williamson <mike@zwobble.org>2023-06-24 18:47:09 +0100
commit978d93cccaa4d69bcd1810b46a30606d514e870f (patch)
tree586da0b3b9063770feca8c6c1e95c9266fc050b4 /src/test/java
parent56a992c96740b647b7f6feb40ce0204aec0ff2c4 (diff)
WASM binary format: support global imports
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/org/shedlang/compiler/backends/wasm/structure/WasmBinaryFormatModuleTests.java25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/test/java/org/shedlang/compiler/backends/wasm/structure/WasmBinaryFormatModuleTests.java b/src/test/java/org/shedlang/compiler/backends/wasm/structure/WasmBinaryFormatModuleTests.java
index b3652f98..8f197b2a 100644
--- a/src/test/java/org/shedlang/compiler/backends/wasm/structure/WasmBinaryFormatModuleTests.java
+++ b/src/test/java/org/shedlang/compiler/backends/wasm/structure/WasmBinaryFormatModuleTests.java
@@ -103,6 +103,31 @@ public class WasmBinaryFormatModuleTests {
snapshotter.assertSnapshot(result);
}
+ @Test
+ public void canSerializeModuleWithGlobalImports(Snapshotter snapshotter) throws IOException, InterruptedException {
+ var module = WasmModule.EMPTY
+ .addImport(new WasmImport(
+ "ModuleName1",
+ "EntityName1",
+ new WasmImportDescriptor.Global(new WasmGlobalType(
+ WasmValueType.I32,
+ WasmMutability.MUTABLE
+ ))
+ ))
+ .addImport(new WasmImport(
+ "ModuleName2",
+ "EntityName2",
+ new WasmImportDescriptor.Global(new WasmGlobalType(
+ WasmValueType.I64,
+ WasmMutability.IMMUTABLE
+ ))
+ ));
+
+ var result = serializeModule(module);
+
+ snapshotter.assertSnapshot(result);
+ }
+
private String serializeModule(WasmModule module) throws IOException, InterruptedException {
Files.createDirectories(Path.of("tests-tmp"));
var temporaryDirectory = Files.createTempDirectory(Path.of("tests-tmp"), "WasmBinaryFormat");