diff options
| author | Michael Williamson <mike@zwobble.org> | 2024-01-28 19:44:09 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2024-01-28 19:44:09 +0000 |
| commit | 07f45f7f7166bb0d3ba05e4f0da99f702429f3b6 (patch) | |
| tree | b888a0b0af0066a5052219bca10937420a1726f6 /src/test/java | |
| parent | 8e069d9ddfd8c34f742d1dc4301a0fa5a76c16f6 (diff) | |
Add test for serializing Patio data pointer values
Diffstat (limited to 'src/test/java')
3 files changed, 23 insertions, 4 deletions
diff --git a/src/test/java/org/shedlang/compiler/patio/PatioSerializerTests.java b/src/test/java/org/shedlang/compiler/patio/PatioSerializerTests.java index 29110e81..7f1aea16 100644 --- a/src/test/java/org/shedlang/compiler/patio/PatioSerializerTests.java +++ b/src/test/java/org/shedlang/compiler/patio/PatioSerializerTests.java @@ -795,6 +795,17 @@ public class PatioSerializerTests { assertThat(string, equalTo("(local \"x\")")); } + // == Data ptr values == + + @Test + public void canSerializeDataPtrValueDataElement() { + var dataPtrValue = Patio.dataPtrValueDataElement("string"); + + var string = PatioTesting.serializeDataPtrValue(dataPtrValue); + + assertThat(string, equalTo("\"string\"")); + } + // == Int values == @Test diff --git a/src/test/java/org/shedlang/compiler/patio/PatioTesting.java b/src/test/java/org/shedlang/compiler/patio/PatioTesting.java index 4de4a4d7..35130f10 100644 --- a/src/test/java/org/shedlang/compiler/patio/PatioTesting.java +++ b/src/test/java/org/shedlang/compiler/patio/PatioTesting.java @@ -5,6 +5,7 @@ import org.shedlang.compiler.patio.operands.PatioOperand; import org.shedlang.compiler.patio.types.PatioDataLayout; import org.shedlang.compiler.patio.types.PatioDataValue; import org.shedlang.compiler.patio.types.PatioType; +import org.shedlang.compiler.patio.values.PatioDataPtrValue; import org.shedlang.compiler.patio.values.PatioIntValue; public class PatioTesting { @@ -28,6 +29,12 @@ public class PatioTesting { return builder.toString(); } + static String serializeDataPtrValue(PatioDataPtrValue value) { + var builder = new StringBuilder(); + PatioSerializer.serializeDataPtrValue(value, builder); + return builder.toString(); + } + static String serializeDataValue(PatioDataValue value) { var builder = new StringBuilder(); PatioSerializer.serializeDataValue(value, builder); 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 027f23e1..b5cd226d 100644 --- a/src/test/java/org/shedlang/compiler/patio/instructions/Patio.java +++ b/src/test/java/org/shedlang/compiler/patio/instructions/Patio.java @@ -5,10 +5,7 @@ import org.shedlang.compiler.patio.operands.*; import org.shedlang.compiler.patio.types.PatioDataLayout; import org.shedlang.compiler.patio.types.PatioDataValue; import org.shedlang.compiler.patio.types.PatioType; -import org.shedlang.compiler.patio.values.PatioIntValue; -import org.shedlang.compiler.patio.values.PatioIntValueByteOffsetOf; -import org.shedlang.compiler.patio.values.PatioIntValueByteSizeOf; -import org.shedlang.compiler.patio.values.PatioIntValueLiteral; +import org.shedlang.compiler.patio.values.*; import org.shedlang.compiler.sources.Sources; import java.util.List; @@ -111,6 +108,10 @@ public class Patio { ); } + public static PatioDataPtrValue dataPtrValueDataElement(String value) { + return new PatioDataPtrValueDataElement(value); + } + public static PatioExceptionTypeDefinition exceptionTypeDefinition(String name, PatioType valueType) { return new PatioExceptionTypeDefinition(name, valueType, Sources.NULL); } |
