json-schema-utils 0.9.2__tar.gz → 0.9.4__tar.gz

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.
Files changed (33) hide show
  1. {json_schema_utils-0.9.2 → json_schema_utils-0.9.4}/.gitignore +1 -0
  2. {json_schema_utils-0.9.2 → json_schema_utils-0.9.4}/BACKLOG.md +20 -3
  3. json_schema_utils-0.9.4/JSTS.md +429 -0
  4. {json_schema_utils-0.9.2/json_schema_utils.egg-info → json_schema_utils-0.9.4}/PKG-INFO +10 -7
  5. {json_schema_utils-0.9.2 → json_schema_utils-0.9.4}/README.md +9 -6
  6. {json_schema_utils-0.9.2 → json_schema_utils-0.9.4/json_schema_utils.egg-info}/PKG-INFO +10 -7
  7. {json_schema_utils-0.9.2 → json_schema_utils-0.9.4}/json_schema_utils.egg-info/SOURCES.txt +3 -1
  8. json_schema_utils-0.9.4/jsts_status.sh +113 -0
  9. {json_schema_utils-0.9.2 → json_schema_utils-0.9.4}/jsutils/convert.py +184 -22
  10. {json_schema_utils-0.9.2 → json_schema_utils-0.9.4}/jsutils/inline.py +13 -50
  11. json_schema_utils-0.9.4/jsutils/resolver.py +79 -0
  12. {json_schema_utils-0.9.2 → json_schema_utils-0.9.4}/jsutils/schemas.py +7 -30
  13. {json_schema_utils-0.9.2 → json_schema_utils-0.9.4}/jsutils/scripts.py +102 -66
  14. {json_schema_utils-0.9.2 → json_schema_utils-0.9.4}/jsutils/stats.py +83 -8
  15. {json_schema_utils-0.9.2 → json_schema_utils-0.9.4}/jsutils/utils.py +7 -1
  16. json_schema_utils-0.9.4/jsutils/vocab.py +206 -0
  17. {json_schema_utils-0.9.2 → json_schema_utils-0.9.4}/pyproject.toml +1 -1
  18. json_schema_utils-0.9.2/JSTS.md +0 -297
  19. json_schema_utils-0.9.2/jsts_status.sh +0 -72
  20. {json_schema_utils-0.9.2 → json_schema_utils-0.9.4}/CONVERT.md +0 -0
  21. {json_schema_utils-0.9.2 → json_schema_utils-0.9.4}/LICENSE +0 -0
  22. {json_schema_utils-0.9.2 → json_schema_utils-0.9.4}/MANIFEST.in +0 -0
  23. {json_schema_utils-0.9.2 → json_schema_utils-0.9.4}/Makefile +0 -0
  24. {json_schema_utils-0.9.2 → json_schema_utils-0.9.4}/json_schema_utils.egg-info/dependency_links.txt +0 -0
  25. {json_schema_utils-0.9.2 → json_schema_utils-0.9.4}/json_schema_utils.egg-info/entry_points.txt +0 -0
  26. {json_schema_utils-0.9.2 → json_schema_utils-0.9.4}/json_schema_utils.egg-info/requires.txt +0 -0
  27. {json_schema_utils-0.9.2 → json_schema_utils-0.9.4}/json_schema_utils.egg-info/top_level.txt +0 -0
  28. {json_schema_utils-0.9.2 → json_schema_utils-0.9.4}/jsutils/__init__.py +0 -0
  29. {json_schema_utils-0.9.2 → json_schema_utils-0.9.4}/jsutils/recurse.py +0 -0
  30. {json_schema_utils-0.9.2 → json_schema_utils-0.9.4}/jsutils/restruct.py +0 -0
  31. {json_schema_utils-0.9.2 → json_schema_utils-0.9.4}/jsutils/simplify.py +0 -0
  32. {json_schema_utils-0.9.2 → json_schema_utils-0.9.4}/jsutils/types.py +0 -0
  33. {json_schema_utils-0.9.2 → json_schema_utils-0.9.4}/setup.cfg +0 -0
@@ -172,3 +172,4 @@ cython_debug/
172
172
 
173
173
  # misc
174
174
  tmp/
175
+ env.sh
@@ -2,7 +2,13 @@
2
2
 
3
3
  ## JSU schema compilation with JMC backend
4
4
 
5
- - [x] add `--runtime` option to show runtime directory
5
+ - [x] reduce verbosity about `$vocabulary`
6
+ - [ ] format: uri or uri-reference (RFC3986), uri-template (RFC6570)
7
+ - [ ] format: iri or iri-reference (RFC3987)
8
+ - [ ] format: regex see [Section 6.4](https://datatracker.ietf.org/doc/html/draft-bhutton-json-schema-01#name-regular-expressions) for restrictions
9
+ - [ ] format: email (RFC5321), idn-email (RFC6531)
10
+ - [ ] format: hostname (RFC1123) with punycode (RFC5890), idn-hostname (add RFC5890)
11
+ - [ ] format rely on extensions (color, rel jsonpt…) [wip]
6
12
  - [ ] convert merge `allOf` before proceeding when possible
7
13
  - [ ] simpler remove `tests/string_03.simpler.json` redundant `$ref` on merge
8
14
  - [ ] improve `unevaluatedItems` support (wip)
@@ -14,8 +20,6 @@
14
20
  - [ ] move typing out to simplify the generated code
15
21
  - [ ] get 100% on _draft2019-09_
16
22
  - [ ] get 100% on _draft2020-12_
17
- - [ ] add `.in` support with constraints
18
- - [ ] tests with all languages, not just Python
19
23
  - [ ] list compiler current limitations
20
24
  - [ ] run some optional tests, eg _format_
21
25
  - [ ] put typing result in "$type" instead of "type" to help with fixing?
@@ -44,3 +48,16 @@
44
48
  - [x] improve support for `unevaluatedProperties` on common use cases
45
49
  - [x] show default values on `--help`
46
50
  - [x] simpler possibly remove all-types lists
51
+ - [x] add `--runtime` option to show runtime directory
52
+ - [x] tests with more languages: bowtie with C, JS, java, perl
53
+ - [x] convert handle `not` by switching to `oneOf`
54
+ - [x] convert fix missing escaping on string constants
55
+ - [x] fix unintentional override of jmc options on forwarding
56
+ - [x] refactor resolver stuff to reuse it for vocabularies
57
+ - [x] support for $vocabulary by removing disactivated keywords
58
+ - [x] make test runner report failures with status
59
+ - [x] add `--format` to test runner
60
+ - [x] compiler: set format default depending on vocabularies
61
+ - [x] fix regex `[a|A]`… to `[aA]` to possibly `/a/i`
62
+ - [x] fix regex with useless or missing parentheses
63
+ - [x] stats: detect regex fixes `^foo|bla$`, `[x|X]`…
@@ -0,0 +1,429 @@
1
+ # JSON Schema Test Suite Report
2
+
3
+ Versions:
4
+
5
+ - JSTS: `e819f329268130e0ed5bbc87b071c83d8e02a68a`
6
+ - JSU: `0.9.3 (backend jmc 2.0b42)` (Python backend)
7
+
8
+ Note about `format` with the Python backend:
9
+
10
+ - still searching for a good _hostname_ validator.
11
+ - checking for _emacscript regex_ intricacies will only ever work with JavaScript.
12
+ - draft3 allows time without a timezone, whereas later drafts do not
13
+
14
+ ## Results for _draft2020-12_
15
+
16
+ Main test suite:
17
+
18
+ - `additionalProperties.json`: errors=0 cases=9/9 (100.0%) tests=21/21 (100.0%, 0 fails)
19
+ - `allOf.json`: errors=0 cases=12/12 (100.0%) tests=30/30 (100.0%, 0 fails)
20
+ - `anchor.json`: errors=0 cases=3/4 (75.0%) tests=7/8 (87.5%, 1 fails)
21
+ - `anyOf.json`: errors=0 cases=8/8 (100.0%) tests=18/18 (100.0%, 0 fails)
22
+ - `boolean_schema.json`: errors=0 cases=2/2 (100.0%) tests=18/18 (100.0%, 0 fails)
23
+ - `const.json`: errors=0 cases=17/17 (100.0%) tests=54/54 (100.0%, 0 fails)
24
+ - `contains.json`: errors=0 cases=7/7 (100.0%) tests=21/21 (100.0%, 0 fails)
25
+ - `content.json`: errors=0 cases=4/4 (100.0%) tests=18/18 (100.0%, 0 fails)
26
+ - `default.json`: errors=0 cases=3/3 (100.0%) tests=7/7 (100.0%, 0 fails)
27
+ - `defs.json`: errors=0 cases=0/1 (0.0%) tests=1/2 (50.0%, 1 fails)
28
+ - `dependentRequired.json`: errors=0 cases=4/4 (100.0%) tests=20/20 (100.0%, 0 fails)
29
+ - `dependentSchemas.json`: errors=0 cases=4/4 (100.0%) tests=20/20 (100.0%, 0 fails)
30
+ - `dynamicRef.json`: errors=0 cases=7/21 (33.3%) tests=26/44 (59.1%, 18 fails)
31
+ - `enum.json`: errors=0 cases=15/15 (100.0%) tests=51/51 (100.0%, 0 fails)
32
+ - `exclusiveMaximum.json`: errors=0 cases=1/1 (100.0%) tests=4/4 (100.0%, 0 fails)
33
+ - `exclusiveMinimum.json`: errors=0 cases=1/1 (100.0%) tests=4/4 (100.0%, 0 fails)
34
+ - `format.json`: errors=0 cases=19/19 (100.0%) tests=133/133 (100.0%, 0 fails)
35
+ - `if-then-else.json`: errors=0 cases=12/12 (100.0%) tests=30/30 (100.0%, 0 fails)
36
+ - `infinite-loop-detection.json`: errors=0 cases=1/1 (100.0%) tests=2/2 (100.0%, 0 fails)
37
+ - `items.json`: errors=0 cases=10/10 (100.0%) tests=29/29 (100.0%, 0 fails)
38
+ - `maxContains.json`: errors=0 cases=5/5 (100.0%) tests=14/14 (100.0%, 0 fails)
39
+ - `maximum.json`: errors=0 cases=2/2 (100.0%) tests=8/8 (100.0%, 0 fails)
40
+ - `maxItems.json`: errors=0 cases=2/2 (100.0%) tests=6/6 (100.0%, 0 fails)
41
+ - `maxLength.json`: errors=0 cases=2/2 (100.0%) tests=7/7 (100.0%, 0 fails)
42
+ - `maxProperties.json`: errors=0 cases=3/3 (100.0%) tests=10/10 (100.0%, 0 fails)
43
+ - `minContains.json`: errors=0 cases=8/8 (100.0%) tests=28/28 (100.0%, 0 fails)
44
+ - `minimum.json`: errors=0 cases=2/2 (100.0%) tests=11/11 (100.0%, 0 fails)
45
+ - `minItems.json`: errors=0 cases=2/2 (100.0%) tests=6/6 (100.0%, 0 fails)
46
+ - `minLength.json`: errors=0 cases=2/2 (100.0%) tests=7/7 (100.0%, 0 fails)
47
+ - `minProperties.json`: errors=0 cases=2/2 (100.0%) tests=8/8 (100.0%, 0 fails)
48
+ - `multipleOf.json`: errors=0 cases=5/5 (100.0%) tests=10/10 (100.0%, 0 fails)
49
+ - `not.json`: errors=0 cases=9/9 (100.0%) tests=40/40 (100.0%, 0 fails)
50
+ - `oneOf.json`: errors=0 cases=11/11 (100.0%) tests=27/27 (100.0%, 0 fails)
51
+ - `pattern.json`: errors=0 cases=2/3 (66.7%) tests=11/12 (91.7%, 1 fails)
52
+ - `patternProperties.json`: errors=0 cases=6/6 (100.0%) tests=25/25 (100.0%, 0 fails)
53
+ - `prefixItems.json`: errors=0 cases=4/4 (100.0%) tests=11/11 (100.0%, 0 fails)
54
+ - `properties.json`: errors=0 cases=6/6 (100.0%) tests=28/28 (100.0%, 0 fails)
55
+ - `propertyNames.json`: errors=0 cases=6/6 (100.0%) tests=20/20 (100.0%, 0 fails)
56
+ - `ref.json`: errors=0 cases=32/36 (88.9%) tests=75/79 (94.9%, 4 fails)
57
+ - `refRemote.json`: errors=0 cases=14/15 (93.3%) tests=30/31 (96.8%, 1 fails)
58
+ - `required.json`: errors=0 cases=5/5 (100.0%) tests=18/18 (100.0%, 0 fails)
59
+ - `type.json`: errors=0 cases=11/11 (100.0%) tests=80/80 (100.0%, 0 fails)
60
+ - `unevaluatedItems.json`: errors=0 cases=16/29 (55.2%) tests=53/71 (74.6%, 18 fails)
61
+ - `unevaluatedProperties.json`: errors=0 cases=34/42 (81.0%) tests=115/125 (92.0%, 10 fails)
62
+ - `uniqueItems.json`: errors=0 cases=6/6 (100.0%) tests=69/69 (100.0%, 0 fails)
63
+ - `vocabulary.json`: errors=0 cases=2/2 (100.0%) tests=5/5 (100.0%, 0 fails)
64
+ - summary: files=46 errors=0 cases=337/381 (88.5%) tests=1235/1290 (95.7%, 55 fails)
65
+
66
+ Format tests:
67
+
68
+ - `format/date.json`: errors=0 cases=1/1 (100.0%) tests=48/48 (100.0%, 0 fails)
69
+ - `format/date-time.json`: errors=0 cases=1/1 (100.0%) tests=29/29 (100.0%, 0 fails)
70
+ - `format/duration.json`: errors=0 cases=1/1 (100.0%) tests=42/42 (100.0%, 0 fails)
71
+ - `format/ecmascript-regex.json`: errors=0 cases=0/1 (0.0%) tests=0/1 (0.0%, 1 fails)
72
+ - `format/email.json`: errors=0 cases=0/1 (0.0%) tests=23/27 (85.2%, 4 fails)
73
+ - `format/hostname.json`: errors=1 cases=0/2 (0.0%) tests=37/61 (60.7%, 24 fails)
74
+ - `format/idn-email.json`: errors=0 cases=0/1 (0.0%) tests=8/9 (88.9%, 1 fails)
75
+ - `format/idn-hostname.json`: errors=1 cases=0/2 (0.0%) tests=53/77 (68.8%, 24 fails)
76
+ - `format/ipv4.json`: errors=0 cases=1/1 (100.0%) tests=33/33 (100.0%, 0 fails)
77
+ - `format/ipv6.json`: errors=0 cases=1/1 (100.0%) tests=40/40 (100.0%, 0 fails)
78
+ - `format/iri.json`: errors=0 cases=0/1 (0.0%) tests=13/15 (86.7%, 2 fails)
79
+ - `format/iri-reference.json`: errors=0 cases=0/1 (0.0%) tests=8/13 (61.5%, 5 fails)
80
+ - `format/json-pointer.json`: errors=0 cases=1/1 (100.0%) tests=40/40 (100.0%, 0 fails)
81
+ - `format/regex.json`: errors=0 cases=1/1 (100.0%) tests=8/8 (100.0%, 0 fails)
82
+ - `format/relative-json-pointer.json`: errors=0 cases=1/1 (100.0%) tests=18/18 (100.0%, 0 fails)
83
+ - `format/time.json`: errors=0 cases=1/1 (100.0%) tests=47/47 (100.0%, 0 fails)
84
+ - `format/unknown.json`: errors=0 cases=1/1 (100.0%) tests=7/7 (100.0%, 0 fails)
85
+ - `format/uri.json`: errors=0 cases=0/1 (0.0%) tests=33/44 (75.0%, 11 fails)
86
+ - `format/uri-reference.json`: errors=0 cases=0/1 (0.0%) tests=11/17 (64.7%, 6 fails)
87
+ - `format/uri-template.json`: errors=0 cases=0/1 (0.0%) tests=8/10 (80.0%, 2 fails)
88
+ - `format/uuid.json`: errors=0 cases=1/1 (100.0%) tests=22/22 (100.0%, 0 fails)
89
+ - summary: files=21 errors=2 cases=11/23 (47.8%) tests=528/608 (86.8%, 80 fails)
90
+
91
+ ## Results for _draft2019-09_
92
+
93
+ Main test suite:
94
+
95
+ - `additionalItems.json`: errors=0 cases=10/10 (100.0%) tests=19/19 (100.0%, 0 fails)
96
+ - `additionalProperties.json`: errors=0 cases=9/9 (100.0%) tests=21/21 (100.0%, 0 fails)
97
+ - `allOf.json`: errors=0 cases=12/12 (100.0%) tests=30/30 (100.0%, 0 fails)
98
+ - `anchor.json`: errors=0 cases=3/4 (75.0%) tests=7/8 (87.5%, 1 fails)
99
+ - `anyOf.json`: errors=0 cases=8/8 (100.0%) tests=18/18 (100.0%, 0 fails)
100
+ - `boolean_schema.json`: errors=0 cases=2/2 (100.0%) tests=18/18 (100.0%, 0 fails)
101
+ - `const.json`: errors=0 cases=17/17 (100.0%) tests=54/54 (100.0%, 0 fails)
102
+ - `contains.json`: errors=0 cases=7/7 (100.0%) tests=21/21 (100.0%, 0 fails)
103
+ - `content.json`: errors=0 cases=4/4 (100.0%) tests=18/18 (100.0%, 0 fails)
104
+ - `default.json`: errors=0 cases=3/3 (100.0%) tests=7/7 (100.0%, 0 fails)
105
+ - `defs.json`: errors=0 cases=0/1 (0.0%) tests=1/2 (50.0%, 1 fails)
106
+ - `dependentRequired.json`: errors=0 cases=4/4 (100.0%) tests=20/20 (100.0%, 0 fails)
107
+ - `dependentSchemas.json`: errors=0 cases=4/4 (100.0%) tests=20/20 (100.0%, 0 fails)
108
+ - `enum.json`: errors=0 cases=15/15 (100.0%) tests=51/51 (100.0%, 0 fails)
109
+ - `exclusiveMaximum.json`: errors=0 cases=1/1 (100.0%) tests=4/4 (100.0%, 0 fails)
110
+ - `exclusiveMinimum.json`: errors=0 cases=1/1 (100.0%) tests=4/4 (100.0%, 0 fails)
111
+ - `format.json`: errors=0 cases=19/19 (100.0%) tests=114/114 (100.0%, 0 fails)
112
+ - `if-then-else.json`: errors=0 cases=12/12 (100.0%) tests=30/30 (100.0%, 0 fails)
113
+ - `infinite-loop-detection.json`: errors=0 cases=1/1 (100.0%) tests=2/2 (100.0%, 0 fails)
114
+ - `items.json`: errors=0 cases=9/9 (100.0%) tests=28/28 (100.0%, 0 fails)
115
+ - `maxContains.json`: errors=0 cases=5/5 (100.0%) tests=14/14 (100.0%, 0 fails)
116
+ - `maximum.json`: errors=0 cases=2/2 (100.0%) tests=8/8 (100.0%, 0 fails)
117
+ - `maxItems.json`: errors=0 cases=2/2 (100.0%) tests=6/6 (100.0%, 0 fails)
118
+ - `maxLength.json`: errors=0 cases=2/2 (100.0%) tests=7/7 (100.0%, 0 fails)
119
+ - `maxProperties.json`: errors=0 cases=3/3 (100.0%) tests=10/10 (100.0%, 0 fails)
120
+ - `minContains.json`: errors=0 cases=8/8 (100.0%) tests=28/28 (100.0%, 0 fails)
121
+ - `minimum.json`: errors=0 cases=2/2 (100.0%) tests=11/11 (100.0%, 0 fails)
122
+ - `minItems.json`: errors=0 cases=2/2 (100.0%) tests=6/6 (100.0%, 0 fails)
123
+ - `minLength.json`: errors=0 cases=2/2 (100.0%) tests=7/7 (100.0%, 0 fails)
124
+ - `minProperties.json`: errors=0 cases=2/2 (100.0%) tests=8/8 (100.0%, 0 fails)
125
+ - `multipleOf.json`: errors=0 cases=5/5 (100.0%) tests=10/10 (100.0%, 0 fails)
126
+ - `not.json`: errors=0 cases=9/9 (100.0%) tests=40/40 (100.0%, 0 fails)
127
+ - `oneOf.json`: errors=0 cases=11/11 (100.0%) tests=27/27 (100.0%, 0 fails)
128
+ - `pattern.json`: errors=0 cases=2/2 (100.0%) tests=9/9 (100.0%, 0 fails)
129
+ - `patternProperties.json`: errors=0 cases=5/5 (100.0%) tests=23/23 (100.0%, 0 fails)
130
+ - `properties.json`: errors=0 cases=6/6 (100.0%) tests=28/28 (100.0%, 0 fails)
131
+ - `propertyNames.json`: errors=0 cases=6/6 (100.0%) tests=20/20 (100.0%, 0 fails)
132
+ - `recursiveRef.json`: errors=0 cases=1/9 (11.1%) tests=23/34 (67.6%, 11 fails)
133
+ - `ref.json`: errors=0 cases=31/37 (83.8%) tests=75/81 (92.6%, 6 fails)
134
+ - `refRemote.json`: errors=0 cases=14/15 (93.3%) tests=30/31 (96.8%, 1 fails)
135
+ - `required.json`: errors=0 cases=5/5 (100.0%) tests=18/18 (100.0%, 0 fails)
136
+ - `type.json`: errors=0 cases=11/11 (100.0%) tests=80/80 (100.0%, 0 fails)
137
+ - `unevaluatedItems.json`: errors=0 cases=17/26 (65.4%) tests=45/56 (80.4%, 11 fails)
138
+ - `unevaluatedProperties.json`: errors=0 cases=30/42 (71.4%) tests=111/125 (88.8%, 14 fails)
139
+ - `uniqueItems.json`: errors=0 cases=6/6 (100.0%) tests=69/69 (100.0%, 0 fails)
140
+ - `vocabulary.json`: errors=0 cases=2/2 (100.0%) tests=5/5 (100.0%, 0 fails)
141
+ - summary: files=46 errors=0 cases=332/370 (89.7%) tests=1205/1250 (96.4%, 45 fails)
142
+
143
+ Format tests:
144
+
145
+ - `format/date.json`: errors=0 cases=1/1 (100.0%) tests=48/48 (100.0%, 0 fails)
146
+ - `format/date-time.json`: errors=0 cases=1/1 (100.0%) tests=29/29 (100.0%, 0 fails)
147
+ - `format/duration.json`: errors=0 cases=1/1 (100.0%) tests=42/42 (100.0%, 0 fails)
148
+ - `format/email.json`: errors=0 cases=1/1 (100.0%) tests=20/20 (100.0%, 0 fails)
149
+ - `format/hostname.json`: errors=1 cases=0/2 (0.0%) tests=37/61 (60.7%, 24 fails)
150
+ - `format/idn-email.json`: errors=0 cases=0/1 (0.0%) tests=8/9 (88.9%, 1 fails)
151
+ - `format/idn-hostname.json`: errors=1 cases=0/2 (0.0%) tests=53/77 (68.8%, 24 fails)
152
+ - `format/ipv4.json`: errors=0 cases=1/1 (100.0%) tests=33/33 (100.0%, 0 fails)
153
+ - `format/ipv6.json`: errors=0 cases=1/1 (100.0%) tests=40/40 (100.0%, 0 fails)
154
+ - `format/iri.json`: errors=0 cases=0/1 (0.0%) tests=13/15 (86.7%, 2 fails)
155
+ - `format/iri-reference.json`: errors=0 cases=0/1 (0.0%) tests=8/13 (61.5%, 5 fails)
156
+ - `format/json-pointer.json`: errors=0 cases=1/1 (100.0%) tests=40/40 (100.0%, 0 fails)
157
+ - `format/regex.json`: errors=0 cases=1/1 (100.0%) tests=8/8 (100.0%, 0 fails)
158
+ - `format/relative-json-pointer.json`: errors=0 cases=1/1 (100.0%) tests=18/18 (100.0%, 0 fails)
159
+ - `format/time.json`: errors=0 cases=1/1 (100.0%) tests=47/47 (100.0%, 0 fails)
160
+ - `format/unknown.json`: errors=0 cases=1/1 (100.0%) tests=7/7 (100.0%, 0 fails)
161
+ - `format/uri.json`: errors=0 cases=0/1 (0.0%) tests=33/44 (75.0%, 11 fails)
162
+ - `format/uri-reference.json`: errors=0 cases=0/1 (0.0%) tests=11/17 (64.7%, 6 fails)
163
+ - `format/uri-template.json`: errors=0 cases=0/1 (0.0%) tests=8/10 (80.0%, 2 fails)
164
+ - `format/uuid.json`: errors=0 cases=1/1 (100.0%) tests=22/22 (100.0%, 0 fails)
165
+ - summary: files=20 errors=2 cases=12/22 (54.5%) tests=525/600 (87.5%, 75 fails)
166
+
167
+ ## Results for _draft7_
168
+
169
+ Main test suite:
170
+
171
+ - `additionalItems.json`: errors=0 cases=10/10 (100.0%) tests=19/19 (100.0%, 0 fails)
172
+ - `additionalProperties.json`: errors=0 cases=7/7 (100.0%) tests=16/16 (100.0%, 0 fails)
173
+ - `allOf.json`: errors=0 cases=12/12 (100.0%) tests=30/30 (100.0%, 0 fails)
174
+ - `anyOf.json`: errors=0 cases=8/8 (100.0%) tests=18/18 (100.0%, 0 fails)
175
+ - `boolean_schema.json`: errors=0 cases=2/2 (100.0%) tests=18/18 (100.0%, 0 fails)
176
+ - `const.json`: errors=0 cases=17/17 (100.0%) tests=54/54 (100.0%, 0 fails)
177
+ - `contains.json`: errors=0 cases=7/7 (100.0%) tests=21/21 (100.0%, 0 fails)
178
+ - `default.json`: errors=0 cases=3/3 (100.0%) tests=7/7 (100.0%, 0 fails)
179
+ - `definitions.json`: errors=0 cases=1/1 (100.0%) tests=2/2 (100.0%, 0 fails)
180
+ - `dependencies.json`: errors=0 cases=7/7 (100.0%) tests=36/36 (100.0%, 0 fails)
181
+ - `enum.json`: errors=0 cases=14/14 (100.0%) tests=45/45 (100.0%, 0 fails)
182
+ - `exclusiveMaximum.json`: errors=0 cases=1/1 (100.0%) tests=4/4 (100.0%, 0 fails)
183
+ - `exclusiveMinimum.json`: errors=0 cases=1/1 (100.0%) tests=4/4 (100.0%, 0 fails)
184
+ - `format.json`: errors=0 cases=17/17 (100.0%) tests=102/102 (100.0%, 0 fails)
185
+ - `if-then-else.json`: errors=0 cases=12/12 (100.0%) tests=30/30 (100.0%, 0 fails)
186
+ - `infinite-loop-detection.json`: errors=0 cases=1/1 (100.0%) tests=2/2 (100.0%, 0 fails)
187
+ - `items.json`: errors=0 cases=9/9 (100.0%) tests=28/28 (100.0%, 0 fails)
188
+ - `maximum.json`: errors=0 cases=2/2 (100.0%) tests=8/8 (100.0%, 0 fails)
189
+ - `maxItems.json`: errors=0 cases=2/2 (100.0%) tests=6/6 (100.0%, 0 fails)
190
+ - `maxLength.json`: errors=0 cases=2/2 (100.0%) tests=7/7 (100.0%, 0 fails)
191
+ - `maxProperties.json`: errors=0 cases=3/3 (100.0%) tests=10/10 (100.0%, 0 fails)
192
+ - `minimum.json`: errors=0 cases=2/2 (100.0%) tests=11/11 (100.0%, 0 fails)
193
+ - `minItems.json`: errors=0 cases=2/2 (100.0%) tests=6/6 (100.0%, 0 fails)
194
+ - `minLength.json`: errors=0 cases=2/2 (100.0%) tests=7/7 (100.0%, 0 fails)
195
+ - `minProperties.json`: errors=0 cases=2/2 (100.0%) tests=8/8 (100.0%, 0 fails)
196
+ - `multipleOf.json`: errors=0 cases=5/5 (100.0%) tests=10/10 (100.0%, 0 fails)
197
+ - `not.json`: errors=0 cases=8/8 (100.0%) tests=38/38 (100.0%, 0 fails)
198
+ - `oneOf.json`: errors=0 cases=11/11 (100.0%) tests=27/27 (100.0%, 0 fails)
199
+ - `pattern.json`: errors=0 cases=2/2 (100.0%) tests=9/9 (100.0%, 0 fails)
200
+ - `patternProperties.json`: errors=0 cases=5/5 (100.0%) tests=23/23 (100.0%, 0 fails)
201
+ - `properties.json`: errors=0 cases=6/6 (100.0%) tests=28/28 (100.0%, 0 fails)
202
+ - `propertyNames.json`: errors=0 cases=6/6 (100.0%) tests=20/20 (100.0%, 0 fails)
203
+ - `ref.json`: errors=0 cases=35/35 (100.0%) tests=78/78 (100.0%, 0 fails)
204
+ - `refRemote.json`: errors=0 cases=11/11 (100.0%) tests=23/23 (100.0%, 0 fails)
205
+ - `required.json`: errors=0 cases=5/5 (100.0%) tests=18/18 (100.0%, 0 fails)
206
+ - `type.json`: errors=0 cases=11/11 (100.0%) tests=80/80 (100.0%, 0 fails)
207
+ - `uniqueItems.json`: errors=0 cases=6/6 (100.0%) tests=69/69 (100.0%, 0 fails)
208
+ - summary: files=37 errors=0 cases=257/257 (100.0%) tests=922/922 (100.0%, 0 fails)
209
+
210
+ Format tests:
211
+
212
+ - `format/date.json`: errors=0 cases=1/1 (100.0%) tests=48/48 (100.0%, 0 fails)
213
+ - `format/date-time.json`: errors=0 cases=1/1 (100.0%) tests=29/29 (100.0%, 0 fails)
214
+ - `format/email.json`: errors=0 cases=1/1 (100.0%) tests=20/20 (100.0%, 0 fails)
215
+ - `format/hostname.json`: errors=1 cases=0/2 (0.0%) tests=37/61 (60.7%, 24 fails)
216
+ - `format/idn-email.json`: errors=0 cases=0/1 (0.0%) tests=8/9 (88.9%, 1 fails)
217
+ - `format/idn-hostname.json`: errors=1 cases=0/2 (0.0%) tests=52/76 (68.4%, 24 fails)
218
+ - `format/ipv4.json`: errors=0 cases=1/1 (100.0%) tests=33/33 (100.0%, 0 fails)
219
+ - `format/ipv6.json`: errors=0 cases=1/1 (100.0%) tests=40/40 (100.0%, 0 fails)
220
+ - `format/iri.json`: errors=0 cases=0/1 (0.0%) tests=13/15 (86.7%, 2 fails)
221
+ - `format/iri-reference.json`: errors=0 cases=0/1 (0.0%) tests=8/13 (61.5%, 5 fails)
222
+ - `format/json-pointer.json`: errors=0 cases=1/1 (100.0%) tests=40/40 (100.0%, 0 fails)
223
+ - `format/regex.json`: errors=0 cases=1/1 (100.0%) tests=8/8 (100.0%, 0 fails)
224
+ - `format/relative-json-pointer.json`: errors=0 cases=1/1 (100.0%) tests=18/18 (100.0%, 0 fails)
225
+ - `format/time.json`: errors=0 cases=1/1 (100.0%) tests=47/47 (100.0%, 0 fails)
226
+ - `format/unknown.json`: errors=0 cases=1/1 (100.0%) tests=7/7 (100.0%, 0 fails)
227
+ - `format/uri.json`: errors=0 cases=0/1 (0.0%) tests=33/44 (75.0%, 11 fails)
228
+ - `format/uri-reference.json`: errors=0 cases=0/1 (0.0%) tests=11/17 (64.7%, 6 fails)
229
+ - `format/uri-template.json`: errors=0 cases=0/1 (0.0%) tests=8/10 (80.0%, 2 fails)
230
+ - summary: files=18 errors=2 cases=10/20 (50.0%) tests=460/535 (86.0%, 75 fails)
231
+
232
+ ## Results for _draft6_
233
+
234
+ Main test suite:
235
+
236
+ - `additionalItems.json`: errors=0 cases=10/10 (100.0%) tests=19/19 (100.0%, 0 fails)
237
+ - `additionalProperties.json`: errors=0 cases=7/7 (100.0%) tests=16/16 (100.0%, 0 fails)
238
+ - `allOf.json`: errors=0 cases=12/12 (100.0%) tests=30/30 (100.0%, 0 fails)
239
+ - `anyOf.json`: errors=0 cases=8/8 (100.0%) tests=18/18 (100.0%, 0 fails)
240
+ - `boolean_schema.json`: errors=0 cases=2/2 (100.0%) tests=18/18 (100.0%, 0 fails)
241
+ - `const.json`: errors=0 cases=17/17 (100.0%) tests=54/54 (100.0%, 0 fails)
242
+ - `contains.json`: errors=0 cases=6/6 (100.0%) tests=19/19 (100.0%, 0 fails)
243
+ - `default.json`: errors=0 cases=3/3 (100.0%) tests=7/7 (100.0%, 0 fails)
244
+ - `definitions.json`: errors=0 cases=1/1 (100.0%) tests=2/2 (100.0%, 0 fails)
245
+ - `dependencies.json`: errors=0 cases=7/7 (100.0%) tests=36/36 (100.0%, 0 fails)
246
+ - `enum.json`: errors=0 cases=14/14 (100.0%) tests=45/45 (100.0%, 0 fails)
247
+ - `exclusiveMaximum.json`: errors=0 cases=1/1 (100.0%) tests=4/4 (100.0%, 0 fails)
248
+ - `exclusiveMinimum.json`: errors=0 cases=1/1 (100.0%) tests=4/4 (100.0%, 0 fails)
249
+ - `format.json`: errors=0 cases=9/9 (100.0%) tests=54/54 (100.0%, 0 fails)
250
+ - `infinite-loop-detection.json`: errors=0 cases=1/1 (100.0%) tests=2/2 (100.0%, 0 fails)
251
+ - `items.json`: errors=0 cases=9/9 (100.0%) tests=28/28 (100.0%, 0 fails)
252
+ - `maximum.json`: errors=0 cases=2/2 (100.0%) tests=8/8 (100.0%, 0 fails)
253
+ - `maxItems.json`: errors=0 cases=2/2 (100.0%) tests=6/6 (100.0%, 0 fails)
254
+ - `maxLength.json`: errors=0 cases=2/2 (100.0%) tests=7/7 (100.0%, 0 fails)
255
+ - `maxProperties.json`: errors=0 cases=3/3 (100.0%) tests=10/10 (100.0%, 0 fails)
256
+ - `minimum.json`: errors=0 cases=2/2 (100.0%) tests=11/11 (100.0%, 0 fails)
257
+ - `minItems.json`: errors=0 cases=2/2 (100.0%) tests=6/6 (100.0%, 0 fails)
258
+ - `minLength.json`: errors=0 cases=2/2 (100.0%) tests=7/7 (100.0%, 0 fails)
259
+ - `minProperties.json`: errors=0 cases=2/2 (100.0%) tests=8/8 (100.0%, 0 fails)
260
+ - `multipleOf.json`: errors=0 cases=5/5 (100.0%) tests=10/10 (100.0%, 0 fails)
261
+ - `not.json`: errors=0 cases=8/8 (100.0%) tests=38/38 (100.0%, 0 fails)
262
+ - `oneOf.json`: errors=0 cases=11/11 (100.0%) tests=27/27 (100.0%, 0 fails)
263
+ - `pattern.json`: errors=0 cases=2/2 (100.0%) tests=9/9 (100.0%, 0 fails)
264
+ - `patternProperties.json`: errors=0 cases=5/5 (100.0%) tests=23/23 (100.0%, 0 fails)
265
+ - `properties.json`: errors=0 cases=6/6 (100.0%) tests=28/28 (100.0%, 0 fails)
266
+ - `propertyNames.json`: errors=0 cases=6/6 (100.0%) tests=20/20 (100.0%, 0 fails)
267
+ - `ref.json`: errors=0 cases=31/31 (100.0%) tests=70/70 (100.0%, 0 fails)
268
+ - `refRemote.json`: errors=0 cases=11/11 (100.0%) tests=23/23 (100.0%, 0 fails)
269
+ - `required.json`: errors=0 cases=5/5 (100.0%) tests=18/18 (100.0%, 0 fails)
270
+ - `type.json`: errors=0 cases=11/11 (100.0%) tests=80/80 (100.0%, 0 fails)
271
+ - `uniqueItems.json`: errors=0 cases=6/6 (100.0%) tests=69/69 (100.0%, 0 fails)
272
+ - summary: files=36 errors=0 cases=232/232 (100.0%) tests=834/834 (100.0%, 0 fails)
273
+
274
+ Format tests:
275
+
276
+ - `format/date-time.json`: errors=0 cases=1/1 (100.0%) tests=29/29 (100.0%, 0 fails)
277
+ - `format/email.json`: errors=0 cases=1/1 (100.0%) tests=20/20 (100.0%, 0 fails)
278
+ - `format/hostname.json`: errors=1 cases=0/1 (0.0%) tests=27/28 (96.4%, 1 fails)
279
+ - `format/ipv4.json`: errors=0 cases=1/1 (100.0%) tests=33/33 (100.0%, 0 fails)
280
+ - `format/ipv6.json`: errors=0 cases=1/1 (100.0%) tests=40/40 (100.0%, 0 fails)
281
+ - `format/json-pointer.json`: errors=0 cases=1/1 (100.0%) tests=40/40 (100.0%, 0 fails)
282
+ - `format/unknown.json`: errors=0 cases=1/1 (100.0%) tests=7/7 (100.0%, 0 fails)
283
+ - `format/uri.json`: errors=0 cases=0/1 (0.0%) tests=33/44 (75.0%, 11 fails)
284
+ - `format/uri-reference.json`: errors=0 cases=0/1 (0.0%) tests=11/17 (64.7%, 6 fails)
285
+ - `format/uri-template.json`: errors=0 cases=0/1 (0.0%) tests=8/10 (80.0%, 2 fails)
286
+ - summary: files=10 errors=1 cases=6/10 (60.0%) tests=248/268 (92.5%, 20 fails)
287
+
288
+ ## Results for _draft4_
289
+
290
+ Main test suite:
291
+
292
+ - `additionalItems.json`: errors=0 cases=9/9 (100.0%) tests=17/17 (100.0%, 0 fails)
293
+ - `additionalProperties.json`: errors=0 cases=7/7 (100.0%) tests=16/16 (100.0%, 0 fails)
294
+ - `allOf.json`: errors=0 cases=9/9 (100.0%) tests=27/27 (100.0%, 0 fails)
295
+ - `anyOf.json`: errors=0 cases=5/5 (100.0%) tests=15/15 (100.0%, 0 fails)
296
+ - `default.json`: errors=0 cases=3/3 (100.0%) tests=7/7 (100.0%, 0 fails)
297
+ - `definitions.json`: errors=0 cases=1/1 (100.0%) tests=2/2 (100.0%, 0 fails)
298
+ - `dependencies.json`: errors=0 cases=5/5 (100.0%) tests=29/29 (100.0%, 0 fails)
299
+ - `enum.json`: errors=0 cases=16/16 (100.0%) tests=49/49 (100.0%, 0 fails)
300
+ - `format.json`: errors=0 cases=6/6 (100.0%) tests=36/36 (100.0%, 0 fails)
301
+ - `infinite-loop-detection.json`: errors=0 cases=1/1 (100.0%) tests=2/2 (100.0%, 0 fails)
302
+ - `items.json`: errors=0 cases=6/6 (100.0%) tests=21/21 (100.0%, 0 fails)
303
+ - `maximum.json`: errors=0 cases=4/4 (100.0%) tests=14/14 (100.0%, 0 fails)
304
+ - `maxItems.json`: errors=0 cases=1/1 (100.0%) tests=4/4 (100.0%, 0 fails)
305
+ - `maxLength.json`: errors=0 cases=1/1 (100.0%) tests=5/5 (100.0%, 0 fails)
306
+ - `maxProperties.json`: errors=0 cases=2/2 (100.0%) tests=8/8 (100.0%, 0 fails)
307
+ - `minimum.json`: errors=0 cases=4/4 (100.0%) tests=17/17 (100.0%, 0 fails)
308
+ - `minItems.json`: errors=0 cases=1/1 (100.0%) tests=4/4 (100.0%, 0 fails)
309
+ - `minLength.json`: errors=0 cases=1/1 (100.0%) tests=5/5 (100.0%, 0 fails)
310
+ - `minProperties.json`: errors=0 cases=1/1 (100.0%) tests=6/6 (100.0%, 0 fails)
311
+ - `multipleOf.json`: errors=0 cases=5/5 (100.0%) tests=10/10 (100.0%, 0 fails)
312
+ - `not.json`: errors=0 cases=6/6 (100.0%) tests=20/20 (100.0%, 0 fails)
313
+ - `oneOf.json`: errors=0 cases=7/7 (100.0%) tests=23/23 (100.0%, 0 fails)
314
+ - `pattern.json`: errors=0 cases=2/2 (100.0%) tests=9/9 (100.0%, 0 fails)
315
+ - `patternProperties.json`: errors=0 cases=4/4 (100.0%) tests=18/18 (100.0%, 0 fails)
316
+ - `properties.json`: errors=0 cases=5/5 (100.0%) tests=24/24 (100.0%, 0 fails)
317
+ - `ref.json`: errors=0 cases=19/19 (100.0%) tests=45/45 (100.0%, 0 fails)
318
+ - `refRemote.json`: errors=0 cases=8/8 (100.0%) tests=17/17 (100.0%, 0 fails)
319
+ - `required.json`: errors=0 cases=4/4 (100.0%) tests=17/17 (100.0%, 0 fails)
320
+ - `type.json`: errors=0 cases=11/11 (100.0%) tests=79/79 (100.0%, 0 fails)
321
+ - `uniqueItems.json`: errors=0 cases=6/6 (100.0%) tests=69/69 (100.0%, 0 fails)
322
+ - summary: files=30 errors=0 cases=160/160 (100.0%) tests=615/615 (100.0%, 0 fails)
323
+
324
+ Format tests:
325
+
326
+ - `format/date-time.json`: errors=0 cases=1/1 (100.0%) tests=29/29 (100.0%, 0 fails)
327
+ - `format/email.json`: errors=0 cases=1/1 (100.0%) tests=20/20 (100.0%, 0 fails)
328
+ - `format/hostname.json`: errors=1 cases=0/1 (0.0%) tests=27/28 (96.4%, 1 fails)
329
+ - `format/ipv4.json`: errors=0 cases=1/1 (100.0%) tests=33/33 (100.0%, 0 fails)
330
+ - `format/ipv6.json`: errors=0 cases=1/1 (100.0%) tests=40/40 (100.0%, 0 fails)
331
+ - `format/unknown.json`: errors=0 cases=1/1 (100.0%) tests=7/7 (100.0%, 0 fails)
332
+ - `format/uri.json`: errors=0 cases=0/1 (0.0%) tests=33/44 (75.0%, 11 fails)
333
+ - summary: files=7 errors=1 cases=5/7 (71.4%) tests=189/201 (94.0%, 12 fails)
334
+
335
+ ## Results for _draft3_
336
+
337
+ Main test suite:
338
+
339
+ - `additionalItems.json`: errors=0 cases=7/7 (100.0%) tests=14/14 (100.0%, 0 fails)
340
+ - `additionalProperties.json`: errors=0 cases=7/7 (100.0%) tests=16/16 (100.0%, 0 fails)
341
+ - `default.json`: errors=0 cases=3/3 (100.0%) tests=7/7 (100.0%, 0 fails)
342
+ - `dependencies.json`: errors=0 cases=3/3 (100.0%) tests=18/18 (100.0%, 0 fails)
343
+ - `disallow.json`: errors=0 cases=3/3 (100.0%) tests=9/9 (100.0%, 0 fails)
344
+ - `divisibleBy.json`: errors=0 cases=3/3 (100.0%) tests=8/8 (100.0%, 0 fails)
345
+ - `enum.json`: errors=0 cases=5/5 (100.0%) tests=16/16 (100.0%, 0 fails)
346
+ - `extends.json`: errors=0 cases=3/3 (100.0%) tests=10/10 (100.0%, 0 fails)
347
+ - `format.json`: errors=0 cases=10/10 (100.0%) tests=60/60 (100.0%, 0 fails)
348
+ - `infinite-loop-detection.json`: errors=0 cases=1/1 (100.0%) tests=2/2 (100.0%, 0 fails)
349
+ - `items.json`: errors=0 cases=4/4 (100.0%) tests=7/7 (100.0%, 0 fails)
350
+ - `maximum.json`: errors=0 cases=4/4 (100.0%) tests=14/14 (100.0%, 0 fails)
351
+ - `maxItems.json`: errors=0 cases=1/1 (100.0%) tests=4/4 (100.0%, 0 fails)
352
+ - `maxLength.json`: errors=0 cases=1/1 (100.0%) tests=5/5 (100.0%, 0 fails)
353
+ - `minimum.json`: errors=0 cases=3/3 (100.0%) tests=13/13 (100.0%, 0 fails)
354
+ - `minItems.json`: errors=0 cases=1/1 (100.0%) tests=4/4 (100.0%, 0 fails)
355
+ - `minLength.json`: errors=0 cases=1/1 (100.0%) tests=5/5 (100.0%, 0 fails)
356
+ - `pattern.json`: errors=0 cases=2/2 (100.0%) tests=9/9 (100.0%, 0 fails)
357
+ - `patternProperties.json`: errors=0 cases=4/4 (100.0%) tests=17/17 (100.0%, 0 fails)
358
+ - `properties.json`: errors=0 cases=3/3 (100.0%) tests=15/15 (100.0%, 0 fails)
359
+ - `ref.json`: errors=0 cases=10/10 (100.0%) tests=27/27 (100.0%, 0 fails)
360
+ - `refRemote.json`: errors=0 cases=4/4 (100.0%) tests=8/8 (100.0%, 0 fails)
361
+ - `required.json`: errors=0 cases=3/3 (100.0%) tests=4/4 (100.0%, 0 fails)
362
+ - `type.json`: errors=0 cases=12/12 (100.0%) tests=80/80 (100.0%, 0 fails)
363
+ - `uniqueItems.json`: errors=0 cases=6/6 (100.0%) tests=62/62 (100.0%, 0 fails)
364
+ - summary: files=25 errors=0 cases=104/104 (100.0%) tests=434/434 (100.0%, 0 fails)
365
+
366
+ Format tests:
367
+
368
+ - `format/color.json`: errors=0 cases=1/1 (100.0%) tests=6/6 (100.0%, 0 fails)
369
+ - `format/date.json`: errors=0 cases=1/1 (100.0%) tests=33/33 (100.0%, 0 fails)
370
+ - `format/date-time.json`: errors=0 cases=1/1 (100.0%) tests=7/7 (100.0%, 0 fails)
371
+ - `format/ecmascript-regex.json`: errors=0 cases=0/1 (0.0%) tests=0/2 (0.0%, 2 fails)
372
+ - `format/email.json`: errors=0 cases=1/1 (100.0%) tests=11/11 (100.0%, 0 fails)
373
+ - `format/host-name.json`: errors=1 cases=0/1 (0.0%) tests=11/12 (91.7%, 1 fails)
374
+ - `format/ip-address.json`: errors=0 cases=1/1 (100.0%) tests=3/3 (100.0%, 0 fails)
375
+ - `format/ipv6.json`: errors=0 cases=1/1 (100.0%) tests=12/12 (100.0%, 0 fails)
376
+ - `format/regex.json`: errors=0 cases=1/1 (100.0%) tests=2/2 (100.0%, 0 fails)
377
+ - `format/time.json`: errors=0 cases=0/1 (0.0%) tests=2/3 (66.7%, 1 fails)
378
+ - `format/uri.json`: errors=0 cases=1/1 (100.0%) tests=4/4 (100.0%, 0 fails)
379
+ - summary: files=11 errors=1 cases=8/11 (72.7%) tests=91/95 (95.8%, 4 fails)
380
+
381
+ ## Results for _v1_
382
+
383
+ Main test suite:
384
+
385
+ - `additionalProperties.json`: errors=0 cases=9/9 (100.0%) tests=21/21 (100.0%, 0 fails)
386
+ - `allOf.json`: errors=0 cases=12/12 (100.0%) tests=30/30 (100.0%, 0 fails)
387
+ - `anchor.json`: errors=0 cases=3/4 (75.0%) tests=7/8 (87.5%, 1 fails)
388
+ - `anyOf.json`: errors=0 cases=8/8 (100.0%) tests=18/18 (100.0%, 0 fails)
389
+ - `boolean_schema.json`: errors=0 cases=2/2 (100.0%) tests=18/18 (100.0%, 0 fails)
390
+ - `const.json`: errors=0 cases=17/17 (100.0%) tests=54/54 (100.0%, 0 fails)
391
+ - `contains.json`: errors=0 cases=7/7 (100.0%) tests=25/25 (100.0%, 0 fails)
392
+ - `content.json`: errors=0 cases=4/4 (100.0%) tests=18/18 (100.0%, 0 fails)
393
+ - `default.json`: errors=0 cases=3/3 (100.0%) tests=7/7 (100.0%, 0 fails)
394
+ - `dependentRequired.json`: errors=0 cases=4/4 (100.0%) tests=20/20 (100.0%, 0 fails)
395
+ - `dependentSchemas.json`: errors=0 cases=4/4 (100.0%) tests=20/20 (100.0%, 0 fails)
396
+ - `dynamicRef.json`: errors=0 cases=5/12 (41.7%) tests=17/27 (63.0%, 10 fails)
397
+ - `enum.json`: errors=0 cases=15/15 (100.0%) tests=51/51 (100.0%, 0 fails)
398
+ - `exclusiveMaximum.json`: errors=0 cases=1/1 (100.0%) tests=4/4 (100.0%, 0 fails)
399
+ - `exclusiveMinimum.json`: errors=0 cases=1/1 (100.0%) tests=4/4 (100.0%, 0 fails)
400
+ - `if-then-else.json`: errors=0 cases=10/10 (100.0%) tests=26/26 (100.0%, 0 fails)
401
+ - `infinite-loop-detection.json`: errors=0 cases=1/1 (100.0%) tests=2/2 (100.0%, 0 fails)
402
+ - `items.json`: errors=0 cases=10/10 (100.0%) tests=29/29 (100.0%, 0 fails)
403
+ - `maxContains.json`: errors=0 cases=5/5 (100.0%) tests=14/14 (100.0%, 0 fails)
404
+ - `maximum.json`: errors=0 cases=2/2 (100.0%) tests=8/8 (100.0%, 0 fails)
405
+ - `maxItems.json`: errors=0 cases=2/2 (100.0%) tests=6/6 (100.0%, 0 fails)
406
+ - `maxLength.json`: errors=0 cases=2/2 (100.0%) tests=7/7 (100.0%, 0 fails)
407
+ - `maxProperties.json`: errors=0 cases=3/3 (100.0%) tests=10/10 (100.0%, 0 fails)
408
+ - `minContains.json`: errors=0 cases=8/8 (100.0%) tests=28/28 (100.0%, 0 fails)
409
+ - `minimum.json`: errors=0 cases=2/2 (100.0%) tests=11/11 (100.0%, 0 fails)
410
+ - `minItems.json`: errors=0 cases=2/2 (100.0%) tests=6/6 (100.0%, 0 fails)
411
+ - `minLength.json`: errors=0 cases=2/2 (100.0%) tests=7/7 (100.0%, 0 fails)
412
+ - `minProperties.json`: errors=0 cases=2/2 (100.0%) tests=8/8 (100.0%, 0 fails)
413
+ - `multipleOf.json`: errors=0 cases=5/5 (100.0%) tests=10/10 (100.0%, 0 fails)
414
+ - `not.json`: errors=0 cases=9/9 (100.0%) tests=40/40 (100.0%, 0 fails)
415
+ - `oneOf.json`: errors=0 cases=11/11 (100.0%) tests=27/27 (100.0%, 0 fails)
416
+ - `pattern.json`: errors=0 cases=2/3 (66.7%) tests=11/12 (91.7%, 1 fails)
417
+ - `patternProperties.json`: errors=0 cases=5/6 (83.3%) tests=25/26 (96.2%, 1 fails)
418
+ - `prefixItems.json`: errors=0 cases=4/4 (100.0%) tests=11/11 (100.0%, 0 fails)
419
+ - `properties.json`: errors=0 cases=6/6 (100.0%) tests=28/28 (100.0%, 0 fails)
420
+ - `propertyNames.json`: errors=0 cases=3/3 (100.0%) tests=10/10 (100.0%, 0 fails)
421
+ - `ref.json`: errors=0 cases=28/36 (77.8%) tests=69/79 (87.3%, 10 fails)
422
+ - `refRemote.json`: errors=0 cases=11/15 (73.3%) tests=27/31 (87.1%, 4 fails)
423
+ - `required.json`: errors=0 cases=5/5 (100.0%) tests=18/18 (100.0%, 0 fails)
424
+ - `type.json`: errors=0 cases=11/11 (100.0%) tests=80/80 (100.0%, 0 fails)
425
+ - `unevaluatedItems.json`: errors=0 cases=16/29 (55.2%) tests=53/71 (74.6%, 18 fails)
426
+ - `unevaluatedProperties.json`: errors=0 cases=30/42 (71.4%) tests=111/125 (88.8%, 14 fails)
427
+ - `uniqueItems.json`: errors=0 cases=6/6 (100.0%) tests=69/69 (100.0%, 0 fails)
428
+ - summary: files=43 errors=0 cases=298/345 (86.4%) tests=1065/1124 (94.8%, 59 fails)
429
+
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: json_schema_utils
3
- Version: 0.9.2
3
+ Version: 0.9.4
4
4
  Summary: JSON Schema Utils
5
5
  Author: Fabien Coelho, Claire Yannou-Medrala
6
6
  License-Expression: CC0-1.0
@@ -107,18 +107,21 @@ You could also use `jq .` for this purpose.
107
107
  Convert a subset of JSON Schema to JSON Model.
108
108
 
109
109
  The converter is expected to _fully_ supports JSON Schema draft3 to draft7.
110
+ Note that our tools include a significant support for _format_ assertions,
111
+ with 80-95% of optional format tests being validated, usually in a safe way
112
+ (i.e. false positives may occur, false negatives are avoided).
110
113
 
111
- It _partially_ supports draft 2019-09 and 2020-12, in particular
112
- there is a limited support for some features:
114
+ It _partially_ supports draft 2019-09 and 2020-12.
115
+ In particular, _vocabularies_ are fully supported.
116
+ However, there is a limited support for some features:
113
117
 
114
- - _dynamic_ anchors and references;
115
- - _unevaluated_ stuff;
116
- - _vocabularies_;
118
+ - _dynamic_ anchors and references
119
+ - _unevaluated_ items and properties
117
120
 
118
121
  Moreover, this is a software, hence there may be bugs.
119
122
 
120
123
  ```sh
121
- jsu-model -o foo.model.json foo.schema.json
124
+ jsu-model --format -o foo.model.json foo.schema.json
122
125
  ```
123
126
 
124
127
  ## JSON Schema Compiler
@@ -82,18 +82,21 @@ You could also use `jq .` for this purpose.
82
82
  Convert a subset of JSON Schema to JSON Model.
83
83
 
84
84
  The converter is expected to _fully_ supports JSON Schema draft3 to draft7.
85
+ Note that our tools include a significant support for _format_ assertions,
86
+ with 80-95% of optional format tests being validated, usually in a safe way
87
+ (i.e. false positives may occur, false negatives are avoided).
85
88
 
86
- It _partially_ supports draft 2019-09 and 2020-12, in particular
87
- there is a limited support for some features:
89
+ It _partially_ supports draft 2019-09 and 2020-12.
90
+ In particular, _vocabularies_ are fully supported.
91
+ However, there is a limited support for some features:
88
92
 
89
- - _dynamic_ anchors and references;
90
- - _unevaluated_ stuff;
91
- - _vocabularies_;
93
+ - _dynamic_ anchors and references
94
+ - _unevaluated_ items and properties
92
95
 
93
96
  Moreover, this is a software, hence there may be bugs.
94
97
 
95
98
  ```sh
96
- jsu-model -o foo.model.json foo.schema.json
99
+ jsu-model --format -o foo.model.json foo.schema.json
97
100
  ```
98
101
 
99
102
  ## JSON Schema Compiler
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: json_schema_utils
3
- Version: 0.9.2
3
+ Version: 0.9.4
4
4
  Summary: JSON Schema Utils
5
5
  Author: Fabien Coelho, Claire Yannou-Medrala
6
6
  License-Expression: CC0-1.0
@@ -107,18 +107,21 @@ You could also use `jq .` for this purpose.
107
107
  Convert a subset of JSON Schema to JSON Model.
108
108
 
109
109
  The converter is expected to _fully_ supports JSON Schema draft3 to draft7.
110
+ Note that our tools include a significant support for _format_ assertions,
111
+ with 80-95% of optional format tests being validated, usually in a safe way
112
+ (i.e. false positives may occur, false negatives are avoided).
110
113
 
111
- It _partially_ supports draft 2019-09 and 2020-12, in particular
112
- there is a limited support for some features:
114
+ It _partially_ supports draft 2019-09 and 2020-12.
115
+ In particular, _vocabularies_ are fully supported.
116
+ However, there is a limited support for some features:
113
117
 
114
- - _dynamic_ anchors and references;
115
- - _unevaluated_ stuff;
116
- - _vocabularies_;
118
+ - _dynamic_ anchors and references
119
+ - _unevaluated_ items and properties
117
120
 
118
121
  Moreover, this is a software, hence there may be bugs.
119
122
 
120
123
  ```sh
121
- jsu-model -o foo.model.json foo.schema.json
124
+ jsu-model --format -o foo.model.json foo.schema.json
122
125
  ```
123
126
 
124
127
  ## JSON Schema Compiler
@@ -18,10 +18,12 @@ jsutils/__init__.py
18
18
  jsutils/convert.py
19
19
  jsutils/inline.py
20
20
  jsutils/recurse.py
21
+ jsutils/resolver.py
21
22
  jsutils/restruct.py
22
23
  jsutils/schemas.py
23
24
  jsutils/scripts.py
24
25
  jsutils/simplify.py
25
26
  jsutils/stats.py
26
27
  jsutils/types.py
27
- jsutils/utils.py
28
+ jsutils/utils.py
29
+ jsutils/vocab.py