diff --git a/src/main/java/org/json/JSONParserConfiguration.java b/src/main/java/org/json/JSONParserConfiguration.java index f5d0660..f14461a 100644 --- a/src/main/java/org/json/JSONParserConfiguration.java +++ b/src/main/java/org/json/JSONParserConfiguration.java @@ -27,7 +27,9 @@ public class JSONParserConfiguration extends ParserConfiguration { protected JSONParserConfiguration clone() { JSONParserConfiguration clone = new JSONParserConfiguration(); clone.overwriteDuplicateKey = overwriteDuplicateKey; + clone.strictMode = strictMode; clone.maxNestingDepth = maxNestingDepth; + clone.keepStrings = keepStrings; return clone; } diff --git a/src/test/java/org/json/junit/JSONParserConfigurationTest.java b/src/test/java/org/json/junit/JSONParserConfigurationTest.java index 006f2a4..0ecf938 100644 --- a/src/test/java/org/json/junit/JSONParserConfigurationTest.java +++ b/src/test/java/org/json/junit/JSONParserConfigurationTest.java @@ -15,7 +15,10 @@ import java.util.List; import java.util.stream.Collectors; import java.util.stream.Stream; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertThrows; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; public class JSONParserConfigurationTest { private static final String TEST_SOURCE = "{\"key\": \"value1\", \"key\": \"value2\"}"; @@ -33,6 +36,24 @@ public class JSONParserConfigurationTest { assertEquals("duplicate key should be overwritten", "value2", jsonObject.getString("key")); } + @Test + public void strictModeIsCloned(){ + JSONParserConfiguration jsonParserConfiguration = new JSONParserConfiguration() + .withStrictMode(true) + .withMaxNestingDepth(12); + + assertTrue(jsonParserConfiguration.isStrictMode()); + } + + @Test + public void maxNestingDepthIsCloned(){ + JSONParserConfiguration jsonParserConfiguration = new JSONParserConfiguration() + .withKeepStrings(true) + .withStrictMode(true); + + assertTrue(jsonParserConfiguration.isKeepStrings()); + } + @Test public void verifyDuplicateKeyThenMaxDepth() { JSONParserConfiguration jsonParserConfiguration = new JSONParserConfiguration()