aboutsummaryrefslogtreecommitdiff
path: root/src/test/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-11-26 00:14:03 +0000
committerMichael Williamson <mike@zwobble.org>2023-11-26 00:14:25 +0000
commit38b6beb8d3034beb59b3c918502bf9ba1a64be8c (patch)
tree93e185ccfc89503fc596cc6f397d7e2b622e8018 /src/test/java
parente63efead839b710895e5ee2a3bbaf24d6394e611 (diff)
Add tags to WASM binary format
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/org/shedlang/compiler/backends/wasm/structure/WasmBinaryFormatModuleTests.java24
1 files changed, 24 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 203e5db9..881663e2 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
@@ -345,6 +345,30 @@ public class WasmBinaryFormatModuleTests {
snapshotter.assertSnapshot(result);
}
+ @Test
+ public void canSerializeModuleWithExceptionTags(Snapshotter snapshotter) throws IOException, InterruptedException {
+ var module = WasmModule.EMPTY
+ .addTag(
+ WasmTagType.EXCEPTION,
+ "Error",
+ List.of(WasmValueType.I32, WasmValueType.I64)
+ )
+ .addTag(
+ WasmTagType.EXCEPTION,
+ "ErrorDifferentFieldTypes",
+ List.of(WasmValueType.I64)
+ )
+ .addTag(
+ WasmTagType.EXCEPTION,
+ "ErrorSameFieldTypes",
+ List.of(WasmValueType.I32, WasmValueType.I64)
+ );
+
+ 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");