Skip to content

Commit c47341a

Browse files
committed
Flesh out some more ignore cases for object validators.
Some languages have sequence types covering hash maps, arrays, and strings. Make sure those languages properly notice to ignore these validators on non-objects.
1 parent f339360 commit c47341a

19 files changed

+193
-23
lines changed

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
}

tests/draft6/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": ["foo"],
34+
"valid": true
35+
},
36+
{
37+
"description": "ignores strings",
38+
"data": "foo",
39+
"valid": true
40+
},
41+
{
42+
"description": "ignores other non-objects",
3343
"data": 12,
3444
"valid": true
3545
}

tests/draft6/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/draft6/propertyNames.json

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,18 @@
2727
"valid": true
2828
},
2929
{
30-
"description": "non-object is valid",
31-
"data": [],
30+
"description": "ignores arrays",
31+
"data": [1, 2, 3, 4],
32+
"valid": true
33+
},
34+
{
35+
"description": "ignores strings",
36+
"data": "foobar",
37+
"valid": true
38+
},
39+
{
40+
"description": "ignores other non-objects",
41+
"data": 12,
3242
"valid": true
3343
}
3444
]

tests/draft6/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
}

0 commit comments

Comments
 (0)