mirror of
https://github.com/stleary/JSON-java.git
synced 2025-08-03 03:15:32 -04:00
46 lines
1.5 KiB
Java
46 lines
1.5 KiB
Java
package org.json.junit;
|
|
|
|
import org.json.JSONException;
|
|
import org.json.JSONObject;
|
|
import org.json.JSONParserConfiguration;
|
|
import org.junit.Test;
|
|
|
|
import static org.junit.Assert.assertEquals;
|
|
import static org.junit.Assert.assertTrue;
|
|
|
|
public class JSONParserConfigurationTest {
|
|
private static final String TEST_SOURCE = "{\"key\": \"value1\", \"key\": \"value2\"}";
|
|
|
|
@Test(expected = JSONException.class)
|
|
public void testThrowException() {
|
|
new JSONObject(TEST_SOURCE);
|
|
}
|
|
|
|
@Test
|
|
public void testOverwrite() {
|
|
JSONObject jsonObject = new JSONObject(TEST_SOURCE, new JSONParserConfiguration(true));
|
|
|
|
assertEquals("duplicate key should be overwritten", "value2", jsonObject.getString("key"));
|
|
}
|
|
|
|
@Test
|
|
public void verifyDuplicateKeyThenMaxDepth() {
|
|
JSONParserConfiguration jsonParserConfiguration = new JSONParserConfiguration()
|
|
.withOverwriteDuplicateKey(true)
|
|
.withMaxNestingDepth(42);
|
|
|
|
assertEquals(42, jsonParserConfiguration.getMaxNestingDepth());
|
|
assertTrue(jsonParserConfiguration.isOverwriteDuplicateKey());
|
|
}
|
|
|
|
@Test
|
|
public void verifyMaxDepthThenDuplicateKey() {
|
|
JSONParserConfiguration jsonParserConfiguration = new JSONParserConfiguration()
|
|
.withMaxNestingDepth(42)
|
|
.withOverwriteDuplicateKey(true);
|
|
|
|
assertTrue(jsonParserConfiguration.isOverwriteDuplicateKey());
|
|
assertEquals(42, jsonParserConfiguration.getMaxNestingDepth());
|
|
}
|
|
}
|