|
|
|
|
@ -296,6 +296,38 @@ class JsonValueWriterTests {
@@ -296,6 +296,38 @@ class JsonValueWriterTests {
|
|
|
|
|
"JSON nesting depth (129) exceeds maximum depth of 128 (current path: [0][0][0][0][0][0][0][0][0][0][0][0]"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
void shouldAllowStartingObjectWhenCurrentDepthIsMaxDepth() { |
|
|
|
|
StringBuilder out = new StringBuilder(); |
|
|
|
|
JsonValueWriter writer = new JsonValueWriter(out, 2); |
|
|
|
|
|
|
|
|
|
writer.start(Series.OBJECT); |
|
|
|
|
writer.start(Series.OBJECT); |
|
|
|
|
writer.start(Series.OBJECT); |
|
|
|
|
|
|
|
|
|
writer.end(Series.OBJECT); |
|
|
|
|
writer.end(Series.OBJECT); |
|
|
|
|
writer.end(Series.OBJECT); |
|
|
|
|
|
|
|
|
|
assertThat(out).hasToString("{{{}}}"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
void shouldAllowStartingArrayWhenCurrentDepthIsMaxDepth() { |
|
|
|
|
StringBuilder out = new StringBuilder(); |
|
|
|
|
JsonValueWriter writer = new JsonValueWriter(out, 2); |
|
|
|
|
|
|
|
|
|
writer.start(Series.ARRAY); |
|
|
|
|
writer.start(Series.ARRAY); |
|
|
|
|
writer.start(Series.ARRAY); |
|
|
|
|
|
|
|
|
|
writer.end(Series.ARRAY); |
|
|
|
|
writer.end(Series.ARRAY); |
|
|
|
|
writer.end(Series.ARRAY); |
|
|
|
|
|
|
|
|
|
assertThat(out).hasToString("[[[]]]"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private <V> String write(V value) { |
|
|
|
|
return doWrite((valueWriter) -> valueWriter.write(value)); |
|
|
|
|
} |
|
|
|
|
|