json_schemer 0.2.8 → 0.2.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +5 -5
- data/json_schemer.gemspec +2 -2
- data/lib/json_schemer/schema/base.rb +52 -32
- data/lib/json_schemer/version.rb +1 -1
- data/lib/json_schemer.rb +1 -0
- metadata +4 -234
- data/JSON-Schema-Test-Suite/.gitignore +0 -1
- data/JSON-Schema-Test-Suite/.travis.yml +0 -8
- data/JSON-Schema-Test-Suite/LICENSE +0 -19
- data/JSON-Schema-Test-Suite/README.md +0 -181
- data/JSON-Schema-Test-Suite/bin/jsonschema_suite +0 -298
- data/JSON-Schema-Test-Suite/index.js +0 -45
- data/JSON-Schema-Test-Suite/package.json +0 -28
- data/JSON-Schema-Test-Suite/remotes/folder/folderInteger.json +0 -3
- data/JSON-Schema-Test-Suite/remotes/integer.json +0 -3
- data/JSON-Schema-Test-Suite/remotes/name-defs.json +0 -15
- data/JSON-Schema-Test-Suite/remotes/name.json +0 -15
- data/JSON-Schema-Test-Suite/remotes/subSchemas.json +0 -8
- data/JSON-Schema-Test-Suite/test-schema.json +0 -59
- data/JSON-Schema-Test-Suite/tests/draft2019-09/additionalItems.json +0 -87
- data/JSON-Schema-Test-Suite/tests/draft2019-09/additionalProperties.json +0 -133
- data/JSON-Schema-Test-Suite/tests/draft2019-09/allOf.json +0 -218
- data/JSON-Schema-Test-Suite/tests/draft2019-09/anchor.json +0 -87
- data/JSON-Schema-Test-Suite/tests/draft2019-09/anyOf.json +0 -189
- data/JSON-Schema-Test-Suite/tests/draft2019-09/boolean_schema.json +0 -104
- data/JSON-Schema-Test-Suite/tests/draft2019-09/const.json +0 -170
- data/JSON-Schema-Test-Suite/tests/draft2019-09/contains.json +0 -95
- data/JSON-Schema-Test-Suite/tests/draft2019-09/default.json +0 -49
- data/JSON-Schema-Test-Suite/tests/draft2019-09/defs.json +0 -24
- data/JSON-Schema-Test-Suite/tests/draft2019-09/dependencies.json +0 -268
- data/JSON-Schema-Test-Suite/tests/draft2019-09/enum.json +0 -179
- data/JSON-Schema-Test-Suite/tests/draft2019-09/exclusiveMaximum.json +0 -30
- data/JSON-Schema-Test-Suite/tests/draft2019-09/exclusiveMinimum.json +0 -30
- data/JSON-Schema-Test-Suite/tests/draft2019-09/format.json +0 -614
- data/JSON-Schema-Test-Suite/tests/draft2019-09/if-then-else.json +0 -188
- data/JSON-Schema-Test-Suite/tests/draft2019-09/items.json +0 -250
- data/JSON-Schema-Test-Suite/tests/draft2019-09/maxItems.json +0 -28
- data/JSON-Schema-Test-Suite/tests/draft2019-09/maxLength.json +0 -33
- data/JSON-Schema-Test-Suite/tests/draft2019-09/maxProperties.json +0 -38
- data/JSON-Schema-Test-Suite/tests/draft2019-09/maximum.json +0 -28
- data/JSON-Schema-Test-Suite/tests/draft2019-09/minItems.json +0 -28
- data/JSON-Schema-Test-Suite/tests/draft2019-09/minLength.json +0 -33
- data/JSON-Schema-Test-Suite/tests/draft2019-09/minProperties.json +0 -38
- data/JSON-Schema-Test-Suite/tests/draft2019-09/minimum.json +0 -59
- data/JSON-Schema-Test-Suite/tests/draft2019-09/multipleOf.json +0 -60
- data/JSON-Schema-Test-Suite/tests/draft2019-09/not.json +0 -117
- data/JSON-Schema-Test-Suite/tests/draft2019-09/oneOf.json +0 -206
- data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/bignum.json +0 -105
- data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/content.json +0 -77
- data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/ecmascript-regex.json +0 -213
- data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/date-time.json +0 -53
- data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/date.json +0 -23
- data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/email.json +0 -18
- data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/hostname.json +0 -33
- data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/idn-email.json +0 -18
- data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/idn-hostname.json +0 -28
- data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/ipv4.json +0 -33
- data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/ipv6.json +0 -28
- data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/iri-reference.json +0 -43
- data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/iri.json +0 -53
- data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/json-pointer.json +0 -168
- data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/regex.json +0 -18
- data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/relative-json-pointer.json +0 -33
- data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/time.json +0 -23
- data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/uri-reference.json +0 -43
- data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/uri-template.json +0 -28
- data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/uri.json +0 -103
- data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/zeroTerminatedFloats.json +0 -15
- data/JSON-Schema-Test-Suite/tests/draft2019-09/pattern.json +0 -34
- data/JSON-Schema-Test-Suite/tests/draft2019-09/patternProperties.json +0 -151
- data/JSON-Schema-Test-Suite/tests/draft2019-09/properties.json +0 -167
- data/JSON-Schema-Test-Suite/tests/draft2019-09/propertyNames.json +0 -78
- data/JSON-Schema-Test-Suite/tests/draft2019-09/ref.json +0 -359
- data/JSON-Schema-Test-Suite/tests/draft2019-09/refRemote.json +0 -167
- data/JSON-Schema-Test-Suite/tests/draft2019-09/required.json +0 -105
- data/JSON-Schema-Test-Suite/tests/draft2019-09/type.json +0 -464
- data/JSON-Schema-Test-Suite/tests/draft2019-09/uniqueItems.json +0 -173
- data/JSON-Schema-Test-Suite/tests/draft3/additionalItems.json +0 -82
- data/JSON-Schema-Test-Suite/tests/draft3/additionalProperties.json +0 -133
- data/JSON-Schema-Test-Suite/tests/draft3/default.json +0 -49
- data/JSON-Schema-Test-Suite/tests/draft3/dependencies.json +0 -118
- data/JSON-Schema-Test-Suite/tests/draft3/disallow.json +0 -80
- data/JSON-Schema-Test-Suite/tests/draft3/divisibleBy.json +0 -60
- data/JSON-Schema-Test-Suite/tests/draft3/enum.json +0 -71
- data/JSON-Schema-Test-Suite/tests/draft3/extends.json +0 -94
- data/JSON-Schema-Test-Suite/tests/draft3/format.json +0 -362
- data/JSON-Schema-Test-Suite/tests/draft3/items.json +0 -46
- data/JSON-Schema-Test-Suite/tests/draft3/maxItems.json +0 -28
- data/JSON-Schema-Test-Suite/tests/draft3/maxLength.json +0 -33
- data/JSON-Schema-Test-Suite/tests/draft3/maximum.json +0 -42
- data/JSON-Schema-Test-Suite/tests/draft3/minItems.json +0 -28
- data/JSON-Schema-Test-Suite/tests/draft3/minLength.json +0 -33
- data/JSON-Schema-Test-Suite/tests/draft3/minimum.json +0 -73
- data/JSON-Schema-Test-Suite/tests/draft3/optional/bignum.json +0 -107
- data/JSON-Schema-Test-Suite/tests/draft3/optional/ecmascript-regex.json +0 -18
- data/JSON-Schema-Test-Suite/tests/draft3/optional/format.json +0 -227
- data/JSON-Schema-Test-Suite/tests/draft3/optional/zeroTerminatedFloats.json +0 -15
- data/JSON-Schema-Test-Suite/tests/draft3/pattern.json +0 -34
- data/JSON-Schema-Test-Suite/tests/draft3/patternProperties.json +0 -115
- data/JSON-Schema-Test-Suite/tests/draft3/properties.json +0 -97
- data/JSON-Schema-Test-Suite/tests/draft3/ref.json +0 -192
- data/JSON-Schema-Test-Suite/tests/draft3/refRemote.json +0 -74
- data/JSON-Schema-Test-Suite/tests/draft3/required.json +0 -53
- data/JSON-Schema-Test-Suite/tests/draft3/type.json +0 -489
- data/JSON-Schema-Test-Suite/tests/draft3/uniqueItems.json +0 -163
- data/JSON-Schema-Test-Suite/tests/draft4/additionalItems.json +0 -87
- data/JSON-Schema-Test-Suite/tests/draft4/additionalProperties.json +0 -133
- data/JSON-Schema-Test-Suite/tests/draft4/allOf.json +0 -185
- data/JSON-Schema-Test-Suite/tests/draft4/anyOf.json +0 -156
- data/JSON-Schema-Test-Suite/tests/draft4/default.json +0 -49
- data/JSON-Schema-Test-Suite/tests/draft4/definitions.json +0 -32
- data/JSON-Schema-Test-Suite/tests/draft4/dependencies.json +0 -194
- data/JSON-Schema-Test-Suite/tests/draft4/enum.json +0 -179
- data/JSON-Schema-Test-Suite/tests/draft4/format.json +0 -218
- data/JSON-Schema-Test-Suite/tests/draft4/items.json +0 -195
- data/JSON-Schema-Test-Suite/tests/draft4/maxItems.json +0 -28
- data/JSON-Schema-Test-Suite/tests/draft4/maxLength.json +0 -33
- data/JSON-Schema-Test-Suite/tests/draft4/maxProperties.json +0 -38
- data/JSON-Schema-Test-Suite/tests/draft4/maximum.json +0 -73
- data/JSON-Schema-Test-Suite/tests/draft4/minItems.json +0 -28
- data/JSON-Schema-Test-Suite/tests/draft4/minLength.json +0 -33
- data/JSON-Schema-Test-Suite/tests/draft4/minProperties.json +0 -38
- data/JSON-Schema-Test-Suite/tests/draft4/minimum.json +0 -104
- data/JSON-Schema-Test-Suite/tests/draft4/multipleOf.json +0 -60
- data/JSON-Schema-Test-Suite/tests/draft4/not.json +0 -96
- data/JSON-Schema-Test-Suite/tests/draft4/oneOf.json +0 -162
- data/JSON-Schema-Test-Suite/tests/draft4/optional/bignum.json +0 -107
- data/JSON-Schema-Test-Suite/tests/draft4/optional/ecmascript-regex.json +0 -213
- data/JSON-Schema-Test-Suite/tests/draft4/optional/format.json +0 -253
- data/JSON-Schema-Test-Suite/tests/draft4/optional/zeroTerminatedFloats.json +0 -15
- data/JSON-Schema-Test-Suite/tests/draft4/pattern.json +0 -34
- data/JSON-Schema-Test-Suite/tests/draft4/patternProperties.json +0 -120
- data/JSON-Schema-Test-Suite/tests/draft4/properties.json +0 -136
- data/JSON-Schema-Test-Suite/tests/draft4/ref.json +0 -411
- data/JSON-Schema-Test-Suite/tests/draft4/refRemote.json +0 -171
- data/JSON-Schema-Test-Suite/tests/draft4/required.json +0 -89
- data/JSON-Schema-Test-Suite/tests/draft4/type.json +0 -464
- data/JSON-Schema-Test-Suite/tests/draft4/uniqueItems.json +0 -173
- data/JSON-Schema-Test-Suite/tests/draft6/additionalItems.json +0 -87
- data/JSON-Schema-Test-Suite/tests/draft6/additionalProperties.json +0 -133
- data/JSON-Schema-Test-Suite/tests/draft6/allOf.json +0 -218
- data/JSON-Schema-Test-Suite/tests/draft6/anyOf.json +0 -189
- data/JSON-Schema-Test-Suite/tests/draft6/boolean_schema.json +0 -104
- data/JSON-Schema-Test-Suite/tests/draft6/const.json +0 -170
- data/JSON-Schema-Test-Suite/tests/draft6/contains.json +0 -100
- data/JSON-Schema-Test-Suite/tests/draft6/default.json +0 -49
- data/JSON-Schema-Test-Suite/tests/draft6/definitions.json +0 -32
- data/JSON-Schema-Test-Suite/tests/draft6/dependencies.json +0 -268
- data/JSON-Schema-Test-Suite/tests/draft6/enum.json +0 -179
- data/JSON-Schema-Test-Suite/tests/draft6/exclusiveMaximum.json +0 -30
- data/JSON-Schema-Test-Suite/tests/draft6/exclusiveMinimum.json +0 -30
- data/JSON-Schema-Test-Suite/tests/draft6/format.json +0 -326
- data/JSON-Schema-Test-Suite/tests/draft6/items.json +0 -250
- data/JSON-Schema-Test-Suite/tests/draft6/maxItems.json +0 -28
- data/JSON-Schema-Test-Suite/tests/draft6/maxLength.json +0 -33
- data/JSON-Schema-Test-Suite/tests/draft6/maxProperties.json +0 -38
- data/JSON-Schema-Test-Suite/tests/draft6/maximum.json +0 -28
- data/JSON-Schema-Test-Suite/tests/draft6/minItems.json +0 -28
- data/JSON-Schema-Test-Suite/tests/draft6/minLength.json +0 -33
- data/JSON-Schema-Test-Suite/tests/draft6/minProperties.json +0 -38
- data/JSON-Schema-Test-Suite/tests/draft6/minimum.json +0 -59
- data/JSON-Schema-Test-Suite/tests/draft6/multipleOf.json +0 -60
- data/JSON-Schema-Test-Suite/tests/draft6/not.json +0 -117
- data/JSON-Schema-Test-Suite/tests/draft6/oneOf.json +0 -206
- data/JSON-Schema-Test-Suite/tests/draft6/optional/bignum.json +0 -105
- data/JSON-Schema-Test-Suite/tests/draft6/optional/ecmascript-regex.json +0 -213
- data/JSON-Schema-Test-Suite/tests/draft6/optional/format.json +0 -491
- data/JSON-Schema-Test-Suite/tests/draft6/optional/zeroTerminatedFloats.json +0 -15
- data/JSON-Schema-Test-Suite/tests/draft6/pattern.json +0 -34
- data/JSON-Schema-Test-Suite/tests/draft6/patternProperties.json +0 -151
- data/JSON-Schema-Test-Suite/tests/draft6/properties.json +0 -167
- data/JSON-Schema-Test-Suite/tests/draft6/propertyNames.json +0 -78
- data/JSON-Schema-Test-Suite/tests/draft6/ref.json +0 -443
- data/JSON-Schema-Test-Suite/tests/draft6/refRemote.json +0 -171
- data/JSON-Schema-Test-Suite/tests/draft6/required.json +0 -105
- data/JSON-Schema-Test-Suite/tests/draft6/type.json +0 -464
- data/JSON-Schema-Test-Suite/tests/draft6/uniqueItems.json +0 -173
- data/JSON-Schema-Test-Suite/tests/draft7/additionalItems.json +0 -87
- data/JSON-Schema-Test-Suite/tests/draft7/additionalProperties.json +0 -133
- data/JSON-Schema-Test-Suite/tests/draft7/allOf.json +0 -218
- data/JSON-Schema-Test-Suite/tests/draft7/anyOf.json +0 -189
- data/JSON-Schema-Test-Suite/tests/draft7/boolean_schema.json +0 -104
- data/JSON-Schema-Test-Suite/tests/draft7/const.json +0 -170
- data/JSON-Schema-Test-Suite/tests/draft7/contains.json +0 -100
- data/JSON-Schema-Test-Suite/tests/draft7/default.json +0 -49
- data/JSON-Schema-Test-Suite/tests/draft7/definitions.json +0 -32
- data/JSON-Schema-Test-Suite/tests/draft7/dependencies.json +0 -268
- data/JSON-Schema-Test-Suite/tests/draft7/enum.json +0 -179
- data/JSON-Schema-Test-Suite/tests/draft7/exclusiveMaximum.json +0 -30
- data/JSON-Schema-Test-Suite/tests/draft7/exclusiveMinimum.json +0 -30
- data/JSON-Schema-Test-Suite/tests/draft7/format.json +0 -614
- data/JSON-Schema-Test-Suite/tests/draft7/if-then-else.json +0 -188
- data/JSON-Schema-Test-Suite/tests/draft7/items.json +0 -250
- data/JSON-Schema-Test-Suite/tests/draft7/maxItems.json +0 -28
- data/JSON-Schema-Test-Suite/tests/draft7/maxLength.json +0 -33
- data/JSON-Schema-Test-Suite/tests/draft7/maxProperties.json +0 -38
- data/JSON-Schema-Test-Suite/tests/draft7/maximum.json +0 -28
- data/JSON-Schema-Test-Suite/tests/draft7/minItems.json +0 -28
- data/JSON-Schema-Test-Suite/tests/draft7/minLength.json +0 -33
- data/JSON-Schema-Test-Suite/tests/draft7/minProperties.json +0 -38
- data/JSON-Schema-Test-Suite/tests/draft7/minimum.json +0 -59
- data/JSON-Schema-Test-Suite/tests/draft7/multipleOf.json +0 -60
- data/JSON-Schema-Test-Suite/tests/draft7/not.json +0 -117
- data/JSON-Schema-Test-Suite/tests/draft7/oneOf.json +0 -206
- data/JSON-Schema-Test-Suite/tests/draft7/optional/bignum.json +0 -105
- data/JSON-Schema-Test-Suite/tests/draft7/optional/content.json +0 -77
- data/JSON-Schema-Test-Suite/tests/draft7/optional/ecmascript-regex.json +0 -213
- data/JSON-Schema-Test-Suite/tests/draft7/optional/format/date-time.json +0 -53
- data/JSON-Schema-Test-Suite/tests/draft7/optional/format/date.json +0 -23
- data/JSON-Schema-Test-Suite/tests/draft7/optional/format/email.json +0 -18
- data/JSON-Schema-Test-Suite/tests/draft7/optional/format/hostname.json +0 -33
- data/JSON-Schema-Test-Suite/tests/draft7/optional/format/idn-email.json +0 -18
- data/JSON-Schema-Test-Suite/tests/draft7/optional/format/idn-hostname.json +0 -28
- data/JSON-Schema-Test-Suite/tests/draft7/optional/format/ipv4.json +0 -33
- data/JSON-Schema-Test-Suite/tests/draft7/optional/format/ipv6.json +0 -28
- data/JSON-Schema-Test-Suite/tests/draft7/optional/format/iri-reference.json +0 -43
- data/JSON-Schema-Test-Suite/tests/draft7/optional/format/iri.json +0 -53
- data/JSON-Schema-Test-Suite/tests/draft7/optional/format/json-pointer.json +0 -168
- data/JSON-Schema-Test-Suite/tests/draft7/optional/format/regex.json +0 -18
- data/JSON-Schema-Test-Suite/tests/draft7/optional/format/relative-json-pointer.json +0 -33
- data/JSON-Schema-Test-Suite/tests/draft7/optional/format/time.json +0 -23
- data/JSON-Schema-Test-Suite/tests/draft7/optional/format/uri-reference.json +0 -43
- data/JSON-Schema-Test-Suite/tests/draft7/optional/format/uri-template.json +0 -28
- data/JSON-Schema-Test-Suite/tests/draft7/optional/format/uri.json +0 -103
- data/JSON-Schema-Test-Suite/tests/draft7/optional/zeroTerminatedFloats.json +0 -15
- data/JSON-Schema-Test-Suite/tests/draft7/pattern.json +0 -34
- data/JSON-Schema-Test-Suite/tests/draft7/patternProperties.json +0 -151
- data/JSON-Schema-Test-Suite/tests/draft7/properties.json +0 -167
- data/JSON-Schema-Test-Suite/tests/draft7/propertyNames.json +0 -78
- data/JSON-Schema-Test-Suite/tests/draft7/ref.json +0 -443
- data/JSON-Schema-Test-Suite/tests/draft7/refRemote.json +0 -171
- data/JSON-Schema-Test-Suite/tests/draft7/required.json +0 -105
- data/JSON-Schema-Test-Suite/tests/draft7/type.json +0 -464
- data/JSON-Schema-Test-Suite/tests/draft7/uniqueItems.json +0 -173
- data/JSON-Schema-Test-Suite/tests/latest +0 -1
- data/JSON-Schema-Test-Suite/tox.ini +0 -9
|
@@ -1,491 +0,0 @@
|
|
|
1
|
-
[
|
|
2
|
-
{
|
|
3
|
-
"description": "validation of date-time strings",
|
|
4
|
-
"schema": {"format": "date-time"},
|
|
5
|
-
"tests": [
|
|
6
|
-
{
|
|
7
|
-
"description": "a valid date-time string",
|
|
8
|
-
"data": "1963-06-19T08:30:06.283185Z",
|
|
9
|
-
"valid": true
|
|
10
|
-
},
|
|
11
|
-
{
|
|
12
|
-
"description": "a valid date-time string without second fraction",
|
|
13
|
-
"data": "1963-06-19T08:30:06Z",
|
|
14
|
-
"valid": true
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
"description": "a valid date-time string with plus offset",
|
|
18
|
-
"data": "1937-01-01T12:00:27.87+00:20",
|
|
19
|
-
"valid": true
|
|
20
|
-
},
|
|
21
|
-
{
|
|
22
|
-
"description": "a valid date-time string with minus offset",
|
|
23
|
-
"data": "1990-12-31T15:59:50.123-08:00",
|
|
24
|
-
"valid": true
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
"description": "a invalid day in date-time string",
|
|
28
|
-
"data": "1990-02-31T15:59:60.123-08:00",
|
|
29
|
-
"valid": false
|
|
30
|
-
},
|
|
31
|
-
{
|
|
32
|
-
"description": "an invalid offset in date-time string",
|
|
33
|
-
"data": "1990-12-31T15:59:60-24:00",
|
|
34
|
-
"valid": false
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
"description": "an invalid closing Z after time-zone offset",
|
|
38
|
-
"data": "1963-06-19T08:30:06.28123+01:00Z",
|
|
39
|
-
"valid": false
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
"description": "an invalid date-time string",
|
|
43
|
-
"data": "06/19/1963 08:30:06 PST",
|
|
44
|
-
"valid": false
|
|
45
|
-
},
|
|
46
|
-
{
|
|
47
|
-
"description": "case-insensitive T and Z",
|
|
48
|
-
"data": "1963-06-19t08:30:06.283185z",
|
|
49
|
-
"valid": true
|
|
50
|
-
},
|
|
51
|
-
{
|
|
52
|
-
"description": "only RFC3339 not all of ISO 8601 are valid",
|
|
53
|
-
"data": "2013-350T01:01:01",
|
|
54
|
-
"valid": false
|
|
55
|
-
}
|
|
56
|
-
]
|
|
57
|
-
},
|
|
58
|
-
{
|
|
59
|
-
"description": "validation of URIs",
|
|
60
|
-
"schema": {"format": "uri"},
|
|
61
|
-
"tests": [
|
|
62
|
-
{
|
|
63
|
-
"description": "a valid URL with anchor tag",
|
|
64
|
-
"data": "http://foo.bar/?baz=qux#quux",
|
|
65
|
-
"valid": true
|
|
66
|
-
},
|
|
67
|
-
{
|
|
68
|
-
"description": "a valid URL with anchor tag and parantheses",
|
|
69
|
-
"data": "http://foo.com/blah_(wikipedia)_blah#cite-1",
|
|
70
|
-
"valid": true
|
|
71
|
-
},
|
|
72
|
-
{
|
|
73
|
-
"description": "a valid URL with URL-encoded stuff",
|
|
74
|
-
"data": "http://foo.bar/?q=Test%20URL-encoded%20stuff",
|
|
75
|
-
"valid": true
|
|
76
|
-
},
|
|
77
|
-
{
|
|
78
|
-
"description": "a valid puny-coded URL ",
|
|
79
|
-
"data": "http://xn--nw2a.xn--j6w193g/",
|
|
80
|
-
"valid": true
|
|
81
|
-
},
|
|
82
|
-
{
|
|
83
|
-
"description": "a valid URL with many special characters",
|
|
84
|
-
"data": "http://-.~_!$&'()*+,;=:%40:80%2f::::::@example.com",
|
|
85
|
-
"valid": true
|
|
86
|
-
},
|
|
87
|
-
{
|
|
88
|
-
"description": "a valid URL based on IPv4",
|
|
89
|
-
"data": "http://223.255.255.254",
|
|
90
|
-
"valid": true
|
|
91
|
-
},
|
|
92
|
-
{
|
|
93
|
-
"description": "a valid URL with ftp scheme",
|
|
94
|
-
"data": "ftp://ftp.is.co.za/rfc/rfc1808.txt",
|
|
95
|
-
"valid": true
|
|
96
|
-
},
|
|
97
|
-
{
|
|
98
|
-
"description": "a valid URL for a simple text file",
|
|
99
|
-
"data": "http://www.ietf.org/rfc/rfc2396.txt",
|
|
100
|
-
"valid": true
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
"description": "a valid URL ",
|
|
104
|
-
"data": "ldap://[2001:db8::7]/c=GB?objectClass?one",
|
|
105
|
-
"valid": true
|
|
106
|
-
},
|
|
107
|
-
{
|
|
108
|
-
"description": "a valid mailto URI",
|
|
109
|
-
"data": "mailto:John.Doe@example.com",
|
|
110
|
-
"valid": true
|
|
111
|
-
},
|
|
112
|
-
{
|
|
113
|
-
"description": "a valid newsgroup URI",
|
|
114
|
-
"data": "news:comp.infosystems.www.servers.unix",
|
|
115
|
-
"valid": true
|
|
116
|
-
},
|
|
117
|
-
{
|
|
118
|
-
"description": "a valid tel URI",
|
|
119
|
-
"data": "tel:+1-816-555-1212",
|
|
120
|
-
"valid": true
|
|
121
|
-
},
|
|
122
|
-
{
|
|
123
|
-
"description": "a valid URN",
|
|
124
|
-
"data": "urn:oasis:names:specification:docbook:dtd:xml:4.1.2",
|
|
125
|
-
"valid": true
|
|
126
|
-
},
|
|
127
|
-
{
|
|
128
|
-
"description": "an invalid protocol-relative URI Reference",
|
|
129
|
-
"data": "//foo.bar/?baz=qux#quux",
|
|
130
|
-
"valid": false
|
|
131
|
-
},
|
|
132
|
-
{
|
|
133
|
-
"description": "an invalid relative URI Reference",
|
|
134
|
-
"data": "/abc",
|
|
135
|
-
"valid": false
|
|
136
|
-
},
|
|
137
|
-
{
|
|
138
|
-
"description": "an invalid URI",
|
|
139
|
-
"data": "\\\\WINDOWS\\fileshare",
|
|
140
|
-
"valid": false
|
|
141
|
-
},
|
|
142
|
-
{
|
|
143
|
-
"description": "an invalid URI though valid URI reference",
|
|
144
|
-
"data": "abc",
|
|
145
|
-
"valid": false
|
|
146
|
-
},
|
|
147
|
-
{
|
|
148
|
-
"description": "an invalid URI with spaces",
|
|
149
|
-
"data": "http:// shouldfail.com",
|
|
150
|
-
"valid": false
|
|
151
|
-
},
|
|
152
|
-
{
|
|
153
|
-
"description": "an invalid URI with spaces and missing scheme",
|
|
154
|
-
"data": ":// should fail",
|
|
155
|
-
"valid": false
|
|
156
|
-
}
|
|
157
|
-
]
|
|
158
|
-
},
|
|
159
|
-
{
|
|
160
|
-
"description": "validation of URI References",
|
|
161
|
-
"schema": {"format": "uri-reference"},
|
|
162
|
-
"tests": [
|
|
163
|
-
{
|
|
164
|
-
"description": "a valid URI",
|
|
165
|
-
"data": "http://foo.bar/?baz=qux#quux",
|
|
166
|
-
"valid": true
|
|
167
|
-
},
|
|
168
|
-
{
|
|
169
|
-
"description": "a valid protocol-relative URI Reference",
|
|
170
|
-
"data": "//foo.bar/?baz=qux#quux",
|
|
171
|
-
"valid": true
|
|
172
|
-
},
|
|
173
|
-
{
|
|
174
|
-
"description": "a valid relative URI Reference",
|
|
175
|
-
"data": "/abc",
|
|
176
|
-
"valid": true
|
|
177
|
-
},
|
|
178
|
-
{
|
|
179
|
-
"description": "an invalid URI Reference",
|
|
180
|
-
"data": "\\\\WINDOWS\\fileshare",
|
|
181
|
-
"valid": false
|
|
182
|
-
},
|
|
183
|
-
{
|
|
184
|
-
"description": "a valid URI Reference",
|
|
185
|
-
"data": "abc",
|
|
186
|
-
"valid": true
|
|
187
|
-
},
|
|
188
|
-
{
|
|
189
|
-
"description": "a valid URI fragment",
|
|
190
|
-
"data": "#fragment",
|
|
191
|
-
"valid": true
|
|
192
|
-
},
|
|
193
|
-
{
|
|
194
|
-
"description": "an invalid URI fragment",
|
|
195
|
-
"data": "#frag\\ment",
|
|
196
|
-
"valid": false
|
|
197
|
-
}
|
|
198
|
-
]
|
|
199
|
-
},
|
|
200
|
-
{
|
|
201
|
-
"description": "format: uri-template",
|
|
202
|
-
"schema": {"format": "uri-template"},
|
|
203
|
-
"tests": [
|
|
204
|
-
{
|
|
205
|
-
"description": "a valid uri-template",
|
|
206
|
-
"data": "http://example.com/dictionary/{term:1}/{term}",
|
|
207
|
-
"valid": true
|
|
208
|
-
},
|
|
209
|
-
{
|
|
210
|
-
"description": "an invalid uri-template",
|
|
211
|
-
"data": "http://example.com/dictionary/{term:1}/{term",
|
|
212
|
-
"valid": false
|
|
213
|
-
},
|
|
214
|
-
{
|
|
215
|
-
"description": "a valid uri-template without variables",
|
|
216
|
-
"data": "http://example.com/dictionary",
|
|
217
|
-
"valid": true
|
|
218
|
-
},
|
|
219
|
-
{
|
|
220
|
-
"description": "a valid relative uri-template",
|
|
221
|
-
"data": "dictionary/{term:1}/{term}",
|
|
222
|
-
"valid": true
|
|
223
|
-
}
|
|
224
|
-
]
|
|
225
|
-
},
|
|
226
|
-
{
|
|
227
|
-
"description": "validation of e-mail addresses",
|
|
228
|
-
"schema": {"format": "email"},
|
|
229
|
-
"tests": [
|
|
230
|
-
{
|
|
231
|
-
"description": "a valid e-mail address",
|
|
232
|
-
"data": "joe.bloggs@example.com",
|
|
233
|
-
"valid": true
|
|
234
|
-
},
|
|
235
|
-
{
|
|
236
|
-
"description": "an invalid e-mail address",
|
|
237
|
-
"data": "2962",
|
|
238
|
-
"valid": false
|
|
239
|
-
}
|
|
240
|
-
]
|
|
241
|
-
},
|
|
242
|
-
{
|
|
243
|
-
"description": "validation of IP addresses",
|
|
244
|
-
"schema": {"format": "ipv4"},
|
|
245
|
-
"tests": [
|
|
246
|
-
{
|
|
247
|
-
"description": "a valid IP address",
|
|
248
|
-
"data": "192.168.0.1",
|
|
249
|
-
"valid": true
|
|
250
|
-
},
|
|
251
|
-
{
|
|
252
|
-
"description": "an IP address with too many components",
|
|
253
|
-
"data": "127.0.0.0.1",
|
|
254
|
-
"valid": false
|
|
255
|
-
},
|
|
256
|
-
{
|
|
257
|
-
"description": "an IP address with out-of-range values",
|
|
258
|
-
"data": "256.256.256.256",
|
|
259
|
-
"valid": false
|
|
260
|
-
},
|
|
261
|
-
{
|
|
262
|
-
"description": "an IP address without 4 components",
|
|
263
|
-
"data": "127.0",
|
|
264
|
-
"valid": false
|
|
265
|
-
},
|
|
266
|
-
{
|
|
267
|
-
"description": "an IP address as an integer",
|
|
268
|
-
"data": "0x7f000001",
|
|
269
|
-
"valid": false
|
|
270
|
-
}
|
|
271
|
-
]
|
|
272
|
-
},
|
|
273
|
-
{
|
|
274
|
-
"description": "validation of IPv6 addresses",
|
|
275
|
-
"schema": {"format": "ipv6"},
|
|
276
|
-
"tests": [
|
|
277
|
-
{
|
|
278
|
-
"description": "a valid IPv6 address",
|
|
279
|
-
"data": "::1",
|
|
280
|
-
"valid": true
|
|
281
|
-
},
|
|
282
|
-
{
|
|
283
|
-
"description": "an IPv6 address with out-of-range values",
|
|
284
|
-
"data": "12345::",
|
|
285
|
-
"valid": false
|
|
286
|
-
},
|
|
287
|
-
{
|
|
288
|
-
"description": "an IPv6 address with too many components",
|
|
289
|
-
"data": "1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1",
|
|
290
|
-
"valid": false
|
|
291
|
-
},
|
|
292
|
-
{
|
|
293
|
-
"description": "an IPv6 address containing illegal characters",
|
|
294
|
-
"data": "::laptop",
|
|
295
|
-
"valid": false
|
|
296
|
-
}
|
|
297
|
-
]
|
|
298
|
-
},
|
|
299
|
-
{
|
|
300
|
-
"description": "validation of host names",
|
|
301
|
-
"schema": {"format": "hostname"},
|
|
302
|
-
"tests": [
|
|
303
|
-
{
|
|
304
|
-
"description": "a valid host name",
|
|
305
|
-
"data": "www.example.com",
|
|
306
|
-
"valid": true
|
|
307
|
-
},
|
|
308
|
-
{
|
|
309
|
-
"description": "a host name starting with an illegal character",
|
|
310
|
-
"data": "-a-host-name-that-starts-with--",
|
|
311
|
-
"valid": false
|
|
312
|
-
},
|
|
313
|
-
{
|
|
314
|
-
"description": "a host name containing illegal characters",
|
|
315
|
-
"data": "not_a_valid_host_name",
|
|
316
|
-
"valid": false
|
|
317
|
-
},
|
|
318
|
-
{
|
|
319
|
-
"description": "a host name with a component too long",
|
|
320
|
-
"data": "a-vvvvvvvvvvvvvvvveeeeeeeeeeeeeeeerrrrrrrrrrrrrrrryyyyyyyyyyyyyyyy-long-host-name-component",
|
|
321
|
-
"valid": false
|
|
322
|
-
}
|
|
323
|
-
]
|
|
324
|
-
},
|
|
325
|
-
{
|
|
326
|
-
"description": "validation of JSON-pointers (JSON String Representation)",
|
|
327
|
-
"schema": {"format": "json-pointer"},
|
|
328
|
-
"tests": [
|
|
329
|
-
{
|
|
330
|
-
"description": "a valid JSON-pointer",
|
|
331
|
-
"data": "/foo/bar~0/baz~1/%a",
|
|
332
|
-
"valid": true
|
|
333
|
-
},
|
|
334
|
-
{
|
|
335
|
-
"description": "not a valid JSON-pointer (~ not escaped)",
|
|
336
|
-
"data": "/foo/bar~",
|
|
337
|
-
"valid": false
|
|
338
|
-
},
|
|
339
|
-
{
|
|
340
|
-
"description": "valid JSON-pointer with empty segment",
|
|
341
|
-
"data": "/foo//bar",
|
|
342
|
-
"valid": true
|
|
343
|
-
},
|
|
344
|
-
{
|
|
345
|
-
"description": "valid JSON-pointer with the last empty segment",
|
|
346
|
-
"data": "/foo/bar/",
|
|
347
|
-
"valid": true
|
|
348
|
-
},
|
|
349
|
-
{
|
|
350
|
-
"description": "valid JSON-pointer as stated in RFC 6901 #1",
|
|
351
|
-
"data": "",
|
|
352
|
-
"valid": true
|
|
353
|
-
},
|
|
354
|
-
{
|
|
355
|
-
"description": "valid JSON-pointer as stated in RFC 6901 #2",
|
|
356
|
-
"data": "/foo",
|
|
357
|
-
"valid": true
|
|
358
|
-
},
|
|
359
|
-
{
|
|
360
|
-
"description": "valid JSON-pointer as stated in RFC 6901 #3",
|
|
361
|
-
"data": "/foo/0",
|
|
362
|
-
"valid": true
|
|
363
|
-
},
|
|
364
|
-
{
|
|
365
|
-
"description": "valid JSON-pointer as stated in RFC 6901 #4",
|
|
366
|
-
"data": "/",
|
|
367
|
-
"valid": true
|
|
368
|
-
},
|
|
369
|
-
{
|
|
370
|
-
"description": "valid JSON-pointer as stated in RFC 6901 #5",
|
|
371
|
-
"data": "/a~1b",
|
|
372
|
-
"valid": true
|
|
373
|
-
},
|
|
374
|
-
{
|
|
375
|
-
"description": "valid JSON-pointer as stated in RFC 6901 #6",
|
|
376
|
-
"data": "/c%d",
|
|
377
|
-
"valid": true
|
|
378
|
-
},
|
|
379
|
-
{
|
|
380
|
-
"description": "valid JSON-pointer as stated in RFC 6901 #7",
|
|
381
|
-
"data": "/e^f",
|
|
382
|
-
"valid": true
|
|
383
|
-
},
|
|
384
|
-
{
|
|
385
|
-
"description": "valid JSON-pointer as stated in RFC 6901 #8",
|
|
386
|
-
"data": "/g|h",
|
|
387
|
-
"valid": true
|
|
388
|
-
},
|
|
389
|
-
{
|
|
390
|
-
"description": "valid JSON-pointer as stated in RFC 6901 #9",
|
|
391
|
-
"data": "/i\\j",
|
|
392
|
-
"valid": true
|
|
393
|
-
},
|
|
394
|
-
{
|
|
395
|
-
"description": "valid JSON-pointer as stated in RFC 6901 #10",
|
|
396
|
-
"data": "/k\"l",
|
|
397
|
-
"valid": true
|
|
398
|
-
},
|
|
399
|
-
{
|
|
400
|
-
"description": "valid JSON-pointer as stated in RFC 6901 #11",
|
|
401
|
-
"data": "/ ",
|
|
402
|
-
"valid": true
|
|
403
|
-
},
|
|
404
|
-
{
|
|
405
|
-
"description": "valid JSON-pointer as stated in RFC 6901 #12",
|
|
406
|
-
"data": "/m~0n",
|
|
407
|
-
"valid": true
|
|
408
|
-
},
|
|
409
|
-
{
|
|
410
|
-
"description": "valid JSON-pointer used adding to the last array position",
|
|
411
|
-
"data": "/foo/-",
|
|
412
|
-
"valid": true
|
|
413
|
-
},
|
|
414
|
-
{
|
|
415
|
-
"description": "valid JSON-pointer (- used as object member name)",
|
|
416
|
-
"data": "/foo/-/bar",
|
|
417
|
-
"valid": true
|
|
418
|
-
},
|
|
419
|
-
{
|
|
420
|
-
"description": "valid JSON-pointer (multiple escaped characters)",
|
|
421
|
-
"data": "/~1~0~0~1~1",
|
|
422
|
-
"valid": true
|
|
423
|
-
},
|
|
424
|
-
{
|
|
425
|
-
"description": "valid JSON-pointer (escaped with fraction part) #1",
|
|
426
|
-
"data": "/~1.1",
|
|
427
|
-
"valid": true
|
|
428
|
-
},
|
|
429
|
-
{
|
|
430
|
-
"description": "valid JSON-pointer (escaped with fraction part) #2",
|
|
431
|
-
"data": "/~0.1",
|
|
432
|
-
"valid": true
|
|
433
|
-
},
|
|
434
|
-
{
|
|
435
|
-
"description": "not a valid JSON-pointer (URI Fragment Identifier) #1",
|
|
436
|
-
"data": "#",
|
|
437
|
-
"valid": false
|
|
438
|
-
},
|
|
439
|
-
{
|
|
440
|
-
"description": "not a valid JSON-pointer (URI Fragment Identifier) #2",
|
|
441
|
-
"data": "#/",
|
|
442
|
-
"valid": false
|
|
443
|
-
},
|
|
444
|
-
{
|
|
445
|
-
"description": "not a valid JSON-pointer (URI Fragment Identifier) #3",
|
|
446
|
-
"data": "#a",
|
|
447
|
-
"valid": false
|
|
448
|
-
},
|
|
449
|
-
{
|
|
450
|
-
"description": "not a valid JSON-pointer (some escaped, but not all) #1",
|
|
451
|
-
"data": "/~0~",
|
|
452
|
-
"valid": false
|
|
453
|
-
},
|
|
454
|
-
{
|
|
455
|
-
"description": "not a valid JSON-pointer (some escaped, but not all) #2",
|
|
456
|
-
"data": "/~0/~",
|
|
457
|
-
"valid": false
|
|
458
|
-
},
|
|
459
|
-
{
|
|
460
|
-
"description": "not a valid JSON-pointer (wrong escape character) #1",
|
|
461
|
-
"data": "/~2",
|
|
462
|
-
"valid": false
|
|
463
|
-
},
|
|
464
|
-
{
|
|
465
|
-
"description": "not a valid JSON-pointer (wrong escape character) #2",
|
|
466
|
-
"data": "/~-1",
|
|
467
|
-
"valid": false
|
|
468
|
-
},
|
|
469
|
-
{
|
|
470
|
-
"description": "not a valid JSON-pointer (multiple characters not escaped)",
|
|
471
|
-
"data": "/~~",
|
|
472
|
-
"valid": false
|
|
473
|
-
},
|
|
474
|
-
{
|
|
475
|
-
"description": "not a valid JSON-pointer (isn't empty nor starts with /) #1",
|
|
476
|
-
"data": "a",
|
|
477
|
-
"valid": false
|
|
478
|
-
},
|
|
479
|
-
{
|
|
480
|
-
"description": "not a valid JSON-pointer (isn't empty nor starts with /) #2",
|
|
481
|
-
"data": "0",
|
|
482
|
-
"valid": false
|
|
483
|
-
},
|
|
484
|
-
{
|
|
485
|
-
"description": "not a valid JSON-pointer (isn't empty nor starts with /) #3",
|
|
486
|
-
"data": "a/a",
|
|
487
|
-
"valid": false
|
|
488
|
-
}
|
|
489
|
-
]
|
|
490
|
-
}
|
|
491
|
-
]
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
[
|
|
2
|
-
{
|
|
3
|
-
"description": "some languages do not distinguish between different types of numeric value",
|
|
4
|
-
"schema": {
|
|
5
|
-
"type": "integer"
|
|
6
|
-
},
|
|
7
|
-
"tests": [
|
|
8
|
-
{
|
|
9
|
-
"description": "a float without fractional part is an integer",
|
|
10
|
-
"data": 1.0,
|
|
11
|
-
"valid": true
|
|
12
|
-
}
|
|
13
|
-
]
|
|
14
|
-
}
|
|
15
|
-
]
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
[
|
|
2
|
-
{
|
|
3
|
-
"description": "pattern validation",
|
|
4
|
-
"schema": {"pattern": "^a*$"},
|
|
5
|
-
"tests": [
|
|
6
|
-
{
|
|
7
|
-
"description": "a matching pattern is valid",
|
|
8
|
-
"data": "aaa",
|
|
9
|
-
"valid": true
|
|
10
|
-
},
|
|
11
|
-
{
|
|
12
|
-
"description": "a non-matching pattern is invalid",
|
|
13
|
-
"data": "abc",
|
|
14
|
-
"valid": false
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
"description": "ignores non-strings",
|
|
18
|
-
"data": true,
|
|
19
|
-
"valid": true
|
|
20
|
-
}
|
|
21
|
-
]
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
"description": "pattern is not anchored",
|
|
25
|
-
"schema": {"pattern": "a+"},
|
|
26
|
-
"tests": [
|
|
27
|
-
{
|
|
28
|
-
"description": "matches a substring",
|
|
29
|
-
"data": "xxaayy",
|
|
30
|
-
"valid": true
|
|
31
|
-
}
|
|
32
|
-
]
|
|
33
|
-
}
|
|
34
|
-
]
|
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
[
|
|
2
|
-
{
|
|
3
|
-
"description":
|
|
4
|
-
"patternProperties validates properties matching a regex",
|
|
5
|
-
"schema": {
|
|
6
|
-
"patternProperties": {
|
|
7
|
-
"f.*o": {"type": "integer"}
|
|
8
|
-
}
|
|
9
|
-
},
|
|
10
|
-
"tests": [
|
|
11
|
-
{
|
|
12
|
-
"description": "a single valid match is valid",
|
|
13
|
-
"data": {"foo": 1},
|
|
14
|
-
"valid": true
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
"description": "multiple valid matches is valid",
|
|
18
|
-
"data": {"foo": 1, "foooooo" : 2},
|
|
19
|
-
"valid": true
|
|
20
|
-
},
|
|
21
|
-
{
|
|
22
|
-
"description": "a single invalid match is invalid",
|
|
23
|
-
"data": {"foo": "bar", "fooooo": 2},
|
|
24
|
-
"valid": false
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
"description": "multiple invalid matches is invalid",
|
|
28
|
-
"data": {"foo": "bar", "foooooo" : "baz"},
|
|
29
|
-
"valid": false
|
|
30
|
-
},
|
|
31
|
-
{
|
|
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",
|
|
43
|
-
"data": 12,
|
|
44
|
-
"valid": true
|
|
45
|
-
}
|
|
46
|
-
]
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
"description": "multiple simultaneous patternProperties are validated",
|
|
50
|
-
"schema": {
|
|
51
|
-
"patternProperties": {
|
|
52
|
-
"a*": {"type": "integer"},
|
|
53
|
-
"aaa*": {"maximum": 20}
|
|
54
|
-
}
|
|
55
|
-
},
|
|
56
|
-
"tests": [
|
|
57
|
-
{
|
|
58
|
-
"description": "a single valid match is valid",
|
|
59
|
-
"data": {"a": 21},
|
|
60
|
-
"valid": true
|
|
61
|
-
},
|
|
62
|
-
{
|
|
63
|
-
"description": "a simultaneous match is valid",
|
|
64
|
-
"data": {"aaaa": 18},
|
|
65
|
-
"valid": true
|
|
66
|
-
},
|
|
67
|
-
{
|
|
68
|
-
"description": "multiple matches is valid",
|
|
69
|
-
"data": {"a": 21, "aaaa": 18},
|
|
70
|
-
"valid": true
|
|
71
|
-
},
|
|
72
|
-
{
|
|
73
|
-
"description": "an invalid due to one is invalid",
|
|
74
|
-
"data": {"a": "bar"},
|
|
75
|
-
"valid": false
|
|
76
|
-
},
|
|
77
|
-
{
|
|
78
|
-
"description": "an invalid due to the other is invalid",
|
|
79
|
-
"data": {"aaaa": 31},
|
|
80
|
-
"valid": false
|
|
81
|
-
},
|
|
82
|
-
{
|
|
83
|
-
"description": "an invalid due to both is invalid",
|
|
84
|
-
"data": {"aaa": "foo", "aaaa": 31},
|
|
85
|
-
"valid": false
|
|
86
|
-
}
|
|
87
|
-
]
|
|
88
|
-
},
|
|
89
|
-
{
|
|
90
|
-
"description": "regexes are not anchored by default and are case sensitive",
|
|
91
|
-
"schema": {
|
|
92
|
-
"patternProperties": {
|
|
93
|
-
"[0-9]{2,}": { "type": "boolean" },
|
|
94
|
-
"X_": { "type": "string" }
|
|
95
|
-
}
|
|
96
|
-
},
|
|
97
|
-
"tests": [
|
|
98
|
-
{
|
|
99
|
-
"description": "non recognized members are ignored",
|
|
100
|
-
"data": { "answer 1": "42" },
|
|
101
|
-
"valid": true
|
|
102
|
-
},
|
|
103
|
-
{
|
|
104
|
-
"description": "recognized members are accounted for",
|
|
105
|
-
"data": { "a31b": null },
|
|
106
|
-
"valid": false
|
|
107
|
-
},
|
|
108
|
-
{
|
|
109
|
-
"description": "regexes are case sensitive",
|
|
110
|
-
"data": { "a_x_3": 3 },
|
|
111
|
-
"valid": true
|
|
112
|
-
},
|
|
113
|
-
{
|
|
114
|
-
"description": "regexes are case sensitive, 2",
|
|
115
|
-
"data": { "a_X_3": 3 },
|
|
116
|
-
"valid": false
|
|
117
|
-
}
|
|
118
|
-
]
|
|
119
|
-
},
|
|
120
|
-
{
|
|
121
|
-
"description": "patternProperties with boolean schemas",
|
|
122
|
-
"schema": {
|
|
123
|
-
"patternProperties": {
|
|
124
|
-
"f.*": true,
|
|
125
|
-
"b.*": false
|
|
126
|
-
}
|
|
127
|
-
},
|
|
128
|
-
"tests": [
|
|
129
|
-
{
|
|
130
|
-
"description": "object with property matching schema true is valid",
|
|
131
|
-
"data": {"foo": 1},
|
|
132
|
-
"valid": true
|
|
133
|
-
},
|
|
134
|
-
{
|
|
135
|
-
"description": "object with property matching schema false is invalid",
|
|
136
|
-
"data": {"bar": 2},
|
|
137
|
-
"valid": false
|
|
138
|
-
},
|
|
139
|
-
{
|
|
140
|
-
"description": "object with both properties is invalid",
|
|
141
|
-
"data": {"foo": 1, "bar": 2},
|
|
142
|
-
"valid": false
|
|
143
|
-
},
|
|
144
|
-
{
|
|
145
|
-
"description": "empty object is valid",
|
|
146
|
-
"data": {},
|
|
147
|
-
"valid": true
|
|
148
|
-
}
|
|
149
|
-
]
|
|
150
|
-
}
|
|
151
|
-
]
|