aboutsummaryrefslogtreecommitdiff
path: root/src/test/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/org/shedlang/compiler/patio/PatioSerializerTests.java11
-rw-r--r--src/test/java/org/shedlang/compiler/patio/instructions/Patio.java4
2 files changed, 15 insertions, 0 deletions
diff --git a/src/test/java/org/shedlang/compiler/patio/PatioSerializerTests.java b/src/test/java/org/shedlang/compiler/patio/PatioSerializerTests.java
index 7b55bf1a..fced74d5 100644
--- a/src/test/java/org/shedlang/compiler/patio/PatioSerializerTests.java
+++ b/src/test/java/org/shedlang/compiler/patio/PatioSerializerTests.java
@@ -74,6 +74,17 @@ public class PatioSerializerTests {
}
@Test
+ public void canSerializeExceptionTypeDefinition() {
+ var element = Patio.exceptionTypeDefinition("Error", PatioTypes.INT);
+
+ var string = PatioTesting.serializeCompilationUnitElement(element);
+
+ assertThat(string, equalTo("""
+ (exception-type "Error" int)"""
+ ));
+ }
+
+ @Test
public void canSerializeFunctionDeclaration() {
var element = PatioFunctionDeclaration.builder()
.withName("f")
diff --git a/src/test/java/org/shedlang/compiler/patio/instructions/Patio.java b/src/test/java/org/shedlang/compiler/patio/instructions/Patio.java
index caec005a..44ef8f25 100644
--- a/src/test/java/org/shedlang/compiler/patio/instructions/Patio.java
+++ b/src/test/java/org/shedlang/compiler/patio/instructions/Patio.java
@@ -95,6 +95,10 @@ public class Patio {
);
}
+ public static PatioExceptionTypeDefinition exceptionTypeDefinition(String name, PatioType valueType) {
+ return new PatioExceptionTypeDefinition(name, valueType, Sources.NULL);
+ }
+
public static PatioOperand functionPtr(String name) {
return new PatioFunctionPtr(name);
}