summaryrefslogtreecommitdiff
path: root/json/tests/draft-next/default.json
diff options
context:
space:
mode:
Diffstat (limited to 'json/tests/draft-next/default.json')
-rw-r--r--json/tests/draft-next/default.json82
1 files changed, 82 insertions, 0 deletions
diff --git a/json/tests/draft-next/default.json b/json/tests/draft-next/default.json
new file mode 100644
index 0000000..689b68e
--- /dev/null
+++ b/json/tests/draft-next/default.json
@@ -0,0 +1,82 @@
+[
+ {
+ "description": "invalid type for default",
+ "schema": {
+ "$schema": "https://json-schema.org/draft/next/schema",
+ "properties": {
+ "foo": {
+ "type": "integer",
+ "default": []
+ }
+ }
+ },
+ "tests": [
+ {
+ "description": "valid when property is specified",
+ "data": {"foo": 13},
+ "valid": true
+ },
+ {
+ "description": "still valid when the invalid default is used",
+ "data": {},
+ "valid": true
+ }
+ ]
+ },
+ {
+ "description": "invalid string value for default",
+ "schema": {
+ "$schema": "https://json-schema.org/draft/next/schema",
+ "properties": {
+ "bar": {
+ "type": "string",
+ "minLength": 4,
+ "default": "bad"
+ }
+ }
+ },
+ "tests": [
+ {
+ "description": "valid when property is specified",
+ "data": {"bar": "good"},
+ "valid": true
+ },
+ {
+ "description": "still valid when the invalid default is used",
+ "data": {},
+ "valid": true
+ }
+ ]
+ },
+ {
+ "description": "the default keyword does not do anything if the property is missing",
+ "schema": {
+ "$schema": "https://json-schema.org/draft/next/schema",
+ "type": "object",
+ "properties": {
+ "alpha": {
+ "type": "number",
+ "maximum": 3,
+ "default": 5
+ }
+ }
+ },
+ "tests": [
+ {
+ "description": "an explicit property value is checked against maximum (passing)",
+ "data": { "alpha": 1 },
+ "valid": true
+ },
+ {
+ "description": "an explicit property value is checked against maximum (failing)",
+ "data": { "alpha": 5 },
+ "valid": false
+ },
+ {
+ "description": "missing properties are not filled in with the default",
+ "data": {},
+ "valid": true
+ }
+ ]
+ }
+]