aboutsummaryrefslogtreecommitdiff
path: root/src/test/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2026-03-21 15:16:25 +0000
committerMichael Williamson <mike@zwobble.org>2026-03-21 15:16:25 +0000
commit8db8026f1ce7d31eab18b02dab5ed54a512dcb48 (patch)
tree8c7f102a6ad745039f265f52521fd681570c2cd2 /src/test/java
parentc83895700fad8ea3cd2dd97683f2439472cdff96 (diff)
Serialize Patio function declarations to Protobuf
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/org/shedlang/compiler/patio/protobuf/PatioToProtobufTests.java18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/test/java/org/shedlang/compiler/patio/protobuf/PatioToProtobufTests.java b/src/test/java/org/shedlang/compiler/patio/protobuf/PatioToProtobufTests.java
index 25054ae2..35ec4221 100644
--- a/src/test/java/org/shedlang/compiler/patio/protobuf/PatioToProtobufTests.java
+++ b/src/test/java/org/shedlang/compiler/patio/protobuf/PatioToProtobufTests.java
@@ -1,6 +1,7 @@
package org.shedlang.compiler.patio.protobuf;
import org.junit.jupiter.api.Test;
+import org.shedlang.compiler.patio.PatioFunctionDeclaration;
import org.shedlang.compiler.patio.PatioVisibility;
import org.shedlang.compiler.patio.instructions.Patio;
import org.shedlang.compiler.patio.types.PatioDataLayouts;
@@ -78,6 +79,23 @@ public class PatioToProtobufTests {
assertThat(deserializedElement, equalTo(element));
}
+ @Test
+ public void canSerializeFunctionDeclaration() {
+ var element = PatioFunctionDeclaration.builder()
+ .withName("f")
+ .addParam(Patio.param("param1", PatioTypes.INT))
+ .addParam(Patio.param("param2", PatioTypes.DATA_PTR))
+ .withReturnType(PatioTypes.VOID)
+ .build();
+
+ var deserializedElement = PatioToProtobuf.deserializeCompilationUnitElement(
+ PatioToProtobuf.serializeCompilationUnitElement(element, Sources.NULL),
+ Sources.NULL
+ );
+
+ assertThat(deserializedElement, equalTo(element));
+ }
+
// == Data ptr values ==
@Test