|
|
@@ -307,6 +307,38 @@ public class SchemaV6FactoryTest {
|
|
|
assertFalse(test.accepts(readTree("{ \"A_\": {} }")));
|
|
|
}
|
|
|
|
|
|
+ @Test
|
|
|
+ public void testDependencySchema() {
|
|
|
+ Tester arrayDep = fromSingleElement("{" +
|
|
|
+ "\"dependencies\": {" +
|
|
|
+ "\"A\": [ \"B\", \"C\" ]" +
|
|
|
+ "}" +
|
|
|
+ "}");
|
|
|
+ assertTrue(arrayDep.accepts(readTree("{ \"B\": true }")));
|
|
|
+ assertFalse(arrayDep.accepts(readTree("{ \"A\": true, \"B\": true }")));
|
|
|
+ assertTrue(arrayDep.accepts(readTree("{ \"A\": true, \"B\": true, \"C\": true }")));
|
|
|
+
|
|
|
+ Tester schemaDep = fromSingleElement("{" +
|
|
|
+ "\"dependencies\": {" +
|
|
|
+ "\"D\": { \"properties\": { \"B\": { \"type\": \"integer\" } } }" +
|
|
|
+ "}" +
|
|
|
+ "}");
|
|
|
+ assertTrue(schemaDep.accepts(readTree("{ \"B\": true }")));
|
|
|
+ assertFalse(schemaDep.accepts(readTree("{ \"D\": true, \"B\": true }")));
|
|
|
+ assertTrue(schemaDep.accepts(readTree("{ \"D\": true, \"B\": 5 }")));
|
|
|
+
|
|
|
+ Tester bothDep = fromSingleElement("{" +
|
|
|
+ "\"dependencies\": {" +
|
|
|
+ "\"A\": [ \"B\", \"C\" ]," +
|
|
|
+ "\"D\": { \"properties\": { \"B\": { \"type\": \"integer\" } } }" +
|
|
|
+ "}" +
|
|
|
+ "}");
|
|
|
+ assertTrue(bothDep.accepts(readTree("{ \"A\": true, \"B\": true, \"C\": true }")));
|
|
|
+ assertTrue(bothDep.accepts(readTree("{ \"D\": true, \"B\": 5 }")));
|
|
|
+ assertFalse(bothDep.accepts(readTree("{ \"A\": true, \"D\": true, \"B\": true, \"C\": true }")));
|
|
|
+ assertTrue(bothDep.accepts(readTree("{ \"A\": true, \"D\": true, \"B\": 5, \"C\": true }")));
|
|
|
+ }
|
|
|
+
|
|
|
@Test
|
|
|
public void testPropertyNamesSchema() {
|
|
|
Tester test = fromSingleElement("{ \"propertyNames\": false }");
|