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,168 +0,0 @@
|
|
|
1
|
-
[
|
|
2
|
-
{
|
|
3
|
-
"description": "validation of JSON-pointers (JSON String Representation)",
|
|
4
|
-
"schema": {"format": "json-pointer"},
|
|
5
|
-
"tests": [
|
|
6
|
-
{
|
|
7
|
-
"description": "a valid JSON-pointer",
|
|
8
|
-
"data": "/foo/bar~0/baz~1/%a",
|
|
9
|
-
"valid": true
|
|
10
|
-
},
|
|
11
|
-
{
|
|
12
|
-
"description": "not a valid JSON-pointer (~ not escaped)",
|
|
13
|
-
"data": "/foo/bar~",
|
|
14
|
-
"valid": false
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
"description": "valid JSON-pointer with empty segment",
|
|
18
|
-
"data": "/foo//bar",
|
|
19
|
-
"valid": true
|
|
20
|
-
},
|
|
21
|
-
{
|
|
22
|
-
"description": "valid JSON-pointer with the last empty segment",
|
|
23
|
-
"data": "/foo/bar/",
|
|
24
|
-
"valid": true
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
"description": "valid JSON-pointer as stated in RFC 6901 #1",
|
|
28
|
-
"data": "",
|
|
29
|
-
"valid": true
|
|
30
|
-
},
|
|
31
|
-
{
|
|
32
|
-
"description": "valid JSON-pointer as stated in RFC 6901 #2",
|
|
33
|
-
"data": "/foo",
|
|
34
|
-
"valid": true
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
"description": "valid JSON-pointer as stated in RFC 6901 #3",
|
|
38
|
-
"data": "/foo/0",
|
|
39
|
-
"valid": true
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
"description": "valid JSON-pointer as stated in RFC 6901 #4",
|
|
43
|
-
"data": "/",
|
|
44
|
-
"valid": true
|
|
45
|
-
},
|
|
46
|
-
{
|
|
47
|
-
"description": "valid JSON-pointer as stated in RFC 6901 #5",
|
|
48
|
-
"data": "/a~1b",
|
|
49
|
-
"valid": true
|
|
50
|
-
},
|
|
51
|
-
{
|
|
52
|
-
"description": "valid JSON-pointer as stated in RFC 6901 #6",
|
|
53
|
-
"data": "/c%d",
|
|
54
|
-
"valid": true
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
"description": "valid JSON-pointer as stated in RFC 6901 #7",
|
|
58
|
-
"data": "/e^f",
|
|
59
|
-
"valid": true
|
|
60
|
-
},
|
|
61
|
-
{
|
|
62
|
-
"description": "valid JSON-pointer as stated in RFC 6901 #8",
|
|
63
|
-
"data": "/g|h",
|
|
64
|
-
"valid": true
|
|
65
|
-
},
|
|
66
|
-
{
|
|
67
|
-
"description": "valid JSON-pointer as stated in RFC 6901 #9",
|
|
68
|
-
"data": "/i\\j",
|
|
69
|
-
"valid": true
|
|
70
|
-
},
|
|
71
|
-
{
|
|
72
|
-
"description": "valid JSON-pointer as stated in RFC 6901 #10",
|
|
73
|
-
"data": "/k\"l",
|
|
74
|
-
"valid": true
|
|
75
|
-
},
|
|
76
|
-
{
|
|
77
|
-
"description": "valid JSON-pointer as stated in RFC 6901 #11",
|
|
78
|
-
"data": "/ ",
|
|
79
|
-
"valid": true
|
|
80
|
-
},
|
|
81
|
-
{
|
|
82
|
-
"description": "valid JSON-pointer as stated in RFC 6901 #12",
|
|
83
|
-
"data": "/m~0n",
|
|
84
|
-
"valid": true
|
|
85
|
-
},
|
|
86
|
-
{
|
|
87
|
-
"description": "valid JSON-pointer used adding to the last array position",
|
|
88
|
-
"data": "/foo/-",
|
|
89
|
-
"valid": true
|
|
90
|
-
},
|
|
91
|
-
{
|
|
92
|
-
"description": "valid JSON-pointer (- used as object member name)",
|
|
93
|
-
"data": "/foo/-/bar",
|
|
94
|
-
"valid": true
|
|
95
|
-
},
|
|
96
|
-
{
|
|
97
|
-
"description": "valid JSON-pointer (multiple escaped characters)",
|
|
98
|
-
"data": "/~1~0~0~1~1",
|
|
99
|
-
"valid": true
|
|
100
|
-
},
|
|
101
|
-
{
|
|
102
|
-
"description": "valid JSON-pointer (escaped with fraction part) #1",
|
|
103
|
-
"data": "/~1.1",
|
|
104
|
-
"valid": true
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
"description": "valid JSON-pointer (escaped with fraction part) #2",
|
|
108
|
-
"data": "/~0.1",
|
|
109
|
-
"valid": true
|
|
110
|
-
},
|
|
111
|
-
{
|
|
112
|
-
"description": "not a valid JSON-pointer (URI Fragment Identifier) #1",
|
|
113
|
-
"data": "#",
|
|
114
|
-
"valid": false
|
|
115
|
-
},
|
|
116
|
-
{
|
|
117
|
-
"description": "not a valid JSON-pointer (URI Fragment Identifier) #2",
|
|
118
|
-
"data": "#/",
|
|
119
|
-
"valid": false
|
|
120
|
-
},
|
|
121
|
-
{
|
|
122
|
-
"description": "not a valid JSON-pointer (URI Fragment Identifier) #3",
|
|
123
|
-
"data": "#a",
|
|
124
|
-
"valid": false
|
|
125
|
-
},
|
|
126
|
-
{
|
|
127
|
-
"description": "not a valid JSON-pointer (some escaped, but not all) #1",
|
|
128
|
-
"data": "/~0~",
|
|
129
|
-
"valid": false
|
|
130
|
-
},
|
|
131
|
-
{
|
|
132
|
-
"description": "not a valid JSON-pointer (some escaped, but not all) #2",
|
|
133
|
-
"data": "/~0/~",
|
|
134
|
-
"valid": false
|
|
135
|
-
},
|
|
136
|
-
{
|
|
137
|
-
"description": "not a valid JSON-pointer (wrong escape character) #1",
|
|
138
|
-
"data": "/~2",
|
|
139
|
-
"valid": false
|
|
140
|
-
},
|
|
141
|
-
{
|
|
142
|
-
"description": "not a valid JSON-pointer (wrong escape character) #2",
|
|
143
|
-
"data": "/~-1",
|
|
144
|
-
"valid": false
|
|
145
|
-
},
|
|
146
|
-
{
|
|
147
|
-
"description": "not a valid JSON-pointer (multiple characters not escaped)",
|
|
148
|
-
"data": "/~~",
|
|
149
|
-
"valid": false
|
|
150
|
-
},
|
|
151
|
-
{
|
|
152
|
-
"description": "not a valid JSON-pointer (isn't empty nor starts with /) #1",
|
|
153
|
-
"data": "a",
|
|
154
|
-
"valid": false
|
|
155
|
-
},
|
|
156
|
-
{
|
|
157
|
-
"description": "not a valid JSON-pointer (isn't empty nor starts with /) #2",
|
|
158
|
-
"data": "0",
|
|
159
|
-
"valid": false
|
|
160
|
-
},
|
|
161
|
-
{
|
|
162
|
-
"description": "not a valid JSON-pointer (isn't empty nor starts with /) #3",
|
|
163
|
-
"data": "a/a",
|
|
164
|
-
"valid": false
|
|
165
|
-
}
|
|
166
|
-
]
|
|
167
|
-
}
|
|
168
|
-
]
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
[
|
|
2
|
-
{
|
|
3
|
-
"description": "validation of regular expressions",
|
|
4
|
-
"schema": {"format": "regex"},
|
|
5
|
-
"tests": [
|
|
6
|
-
{
|
|
7
|
-
"description": "a valid regular expression",
|
|
8
|
-
"data": "([abc])+\\s+$",
|
|
9
|
-
"valid": true
|
|
10
|
-
},
|
|
11
|
-
{
|
|
12
|
-
"description": "a regular expression with unclosed parens is invalid",
|
|
13
|
-
"data": "^(abc]",
|
|
14
|
-
"valid": false
|
|
15
|
-
}
|
|
16
|
-
]
|
|
17
|
-
}
|
|
18
|
-
]
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
[
|
|
2
|
-
{
|
|
3
|
-
"description": "validation of Relative JSON Pointers (RJP)",
|
|
4
|
-
"schema": {"format": "relative-json-pointer"},
|
|
5
|
-
"tests": [
|
|
6
|
-
{
|
|
7
|
-
"description": "a valid upwards RJP",
|
|
8
|
-
"data": "1",
|
|
9
|
-
"valid": true
|
|
10
|
-
},
|
|
11
|
-
{
|
|
12
|
-
"description": "a valid downwards RJP",
|
|
13
|
-
"data": "0/foo/bar",
|
|
14
|
-
"valid": true
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
"description": "a valid up and then down RJP, with array index",
|
|
18
|
-
"data": "2/0/baz/1/zip",
|
|
19
|
-
"valid": true
|
|
20
|
-
},
|
|
21
|
-
{
|
|
22
|
-
"description": "a valid RJP taking the member or index name",
|
|
23
|
-
"data": "0#",
|
|
24
|
-
"valid": true
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
"description": "an invalid RJP that is a valid JSON Pointer",
|
|
28
|
-
"data": "/foo/bar",
|
|
29
|
-
"valid": false
|
|
30
|
-
}
|
|
31
|
-
]
|
|
32
|
-
}
|
|
33
|
-
]
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
[
|
|
2
|
-
{
|
|
3
|
-
"description": "validation of time strings",
|
|
4
|
-
"schema": {"format": "time"},
|
|
5
|
-
"tests": [
|
|
6
|
-
{
|
|
7
|
-
"description": "a valid time string",
|
|
8
|
-
"data": "08:30:06.283185Z",
|
|
9
|
-
"valid": true
|
|
10
|
-
},
|
|
11
|
-
{
|
|
12
|
-
"description": "an invalid time string",
|
|
13
|
-
"data": "08:30:06 PST",
|
|
14
|
-
"valid": false
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
"description": "only RFC3339 not all of ISO 8601 are valid",
|
|
18
|
-
"data": "01:01:01,1111",
|
|
19
|
-
"valid": false
|
|
20
|
-
}
|
|
21
|
-
]
|
|
22
|
-
}
|
|
23
|
-
]
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
[
|
|
2
|
-
{
|
|
3
|
-
"description": "validation of URI References",
|
|
4
|
-
"schema": {"format": "uri-reference"},
|
|
5
|
-
"tests": [
|
|
6
|
-
{
|
|
7
|
-
"description": "a valid URI",
|
|
8
|
-
"data": "http://foo.bar/?baz=qux#quux",
|
|
9
|
-
"valid": true
|
|
10
|
-
},
|
|
11
|
-
{
|
|
12
|
-
"description": "a valid protocol-relative URI Reference",
|
|
13
|
-
"data": "//foo.bar/?baz=qux#quux",
|
|
14
|
-
"valid": true
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
"description": "a valid relative URI Reference",
|
|
18
|
-
"data": "/abc",
|
|
19
|
-
"valid": true
|
|
20
|
-
},
|
|
21
|
-
{
|
|
22
|
-
"description": "an invalid URI Reference",
|
|
23
|
-
"data": "\\\\WINDOWS\\fileshare",
|
|
24
|
-
"valid": false
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
"description": "a valid URI Reference",
|
|
28
|
-
"data": "abc",
|
|
29
|
-
"valid": true
|
|
30
|
-
},
|
|
31
|
-
{
|
|
32
|
-
"description": "a valid URI fragment",
|
|
33
|
-
"data": "#fragment",
|
|
34
|
-
"valid": true
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
"description": "an invalid URI fragment",
|
|
38
|
-
"data": "#frag\\ment",
|
|
39
|
-
"valid": false
|
|
40
|
-
}
|
|
41
|
-
]
|
|
42
|
-
}
|
|
43
|
-
]
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
[
|
|
2
|
-
{
|
|
3
|
-
"description": "format: uri-template",
|
|
4
|
-
"schema": {"format": "uri-template"},
|
|
5
|
-
"tests": [
|
|
6
|
-
{
|
|
7
|
-
"description": "a valid uri-template",
|
|
8
|
-
"data": "http://example.com/dictionary/{term:1}/{term}",
|
|
9
|
-
"valid": true
|
|
10
|
-
},
|
|
11
|
-
{
|
|
12
|
-
"description": "an invalid uri-template",
|
|
13
|
-
"data": "http://example.com/dictionary/{term:1}/{term",
|
|
14
|
-
"valid": false
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
"description": "a valid uri-template without variables",
|
|
18
|
-
"data": "http://example.com/dictionary",
|
|
19
|
-
"valid": true
|
|
20
|
-
},
|
|
21
|
-
{
|
|
22
|
-
"description": "a valid relative uri-template",
|
|
23
|
-
"data": "dictionary/{term:1}/{term}",
|
|
24
|
-
"valid": true
|
|
25
|
-
}
|
|
26
|
-
]
|
|
27
|
-
}
|
|
28
|
-
]
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
[
|
|
2
|
-
{
|
|
3
|
-
"description": "validation of URIs",
|
|
4
|
-
"schema": {"format": "uri"},
|
|
5
|
-
"tests": [
|
|
6
|
-
{
|
|
7
|
-
"description": "a valid URL with anchor tag",
|
|
8
|
-
"data": "http://foo.bar/?baz=qux#quux",
|
|
9
|
-
"valid": true
|
|
10
|
-
},
|
|
11
|
-
{
|
|
12
|
-
"description": "a valid URL with anchor tag and parantheses",
|
|
13
|
-
"data": "http://foo.com/blah_(wikipedia)_blah#cite-1",
|
|
14
|
-
"valid": true
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
"description": "a valid URL with URL-encoded stuff",
|
|
18
|
-
"data": "http://foo.bar/?q=Test%20URL-encoded%20stuff",
|
|
19
|
-
"valid": true
|
|
20
|
-
},
|
|
21
|
-
{
|
|
22
|
-
"description": "a valid puny-coded URL ",
|
|
23
|
-
"data": "http://xn--nw2a.xn--j6w193g/",
|
|
24
|
-
"valid": true
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
"description": "a valid URL with many special characters",
|
|
28
|
-
"data": "http://-.~_!$&'()*+,;=:%40:80%2f::::::@example.com",
|
|
29
|
-
"valid": true
|
|
30
|
-
},
|
|
31
|
-
{
|
|
32
|
-
"description": "a valid URL based on IPv4",
|
|
33
|
-
"data": "http://223.255.255.254",
|
|
34
|
-
"valid": true
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
"description": "a valid URL with ftp scheme",
|
|
38
|
-
"data": "ftp://ftp.is.co.za/rfc/rfc1808.txt",
|
|
39
|
-
"valid": true
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
"description": "a valid URL for a simple text file",
|
|
43
|
-
"data": "http://www.ietf.org/rfc/rfc2396.txt",
|
|
44
|
-
"valid": true
|
|
45
|
-
},
|
|
46
|
-
{
|
|
47
|
-
"description": "a valid URL ",
|
|
48
|
-
"data": "ldap://[2001:db8::7]/c=GB?objectClass?one",
|
|
49
|
-
"valid": true
|
|
50
|
-
},
|
|
51
|
-
{
|
|
52
|
-
"description": "a valid mailto URI",
|
|
53
|
-
"data": "mailto:John.Doe@example.com",
|
|
54
|
-
"valid": true
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
"description": "a valid newsgroup URI",
|
|
58
|
-
"data": "news:comp.infosystems.www.servers.unix",
|
|
59
|
-
"valid": true
|
|
60
|
-
},
|
|
61
|
-
{
|
|
62
|
-
"description": "a valid tel URI",
|
|
63
|
-
"data": "tel:+1-816-555-1212",
|
|
64
|
-
"valid": true
|
|
65
|
-
},
|
|
66
|
-
{
|
|
67
|
-
"description": "a valid URN",
|
|
68
|
-
"data": "urn:oasis:names:specification:docbook:dtd:xml:4.1.2",
|
|
69
|
-
"valid": true
|
|
70
|
-
},
|
|
71
|
-
{
|
|
72
|
-
"description": "an invalid protocol-relative URI Reference",
|
|
73
|
-
"data": "//foo.bar/?baz=qux#quux",
|
|
74
|
-
"valid": false
|
|
75
|
-
},
|
|
76
|
-
{
|
|
77
|
-
"description": "an invalid relative URI Reference",
|
|
78
|
-
"data": "/abc",
|
|
79
|
-
"valid": false
|
|
80
|
-
},
|
|
81
|
-
{
|
|
82
|
-
"description": "an invalid URI",
|
|
83
|
-
"data": "\\\\WINDOWS\\fileshare",
|
|
84
|
-
"valid": false
|
|
85
|
-
},
|
|
86
|
-
{
|
|
87
|
-
"description": "an invalid URI though valid URI reference",
|
|
88
|
-
"data": "abc",
|
|
89
|
-
"valid": false
|
|
90
|
-
},
|
|
91
|
-
{
|
|
92
|
-
"description": "an invalid URI with spaces",
|
|
93
|
-
"data": "http:// shouldfail.com",
|
|
94
|
-
"valid": false
|
|
95
|
-
},
|
|
96
|
-
{
|
|
97
|
-
"description": "an invalid URI with spaces and missing scheme",
|
|
98
|
-
"data": ":// should fail",
|
|
99
|
-
"valid": false
|
|
100
|
-
}
|
|
101
|
-
]
|
|
102
|
-
}
|
|
103
|
-
]
|
|
@@ -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
|
-
]
|