aboutsummaryrefslogtreecommitdiff
path: root/src/test/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-06-24 21:12:17 +0100
committerMichael Williamson <mike@zwobble.org>2023-06-24 21:12:17 +0100
commit1a43e1686bd55f5607459a80ff3cc8e34bbfde70 (patch)
treeced63b374eff6569db2bb4caf3e8f5caf38a402b /src/test/java
parent9846bb9db8bd0aa6e84780bda459f4642eb45213 (diff)
Fix func index in local names section
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/org/shedlang/compiler/backends/wasm/structure/WasmBinaryFormatModuleTests.java22
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 5941c790..5495d798 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
@@ -92,6 +92,28 @@ public class WasmBinaryFormatModuleTests {
}
@Test
+ public void localNamesHaveCorrectFuncIndexWhenThereAreImportedFunctions(Snapshotter snapshotter) throws IOException, InterruptedException {
+ var module = WasmModule.EMPTY
+ .addFunction(new WasmFunction(
+ List.of(
+ new WasmLocal("paramA", WasmValueType.F32)
+ ),
+ List.of(),
+ List.of(WasmValueType.I32),
+ List.of(new WasmI32Const(0))
+ ))
+ .addImport(new WasmImport(
+ "ModuleName1",
+ "EntityName1",
+ new WasmImportDescriptor.Func("Identifier1", new WasmFuncType(List.of(), List.of()))
+ ));
+
+ var result = serializeModule(module);
+
+ snapshotter.assertSnapshot(result);
+ }
+
+ @Test
public void canSerializeModuleWithTableImports(Snapshotter snapshotter) throws IOException, InterruptedException {
var module = WasmModule.EMPTY
.addImport(new WasmImport(