11/*
2- * Copyright (C) 2023-2024 DiffPlug
2+ * Copyright (C) 2023-2025 DiffPlug
33 *
44 * Licensed under the Apache License, Version 2.0 (the "License");
55 * you may not use this file except in compliance with the License.
@@ -46,42 +46,42 @@ class SnapshotValueReaderTest {
4646 ╔═ 05_notSureHowKotlinMultilineWorks ═╗
4747 """
4848 .trimIndent())
49- reader.peekKey () shouldBe " 00_empty"
50- reader.peekKey () shouldBe " 00_empty"
49+ reader.peekKeyRaw () shouldBe " 00_empty"
50+ reader.peekKeyRaw () shouldBe " 00_empty"
5151 reader.nextValue().valueString() shouldBe " "
52- reader.peekKey () shouldBe " 01_singleLineString"
53- reader.peekKey () shouldBe " 01_singleLineString"
52+ reader.peekKeyRaw () shouldBe " 01_singleLineString"
53+ reader.peekKeyRaw () shouldBe " 01_singleLineString"
5454 reader.nextValue().valueString() shouldBe " this is one line"
55- reader.peekKey () shouldBe " 01a_singleLineLeadingSpace"
55+ reader.peekKeyRaw () shouldBe " 01a_singleLineLeadingSpace"
5656 reader.nextValue().valueString() shouldBe " the leading space is significant"
57- reader.peekKey () shouldBe " 01b_singleLineTrailingSpace"
57+ reader.peekKeyRaw () shouldBe " 01b_singleLineTrailingSpace"
5858 reader.nextValue().valueString() shouldBe " the trailing space is significant "
59- reader.peekKey () shouldBe " 02_multiLineStringTrimmed"
59+ reader.peekKeyRaw () shouldBe " 02_multiLineStringTrimmed"
6060 reader.nextValue().valueString() shouldBe " Line 1\n Line 2"
6161 // note that leading and trailing newlines in the snapshots are significant
6262 // this is critical so that snapshots can accurately capture the exact number of newlines
63- reader.peekKey () shouldBe " 03_multiLineStringTrailingNewline"
63+ reader.peekKeyRaw () shouldBe " 03_multiLineStringTrailingNewline"
6464 reader.nextValue().valueString() shouldBe " Line 1\n Line 2\n "
65- reader.peekKey () shouldBe " 04_multiLineStringLeadingNewline"
65+ reader.peekKeyRaw () shouldBe " 04_multiLineStringLeadingNewline"
6666 reader.nextValue().valueString() shouldBe " \n Line 1\n Line 2"
67- reader.peekKey () shouldBe " 05_notSureHowKotlinMultilineWorks"
67+ reader.peekKeyRaw () shouldBe " 05_notSureHowKotlinMultilineWorks"
6868 reader.nextValue().valueString() shouldBe " "
6969 }
7070
7171 @Test
7272 fun invalidNames () {
73- shouldThrow<ParseException > { SnapshotValueReader .of(" ╔═name ═╗" ).peekKey () }
73+ shouldThrow<ParseException > { SnapshotValueReader .of(" ╔═name ═╗" ).peekKeyRaw () }
7474 .let { it.message shouldBe " L1:Expected to start with '╔═ '" }
75- shouldThrow<ParseException > { SnapshotValueReader .of(" ╔═ name═╗" ).peekKey () }
75+ shouldThrow<ParseException > { SnapshotValueReader .of(" ╔═ name═╗" ).peekKeyRaw () }
7676 .let { it.message shouldBe " L1:Expected to contain ' ═╗'" }
77- shouldThrow<ParseException > { SnapshotValueReader .of(" ╔═ name ═╗" ).peekKey () }
77+ shouldThrow<ParseException > { SnapshotValueReader .of(" ╔═ name ═╗" ).peekKeyRaw () }
7878 .let { it.message shouldBe " L1:Leading spaces are disallowed: ' name'" }
79- shouldThrow<ParseException > { SnapshotValueReader .of(" ╔═ name ═╗" ).peekKey () }
79+ shouldThrow<ParseException > { SnapshotValueReader .of(" ╔═ name ═╗" ).peekKeyRaw () }
8080 .let { it.message shouldBe " L1:Trailing spaces are disallowed: 'name '" }
81- SnapshotValueReader .of(" ╔═ name ═╗ comment okay" ).peekKey () shouldBe " name"
82- SnapshotValueReader .of(" ╔═ name ═╗okay here too" ).peekKey () shouldBe " name"
81+ SnapshotValueReader .of(" ╔═ name ═╗ comment okay" ).peekKeyRaw () shouldBe " name"
82+ SnapshotValueReader .of(" ╔═ name ═╗okay here too" ).peekKeyRaw () shouldBe " name"
8383 SnapshotValueReader .of(" ╔═ name ═╗ okay ╔═ ═╗ (it's the first ' ═╗' that counts)" )
84- .peekKey () shouldBe " name"
84+ .peekKeyRaw () shouldBe " name"
8585 }
8686
8787 @Test
@@ -96,21 +96,15 @@ class SnapshotValueReaderTest {
9696 ╔═ test with \┌\─ ascii art \─\┐ in name ═╗
9797 """
9898 .trimIndent())
99- reader.peekKey () shouldBe " test with [ square brackets] in name"
99+ reader.peekKeyRaw () shouldBe " test with \\ ( square brackets\\ ) in name"
100100 reader.nextValue().valueString() shouldBe " "
101- reader.peekKey () shouldBe """ test with \backslash\ in name"""
101+ reader.peekKeyRaw () shouldBe """ test with \\ backslash\ \ in name"""
102102 reader.nextValue().valueString() shouldBe " "
103- reader.peekKey() shouldBe
104- """
105- test with
106- newline
107- in name
108- """
109- .trimIndent()
103+ reader.peekKeyRaw() shouldBe " test with\\ nnewline\\ nin name"
110104 reader.nextValue().valueString() shouldBe " "
111- reader.peekKey () shouldBe " test with \t tab\t in name"
105+ reader.peekKeyRaw () shouldBe " test with \\ ttab\ \ t in name"
112106 reader.nextValue().valueString() shouldBe " "
113- reader.peekKey () shouldBe " test with ╔═ ascii art ═╗ in name"
107+ reader.peekKeyRaw () shouldBe " test with \\ ┌ \\ ─ ascii art \\ ─ \\ ┐ in name"
114108 reader.nextValue().valueString() shouldBe " "
115109 }
116110
@@ -127,11 +121,11 @@ class SnapshotValueReaderTest {
127121 𐝃𐝁𐝃𐝃 linear a is dead
128122 """
129123 .trimIndent())
130- reader.peekKey () shouldBe " ascii art okay"
124+ reader.peekKeyRaw () shouldBe " ascii art okay"
131125 reader.nextValue().valueString() shouldBe """ ╔══╗"""
132- reader.peekKey () shouldBe " escaped iff on first line"
126+ reader.peekKeyRaw () shouldBe " escaped iff on first line"
133127 reader.nextValue().valueString() shouldBe """ ╔══╗"""
134- reader.peekKey () shouldBe " body escape characters"
128+ reader.peekKeyRaw () shouldBe " body escape characters"
135129 reader.nextValue().valueString() shouldBe """ 𐝁𐝃 linear a is dead"""
136130 }
137131
@@ -154,12 +148,12 @@ class SnapshotValueReaderTest {
154148 }
155149 private fun assertKeyValueWithSkip (input : String , key : String , value : String ) {
156150 val reader = SnapshotValueReader .of(input)
157- while (reader.peekKey () != key) {
151+ while (reader.peekKeyRaw () != key) {
158152 reader.skipValue()
159153 }
160- reader.peekKey () shouldBe key
154+ reader.peekKeyRaw () shouldBe key
161155 reader.nextValue().valueString() shouldBe value
162- while (reader.peekKey () != null ) {
156+ while (reader.peekKeyRaw () != null ) {
163157 reader.skipValue()
164158 }
165159 }
@@ -169,7 +163,7 @@ class SnapshotValueReaderTest {
169163 val reader = SnapshotValueReader .of(""" ╔═ Apple ═╗ base64 length 3 bytes
170164c2Fk
171165""" )
172- reader.peekKey () shouldBe " Apple"
166+ reader.peekKeyRaw () shouldBe " Apple"
173167 reader.nextValue().valueBinary() shouldBe " sad" .encodeToByteArray()
174168 }
175169}
0 commit comments