Skip to content

Commit c6a0e22

Browse files
committed
initial support for schemaDependencies in ObjectSchema#describePropertiesTo()
1 parent e5e68b8 commit c6a0e22

File tree

3 files changed

+28
-4
lines changed

3 files changed

+28
-4
lines changed

core/src/main/java/org/everit/json/schema/ObjectSchema.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -481,10 +481,15 @@ void describePropertiesTo(JSONPrinter writer) {
481481
if (!propertyDependencies.isEmpty()) {
482482
describePropertyDependenciesTo(writer);
483483
}
484+
if (!schemaDependencies.isEmpty()) {
485+
writer.key("dependencies");
486+
writer.printSchemaMap(schemaDependencies);
487+
}
484488
if (!patternProperties.isEmpty()) {
485489
writer.key("patternProperties");
486490
writer.printSchemaMap(patternProperties);
487491
}
492+
writer.ifFalse("additionalProperties", additionalProperties);
488493
}
489494

490495
private void describePropertyDependenciesTo(JSONPrinter writer) {

core/src/test/java/org/everit/json/schema/ObjectSchemaTest.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -298,13 +298,18 @@ public void toStringNoExplicitType() {
298298
assertTrue(ObjectComparator.deepEquals(rawSchemaJson, new JSONObject(actual)));
299299
}
300300

301-
@Test @Ignore
301+
@Test
302302
public void toStringNoAdditionalProperties() {
303-
303+
JSONObject rawSchemaJson = loader.readObj("tostring/objectschema.json");
304+
rawSchemaJson.put("additionalProperties", false);
305+
String actual = SchemaLoader.load(rawSchemaJson).toString();
306+
assertTrue(ObjectComparator.deepEquals(rawSchemaJson, new JSONObject(actual)));
304307
}
305308

306-
@Test @Ignore
309+
@Test
307310
public void toStringSchemaDependencies() {
308-
311+
JSONObject rawSchemaJson = loader.readObj("tostring/objectschema-schemadep.json");
312+
String actual = SchemaLoader.load(rawSchemaJson).toString();
313+
assertTrue(ObjectComparator.deepEquals(rawSchemaJson, new JSONObject(actual)));
309314
}
310315
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
"dependencies": {
3+
"prop1" : {
4+
"properties" : {
5+
"prop2": {
6+
"type": "number"
7+
},
8+
"prop3": {
9+
"type" : "boolean"
10+
}
11+
}
12+
}
13+
}
14+
}

0 commit comments

Comments
 (0)