1616
1717package org .springframework .boot .json ;
1818
19- import java .io .File ;
2019import java .nio .file .Path ;
2120import java .util .ArrayList ;
2221import java .util .LinkedHashMap ;
2726import java .util .function .Consumer ;
2827
2928import 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 ;
3032
3133import org .springframework .boot .json .JsonValueWriter .Series ;
3234
@@ -168,7 +170,6 @@ void writeWhenString() {
168170 void writeWhenStringRequiringEscape () {
169171 assertThat (write ("\" " )).isEqualTo (quoted ("\\ \" " ));
170172 assertThat (write ("\\ " )).isEqualTo (quoted ("\\ \\ " ));
171- assertThat (write ("/" )).isEqualTo (quoted ("\\ /" ));
172173 assertThat (write ("\b " )).isEqualTo (quoted ("\\ b" ));
173174 assertThat (write ("\f " )).isEqualTo (quoted ("\\ f" ));
174175 assertThat (write ("\n " )).isEqualTo (quoted ("\\ n" ));
@@ -177,6 +178,11 @@ void writeWhenStringRequiringEscape() {
177178 assertThat (write ("\u0000 \u001F " )).isEqualTo (quoted ("\\ u0000\\ u001F" ));
178179 }
179180
181+ @ Test
182+ void shouldNotEscapeForwardSlash () {
183+ assertThat (write ("/" )).isEqualTo (quoted ("/" ));
184+ }
185+
180186 @ Test
181187 void writeObject () {
182188 Map <String , String > map = Map .of ("a" , "A" );
@@ -249,9 +255,15 @@ void writeJavaNioPathWhenSingleElementShouldBeSerializedAsString() {
249255 }
250256
251257 @ 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 )
252265 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" ));
255267 }
256268
257269 @ Test
0 commit comments