Skip to content

Commit 4eb3de5

Browse files
committed
Squashed 'json/' changes from 27f8c84..728066f
728066f Merge pull request #188 from json-schema-org/sequences-and-objects c47341a Flesh out some more ignore cases for object validators. f339360 make test descriptions unique and no longer than 60 chars 6820a83 Merge branch 'CroniD-master' aaa32d8 test: update "json-pointer" format to exclude fragments 85a552f added some more tests for json-pointer format b7b79fc extended tests for json-pointer format git-subtree-dir: json git-subtree-split: 728066f9c5c258ba3b1804a22a5b998f2ec77ec0
1 parent 8bff7e3 commit 4eb3de5

21 files changed

+337
-34
lines changed

index.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,10 @@ runTest(4);
1515
runTest(6);
1616

1717
function runTest(draft) {
18-
var opts = {format: 'full'};
18+
var opts = {
19+
format: 'full',
20+
formats: {'json-pointer': /^(?:\/(?:[^~\/]|~0|~1)*)*$/}
21+
};
1922
if (draft == 4) opts.meta = false;
2023
var ajv = new Ajv(opts);
2124
ajv.addMetaSchema(require('ajv/lib/refs/json-schema-draft-04.json'));

tests/draft3/additionalProperties.json

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,20 @@
1919
"valid": false
2020
},
2121
{
22-
"description": "ignores non-objects",
22+
"description": "ignores arrays",
2323
"data": [1, 2, 3],
2424
"valid": true
2525
},
26+
{
27+
"description": "ignores strings",
28+
"data": "foobarbaz",
29+
"valid": true
30+
},
31+
{
32+
"description": "ignores other non-objects",
33+
"data": 12,
34+
"valid": true
35+
},
2636
{
2737
"description": "patternProperties are not additional properties",
2838
"data": {"foo":1, "vroom": 2},

tests/draft3/dependencies.json

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,18 @@
2626
"valid": false
2727
},
2828
{
29-
"description": "ignores non-objects",
30-
"data": "foo",
29+
"description": "ignores arrays",
30+
"data": ["bar"],
31+
"valid": true
32+
},
33+
{
34+
"description": "ignores strings",
35+
"data": "foobar",
36+
"valid": true
37+
},
38+
{
39+
"description": "ignores other non-objects",
40+
"data": 12,
3141
"valid": true
3242
}
3343
]

tests/draft3/patternProperties.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,12 @@
2929
"valid": false
3030
},
3131
{
32-
"description": "ignores non-objects",
32+
"description": "ignores arrays",
33+
"data": [],
34+
"valid": true
35+
},
36+
{
37+
"description": "ignores other non-objects",
3338
"data": 12,
3439
"valid": true
3540
}

tests/draft3/properties.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,14 @@
2929
"valid": true
3030
},
3131
{
32-
"description": "ignores non-objects",
32+
"description": "ignores arrays",
3333
"data": [],
3434
"valid": true
35+
},
36+
{
37+
"description": "ignores other non-objects",
38+
"data": 12,
39+
"valid": true
3540
}
3641
]
3742
},

tests/draft4/additionalProperties.json

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,20 @@
1919
"valid": false
2020
},
2121
{
22-
"description": "ignores non-objects",
22+
"description": "ignores arrays",
2323
"data": [1, 2, 3],
2424
"valid": true
2525
},
26+
{
27+
"description": "ignores strings",
28+
"data": "foobarbaz",
29+
"valid": true
30+
},
31+
{
32+
"description": "ignores other non-objects",
33+
"data": 12,
34+
"valid": true
35+
},
2636
{
2737
"description": "patternProperties are not additional properties",
2838
"data": {"foo":1, "vroom": 2},

tests/draft4/dependencies.json

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,18 @@
2626
"valid": false
2727
},
2828
{
29-
"description": "ignores non-objects",
30-
"data": "foo",
29+
"description": "ignores arrays",
30+
"data": ["bar"],
31+
"valid": true
32+
},
33+
{
34+
"description": "ignores strings",
35+
"data": "foobar",
36+
"valid": true
37+
},
38+
{
39+
"description": "ignores other non-objects",
40+
"data": 12,
3141
"valid": true
3242
}
3343
]

tests/draft4/maxProperties.json

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,19 @@
1919
"valid": false
2020
},
2121
{
22-
"description": "ignores non-objects",
22+
"description": "ignores arrays",
23+
"data": [1, 2, 3],
24+
"valid": true
25+
},
26+
{
27+
"description": "ignores strings",
2328
"data": "foobar",
2429
"valid": true
30+
},
31+
{
32+
"description": "ignores other non-objects",
33+
"data": 12,
34+
"valid": true
2535
}
2636
]
2737
}

tests/draft4/minProperties.json

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,19 @@
1919
"valid": false
2020
},
2121
{
22-
"description": "ignores non-objects",
22+
"description": "ignores arrays",
23+
"data": [],
24+
"valid": true
25+
},
26+
{
27+
"description": "ignores strings",
2328
"data": "",
2429
"valid": true
30+
},
31+
{
32+
"description": "ignores other non-objects",
33+
"data": 12,
34+
"valid": true
2535
}
2636
]
2737
}

tests/draft4/patternProperties.json

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,17 @@
2929
"valid": false
3030
},
3131
{
32-
"description": "ignores non-objects",
32+
"description": "ignores arrays",
33+
"data": [],
34+
"valid": true
35+
},
36+
{
37+
"description": "ignores strings",
38+
"data": "",
39+
"valid": true
40+
},
41+
{
42+
"description": "ignores other non-objects",
3343
"data": 12,
3444
"valid": true
3545
}

tests/draft4/properties.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,14 @@
2929
"valid": true
3030
},
3131
{
32-
"description": "ignores non-objects",
32+
"description": "ignores arrays",
3333
"data": [],
3434
"valid": true
35+
},
36+
{
37+
"description": "ignores other non-objects",
38+
"data": 12,
39+
"valid": true
3540
}
3641
]
3742
},

tests/draft4/required.json

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,17 @@
2020
"valid": false
2121
},
2222
{
23-
"description": "ignores non-objects",
23+
"description": "ignores arrays",
24+
"data": [],
25+
"valid": true
26+
},
27+
{
28+
"description": "ignores strings",
29+
"data": "",
30+
"valid": true
31+
},
32+
{
33+
"description": "ignores other non-objects",
2434
"data": 12,
2535
"valid": true
2636
}

tests/draft6/additionalProperties.json

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,20 @@
1919
"valid": false
2020
},
2121
{
22-
"description": "ignores non-objects",
22+
"description": "ignores arrays",
2323
"data": [1, 2, 3],
2424
"valid": true
2525
},
26+
{
27+
"description": "ignores strings",
28+
"data": "foobarbaz",
29+
"valid": true
30+
},
31+
{
32+
"description": "ignores other non-objects",
33+
"data": 12,
34+
"valid": true
35+
},
2636
{
2737
"description": "patternProperties are not additional properties",
2838
"data": {"foo":1, "vroom": 2},

tests/draft6/dependencies.json

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,18 @@
2626
"valid": false
2727
},
2828
{
29-
"description": "ignores non-objects",
30-
"data": "foo",
29+
"description": "ignores arrays",
30+
"data": ["bar"],
31+
"valid": true
32+
},
33+
{
34+
"description": "ignores strings",
35+
"data": "foobar",
36+
"valid": true
37+
},
38+
{
39+
"description": "ignores other non-objects",
40+
"data": 12,
3141
"valid": true
3242
}
3343
]

tests/draft6/maxProperties.json

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,19 @@
1919
"valid": false
2020
},
2121
{
22-
"description": "ignores non-objects",
22+
"description": "ignores arrays",
23+
"data": [1, 2, 3],
24+
"valid": true
25+
},
26+
{
27+
"description": "ignores strings",
2328
"data": "foobar",
2429
"valid": true
30+
},
31+
{
32+
"description": "ignores other non-objects",
33+
"data": 12,
34+
"valid": true
2535
}
2636
]
2737
}

tests/draft6/minProperties.json

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,19 @@
1919
"valid": false
2020
},
2121
{
22-
"description": "ignores non-objects",
22+
"description": "ignores arrays",
23+
"data": [],
24+
"valid": true
25+
},
26+
{
27+
"description": "ignores strings",
2328
"data": "",
2429
"valid": true
30+
},
31+
{
32+
"description": "ignores other non-objects",
33+
"data": 12,
34+
"valid": true
2535
}
2636
]
2737
}

0 commit comments

Comments
 (0)