diff options
| author | Michael Williamson <mike@zwobble.org> | 2023-06-24 19:45:54 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2023-06-24 19:45:54 +0100 |
| commit | 4ea7fb648b0c6f95e6383c34912aad411a43cdbf (patch) | |
| tree | 5b0a30c00773c528bb6ff861fdf16d6e5b34426f /src/test/java | |
| parent | 103534c8966b12fcb2f415487bd3b30d569ba09f (diff) | |
WASM binary format: support tables
Diffstat (limited to 'src/test/java')
| -rw-r--r-- | src/test/java/org/shedlang/compiler/backends/wasm/structure/WasmBinaryFormatModuleTests.java | 24 |
1 files changed, 21 insertions, 3 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 8f197b2a..8083a36a 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 @@ -2,9 +2,10 @@ package org.shedlang.compiler.backends.wasm.structure; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; -import org.shedlang.compiler.backends.wasm.structure.ast.WasmModule; -import org.shedlang.compiler.backends.wasm.structure.ast.imports.WasmImport; -import org.shedlang.compiler.backends.wasm.structure.ast.imports.WasmImportDescriptor; +import org.shedlang.compiler.backends.wasm.structure.ast.modules.WasmModule; +import org.shedlang.compiler.backends.wasm.structure.ast.modules.WasmImport; +import org.shedlang.compiler.backends.wasm.structure.ast.modules.WasmImportDescriptor; +import org.shedlang.compiler.backends.wasm.structure.ast.modules.WasmTable; import org.shedlang.compiler.backends.wasm.structure.ast.types.*; import org.shedlang.compiler.testing.ProcessRunner; import org.shedlang.compiler.testing.snapshots.SnapshotResolver; @@ -128,6 +129,23 @@ public class WasmBinaryFormatModuleTests { snapshotter.assertSnapshot(result); } + @Test + public void canSerializeModuleWithTables(Snapshotter snapshotter) throws IOException, InterruptedException { + var module = WasmModule.EMPTY + .addTable(new WasmTable(new WasmTableType( + WasmReferenceType.FUNC_REF, + WasmLimits.min(1) + ))) + .addTable(new WasmTable(new WasmTableType( + WasmReferenceType.EXTERN_REF, + WasmLimits.range(2, 3) + ))); + + 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"); |
