valijson/thirdparty/JSON-Schema-Test-Suite/test-schema.json

60 lines
2.0 KiB
JSON

{
"$schema": "http://json-schema.org/draft-04/schema#",
"definitions": {
"outputItem": {
"type": "object",
"properties": {
"valid": {"type": "boolean"},
"keywordLocation": {"type": "string"},
"absoluteKeywordLocation": {
"type": "string",
"format": "uri"
},
"instanceLocation": {"type": "string"},
"annotations": {
"type": "array",
"items": {"$ref": "#/definitions/outputItem"}
},
"errors": {
"type": "array",
"items": {"$ref": "#/definitions/outputItem"}
}
}
}
},
"type": "array",
"items": {
"type": "object",
"required": ["description", "schema", "tests"],
"properties": {
"description": {"type": "string"},
"schema": {},
"tests": {
"type": "array",
"items": {
"type": "object",
"required": ["description", "data", "valid"],
"properties": {
"description": {"type": "string"},
"data": {},
"valid": {"type": "boolean"},
"output": {
"type": "object",
"properties": {
"basic": {"$ref": "#/definitions/outputItem"},
"detailed": {"$ref": "#/definitions/outputItem"},
"verbose": {"$ref": "#/definitions/outputItem"}
},
"required": ["basic", "detailed", "verbose"]
}
},
"additionalProperties": false
},
"minItems": 1
}
},
"additionalProperties": false,
"minItems": 1
}
}