From ea29df54d21ccfd8fcf93bac37f3b57bad327b13 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 11 Jun 2023 10:25:37 +0100 Subject: Escape strings in serialized instructions --- .../shedlang/compiler/stackir/InstructionSerializerTests.java | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/test/java') diff --git a/src/test/java/org/shedlang/compiler/stackir/InstructionSerializerTests.java b/src/test/java/org/shedlang/compiler/stackir/InstructionSerializerTests.java index b1954197..5bc9f749 100644 --- a/src/test/java/org/shedlang/compiler/stackir/InstructionSerializerTests.java +++ b/src/test/java/org/shedlang/compiler/stackir/InstructionSerializerTests.java @@ -115,6 +115,15 @@ public class InstructionSerializerTests { assertThat(string, equalTo("(push-string \"hello\")")); } + @Test + public void specialCharactersInStringAreEscaped() { + var instruction = Instructions.pushString("\b\t\n\f\r\"\\"); + + var string = serialize(instruction); + + assertThat(string, equalTo("(push-string \"\\b\\t\\n\\f\\r\\\"\\\\\")")); + } + private String serialize(Instruction instruction) { var builder = new StringBuilder(); InstructionSerializer.serialize(instruction, builder); -- cgit v1.2.3