16
16
17
17
package org .springframework .boot .json ;
18
18
19
- import java .io .File ;
20
19
import java .nio .file .Path ;
21
20
import java .util .ArrayList ;
22
21
import java .util .LinkedHashMap ;
27
26
import java .util .function .Consumer ;
28
27
29
28
import org .junit .jupiter .api .Test ;
29
+ import org .junit .jupiter .api .condition .DisabledOnOs ;
30
+ import org .junit .jupiter .api .condition .EnabledOnOs ;
31
+ import org .junit .jupiter .api .condition .OS ;
30
32
31
33
import org .springframework .boot .json .JsonValueWriter .Series ;
32
34
@@ -168,7 +170,6 @@ void writeWhenString() {
168
170
void writeWhenStringRequiringEscape () {
169
171
assertThat (write ("\" " )).isEqualTo (quoted ("\\ \" " ));
170
172
assertThat (write ("\\ " )).isEqualTo (quoted ("\\ \\ " ));
171
- assertThat (write ("/" )).isEqualTo (quoted ("\\ /" ));
172
173
assertThat (write ("\b " )).isEqualTo (quoted ("\\ b" ));
173
174
assertThat (write ("\f " )).isEqualTo (quoted ("\\ f" ));
174
175
assertThat (write ("\n " )).isEqualTo (quoted ("\\ n" ));
@@ -177,6 +178,11 @@ void writeWhenStringRequiringEscape() {
177
178
assertThat (write ("\u0000 \u001F " )).isEqualTo (quoted ("\\ u0000\\ u001F" ));
178
179
}
179
180
181
+ @ Test
182
+ void shouldNotEscapeForwardSlash () {
183
+ assertThat (write ("/" )).isEqualTo (quoted ("/" ));
184
+ }
185
+
180
186
@ Test
181
187
void writeObject () {
182
188
Map <String , String > map = Map .of ("a" , "A" );
@@ -249,9 +255,15 @@ void writeJavaNioPathWhenSingleElementShouldBeSerializedAsString() {
249
255
}
250
256
251
257
@ Test // gh-44502
258
+ @ EnabledOnOs (OS .WINDOWS )
259
+ void writeJavaNioPathShouldBeSerializedAsStringOnWindows () {
260
+ assertThat (doWrite ((valueWriter ) -> valueWriter .write (Path .of ("a/b/c" )))).isEqualTo (quoted ("a\\ \\ b\\ \\ c" ));
261
+ }
262
+
263
+ @ Test // gh-44502
264
+ @ DisabledOnOs (OS .WINDOWS )
252
265
void writeJavaNioPathShouldBeSerializedAsString () {
253
- assertThat (doWrite ((valueWriter ) -> valueWriter .write (Path .of ("a/b/c" ))))
254
- .isEqualTo (quoted ("a\\ %1$sb\\ %1$sc" .formatted (File .separator )));
266
+ assertThat (doWrite ((valueWriter ) -> valueWriter .write (Path .of ("a/b/c" )))).isEqualTo (quoted ("a/b/c" ));
255
267
}
256
268
257
269
@ Test
0 commit comments