From 978d93cccaa4d69bcd1810b46a30606d514e870f Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sat, 24 Jun 2023 18:47:09 +0100 Subject: WASM binary format: support global imports --- .../structure/WasmBinaryFormatModuleTests.java | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'src/test/java') 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"); -- cgit v1.2.3