diff options
| author | Michael Williamson <mike@zwobble.org> | 2023-06-25 14:45:46 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2023-06-25 14:45:57 +0100 |
| commit | 60270ec2c59b803804d67dd94ceea12b8857e4d7 (patch) | |
| tree | 21029384b64cbb9102bf220898907092a82a9ef1 /src/test/java | |
| parent | a4d0595b70aab0cc71a6f4721654a961190f5180 (diff) | |
Add datasegments to WASM binary format
Diffstat (limited to 'src/test/java')
| -rw-r--r-- | src/test/java/org/shedlang/compiler/backends/wasm/structure/WasmBinaryFormatModuleTests.java | 22 |
1 files changed, 22 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 bab17edd..1979dee8 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 @@ -271,6 +271,28 @@ public class WasmBinaryFormatModuleTests { } @Test + public void canSerializeModuleWithDataSegments(Snapshotter snapshotter) throws IOException, InterruptedException { + var module = WasmModule.EMPTY + .addMemory(new WasmMemory(new WasmMemoryType(WasmLimits.min(10)))) + .addDataSegment(new WasmDataSegment( + ".data", + new byte[] { 1, 2, 3, 4 }, + new WasmExpression(List.of(new WasmI32Const(0))), + WasmAlignment.ALIGN_32_BIT + )) + .addDataSegment(new WasmDataSegment( + ".rodata", + new byte[] { 4, 5, 6, 7 }, + new WasmExpression(List.of(new WasmI32Const(4))), + WasmAlignment.NONE + )); + + var result = serializeModule(module); + + snapshotter.assertSnapshot(result); + } + + @Test public void canSerializeModuleWithInitFuncs(Snapshotter snapshotter) throws IOException, InterruptedException { var module = WasmModule.EMPTY .addFunction(new WasmFunction( |
