From e139747e1593885bc90f2ae5427a6215475b76fd Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 25 Jun 2023 12:38:32 +0100 Subject: Support globals in WASM binary format --- .../wasm/structure/WasmBinaryFormatModuleTests.java | 17 +++++++++++++++++ 1 file changed, 17 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 4c26a55c..78054d23 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 @@ -212,6 +212,23 @@ public class WasmBinaryFormatModuleTests { snapshotter.assertSnapshot(result); } + @Test + public void canSerializeModuleWithGlobals(Snapshotter snapshotter) throws IOException, InterruptedException { + var module = WasmModule.EMPTY + .addGlobal(new WasmGlobal( + new WasmGlobalType(WasmValueType.I32, WasmMutability.MUTABLE), + new WasmExpression(List.of(new WasmI32Const(7))) + )) + .addGlobal(new WasmGlobal( + new WasmGlobalType(WasmValueType.I64, WasmMutability.IMMUTABLE), + new WasmExpression(List.of(new WasmI64Const(9))) + )); + + var result = serializeModule(module); + + snapshotter.assertSnapshot(result); + } + @Test public void canSerializeModuleWithElementSegments(Snapshotter snapshotter) throws IOException, InterruptedException { var module = WasmModule.EMPTY -- cgit v1.2.3