diff options
| author | Michael Williamson <mike@zwobble.org> | 2023-06-25 09:28:58 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2023-06-25 09:28:58 +0100 |
| commit | 1c085ab26815a2f61ae822f54925090f836a04e4 (patch) | |
| tree | 93760ad2f046282a59502d26008a476a5f6bfd7b /src/test/java | |
| parent | 936ac762b46f52b2cb03f386c48cb85567ea89c7 (diff) | |
WASM binary format: support element segments
Diffstat (limited to 'src/test/java')
| -rw-r--r-- | src/test/java/org/shedlang/compiler/backends/wasm/structure/WasmBinaryFormatModuleTests.java | 38 |
1 files changed, 38 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 7cf142a4..4c26a55c 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,44 @@ public class WasmBinaryFormatModuleTests { snapshotter.assertSnapshot(result); } + @Test + public void canSerializeModuleWithElementSegments(Snapshotter snapshotter) throws IOException, InterruptedException { + var module = WasmModule.EMPTY + .addFunction(new WasmFunction( + "f1", + List.of(), + List.of(), + List.of(), + new WasmExpression(List.of()) + )) + .addFunction(new WasmFunction( + "f2", + List.of(), + List.of(), + List.of(), + new WasmExpression(List.of()) + )) + .addFunction(new WasmFunction( + "f3", + List.of(), + List.of(), + List.of(), + new WasmExpression(List.of()) + )) + .addTable(new WasmTable(new WasmTableType( + WasmReferenceType.FUNC_REF, + WasmLimits.min(1) + ))) + .addElementSegment(WasmElementSegment.funcIndicesActive(List.of( + new WasmFuncIndex(0), + new WasmFuncIndex(2) + ))); + + 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"); |
