|
@@ -47,8 +47,8 @@ class SchemaV6Factory extends SchemaFactory {
|
|
|
case "maxLength": return new SizeTester(JsonNodeType.STRING, i -> i < value.asInt());
|
|
case "maxLength": return new SizeTester(JsonNodeType.STRING, i -> i < value.asInt());
|
|
|
case "minLength": return new SizeTester(JsonNodeType.STRING, i -> i >= value.asInt(0));
|
|
case "minLength": return new SizeTester(JsonNodeType.STRING, i -> i >= value.asInt(0));
|
|
|
case "pattern": return j -> j.isTextual() && j.asText().matches(value.asText());
|
|
case "pattern": return j -> j.isTextual() && j.asText().matches(value.asText());
|
|
|
- case "additionalItems": return new AllItemsTester(create(value));
|
|
|
|
|
- case "items": return value.isArray() ? new ItemsTester(createArray(value)) : new AllItemsTester(create(value));
|
|
|
|
|
|
|
+ case "additionalItems": return new AllItemsTester(JsonNodeType.ARRAY, create(value));
|
|
|
|
|
+ case "items": return value.isArray() ? new ItemsTester(createArray(value)) : new AllItemsTester(JsonNodeType.ARRAY, create(value));
|
|
|
case "maxItems": return new SizeTester(JsonNodeType.ARRAY, i -> i < value.asInt());
|
|
case "maxItems": return new SizeTester(JsonNodeType.ARRAY, i -> i < value.asInt());
|
|
|
case "minItems": return new SizeTester(JsonNodeType.ARRAY, i -> i >= value.asInt(0));
|
|
case "minItems": return new SizeTester(JsonNodeType.ARRAY, i -> i >= value.asInt(0));
|
|
|
case "uniqueItems": return value.asBoolean() ? UniqueItemTester.INSTANCE : FixedTester.ACCEPT;
|
|
case "uniqueItems": return value.asBoolean() ? UniqueItemTester.INSTANCE : FixedTester.ACCEPT;
|
|
@@ -56,7 +56,7 @@ class SchemaV6Factory extends SchemaFactory {
|
|
|
case "maxProperties": return new SizeTester(JsonNodeType.OBJECT, i -> i < value.asInt());
|
|
case "maxProperties": return new SizeTester(JsonNodeType.OBJECT, i -> i < value.asInt());
|
|
|
case "minProperties": return new SizeTester(JsonNodeType.OBJECT, i -> i >= value.asInt(0));
|
|
case "minProperties": return new SizeTester(JsonNodeType.OBJECT, i -> i >= value.asInt(0));
|
|
|
case "required": return json -> JsonHelper.toArray(value, JsonNode::asText).stream().allMatch(json::has);
|
|
case "required": return json -> JsonHelper.toArray(value, JsonNode::asText).stream().allMatch(json::has);
|
|
|
- case "additionalProperties": return j -> JsonHelper.toArray(j).stream().allMatch(create(value)::accepts);
|
|
|
|
|
|
|
+ case "additionalProperties": return new AllItemsTester(JsonNodeType.OBJECT, create(value));
|
|
|
// case "definitions": ; // TODO Implement definitions creation
|
|
// case "definitions": ; // TODO Implement definitions creation
|
|
|
case "properties": return new PropertyTester(JsonHelper.values(value,
|
|
case "properties": return new PropertyTester(JsonHelper.values(value,
|
|
|
(k, v) -> new PropertyTester.Pair(stringEqual(k), create(v))));
|
|
(k, v) -> new PropertyTester.Pair(stringEqual(k), create(v))));
|