File tree Expand file tree Collapse file tree 11 files changed +259
-7
lines changed Expand file tree Collapse file tree 11 files changed +259
-7
lines changed Original file line number Diff line number Diff line change 1
1
language : python
2
2
python : " 2.7"
3
- node_js : " 6 "
3
+ node_js : " 9 "
4
4
install :
5
5
- pip install tox
6
6
- npm install
Original file line number Diff line number Diff line change @@ -27,7 +27,8 @@ const SKIP = {
27
27
if ( draft == 7 ) {
28
28
ajv = new Ajv ( { format : 'full' } ) ;
29
29
} else {
30
- ajv = new Ajv ( { format : 'full' , meta : false } ) ;
30
+ const schemaId = draft == 4 ? 'id' : '$id' ;
31
+ ajv = new Ajv ( { format : 'full' , meta : false , schemaId} ) ;
31
32
ajv . addMetaSchema ( require ( `ajv/lib/refs/json-schema-draft-0${ draft } .json` ) ) ;
32
33
ajv . _opts . defaultMeta = `http://json-schema.org/draft-0${ draft } /schema#` ;
33
34
}
Original file line number Diff line number Diff line change 21
21
},
22
22
"homepage" : " https://github.com/json-schema-org/JSON-Schema-Test-Suite#readme" ,
23
23
"devDependencies" : {
24
- "ajv" : " ^6.0.0-rc.0 " ,
24
+ "ajv" : " ^6.0.0-rc.1 " ,
25
25
"json-schema-test" : " ^2.0.0" ,
26
26
"mocha" : " ^3.2.0"
27
27
}
Original file line number Diff line number Diff line change 64
64
"valid" : false
65
65
}
66
66
]
67
+ },
68
+ {
69
+ "description" : " anyOf complex types" ,
70
+ "schema" : {
71
+ "anyOf" : [
72
+ {
73
+ "properties" : {
74
+ "bar" : {"type" : " integer" }
75
+ },
76
+ "required" : [" bar" ]
77
+ },
78
+ {
79
+ "properties" : {
80
+ "foo" : {"type" : " string" }
81
+ },
82
+ "required" : [" foo" ]
83
+ }
84
+ ]
85
+ },
86
+ "tests" : [
87
+ {
88
+ "description" : " first anyOf valid (complex)" ,
89
+ "data" : {"bar" : 2 },
90
+ "valid" : true
91
+ },
92
+ {
93
+ "description" : " second anyOf valid (complex)" ,
94
+ "data" : {"foo" : " baz" },
95
+ "valid" : true
96
+ },
97
+ {
98
+ "description" : " both anyOf valid (complex)" ,
99
+ "data" : {"foo" : " baz" , "bar" : 2 },
100
+ "valid" : true
101
+ },
102
+ {
103
+ "description" : " neither anyOf valid (complex)" ,
104
+ "data" : {"foo" : 2 , "bar" : " quux" },
105
+ "valid" : false
106
+ }
107
+ ]
67
108
}
68
109
]
Original file line number Diff line number Diff line change 64
64
"valid" : false
65
65
}
66
66
]
67
+ },
68
+ {
69
+ "description" : " oneOf complex types" ,
70
+ "schema" : {
71
+ "oneOf" : [
72
+ {
73
+ "properties" : {
74
+ "bar" : {"type" : " integer" }
75
+ },
76
+ "required" : [" bar" ]
77
+ },
78
+ {
79
+ "properties" : {
80
+ "foo" : {"type" : " string" }
81
+ },
82
+ "required" : [" foo" ]
83
+ }
84
+ ]
85
+ },
86
+ "tests" : [
87
+ {
88
+ "description" : " first oneOf valid (complex)" ,
89
+ "data" : {"bar" : 2 },
90
+ "valid" : true
91
+ },
92
+ {
93
+ "description" : " second oneOf valid (complex)" ,
94
+ "data" : {"foo" : " baz" },
95
+ "valid" : true
96
+ },
97
+ {
98
+ "description" : " both oneOf valid (complex)" ,
99
+ "data" : {"foo" : " baz" , "bar" : 2 },
100
+ "valid" : false
101
+ },
102
+ {
103
+ "description" : " neither oneOf valid (complex)" ,
104
+ "data" : {"foo" : 2 , "bar" : " quux" },
105
+ "valid" : false
106
+ }
107
+ ]
67
108
}
68
109
]
Original file line number Diff line number Diff line change 97
97
"valid" : false
98
98
}
99
99
]
100
+ },
101
+ {
102
+ "description" : " anyOf complex types" ,
103
+ "schema" : {
104
+ "anyOf" : [
105
+ {
106
+ "properties" : {
107
+ "bar" : {"type" : " integer" }
108
+ },
109
+ "required" : [" bar" ]
110
+ },
111
+ {
112
+ "properties" : {
113
+ "foo" : {"type" : " string" }
114
+ },
115
+ "required" : [" foo" ]
116
+ }
117
+ ]
118
+ },
119
+ "tests" : [
120
+ {
121
+ "description" : " first anyOf valid (complex)" ,
122
+ "data" : {"bar" : 2 },
123
+ "valid" : true
124
+ },
125
+ {
126
+ "description" : " second anyOf valid (complex)" ,
127
+ "data" : {"foo" : " baz" },
128
+ "valid" : true
129
+ },
130
+ {
131
+ "description" : " both anyOf valid (complex)" ,
132
+ "data" : {"foo" : " baz" , "bar" : 2 },
133
+ "valid" : true
134
+ },
135
+ {
136
+ "description" : " neither anyOf valid (complex)" ,
137
+ "data" : {"foo" : 2 , "bar" : " quux" },
138
+ "valid" : false
139
+ }
140
+ ]
100
141
}
101
142
]
Original file line number Diff line number Diff line change 108
108
"valid" : false
109
109
}
110
110
]
111
+ },
112
+ {
113
+ "description" : " oneOf complex types" ,
114
+ "schema" : {
115
+ "oneOf" : [
116
+ {
117
+ "properties" : {
118
+ "bar" : {"type" : " integer" }
119
+ },
120
+ "required" : [" bar" ]
121
+ },
122
+ {
123
+ "properties" : {
124
+ "foo" : {"type" : " string" }
125
+ },
126
+ "required" : [" foo" ]
127
+ }
128
+ ]
129
+ },
130
+ "tests" : [
131
+ {
132
+ "description" : " first oneOf valid (complex)" ,
133
+ "data" : {"bar" : 2 },
134
+ "valid" : true
135
+ },
136
+ {
137
+ "description" : " second oneOf valid (complex)" ,
138
+ "data" : {"foo" : " baz" },
139
+ "valid" : true
140
+ },
141
+ {
142
+ "description" : " both oneOf valid (complex)" ,
143
+ "data" : {"foo" : " baz" , "bar" : 2 },
144
+ "valid" : false
145
+ },
146
+ {
147
+ "description" : " neither oneOf valid (complex)" ,
148
+ "data" : {"foo" : 2 , "bar" : " quux" },
149
+ "valid" : false
150
+ }
151
+ ]
111
152
}
112
153
]
Original file line number Diff line number Diff line change 97
97
"valid" : false
98
98
}
99
99
]
100
+ },
101
+ {
102
+ "description" : " anyOf complex types" ,
103
+ "schema" : {
104
+ "anyOf" : [
105
+ {
106
+ "properties" : {
107
+ "bar" : {"type" : " integer" }
108
+ },
109
+ "required" : [" bar" ]
110
+ },
111
+ {
112
+ "properties" : {
113
+ "foo" : {"type" : " string" }
114
+ },
115
+ "required" : [" foo" ]
116
+ }
117
+ ]
118
+ },
119
+ "tests" : [
120
+ {
121
+ "description" : " first anyOf valid (complex)" ,
122
+ "data" : {"bar" : 2 },
123
+ "valid" : true
124
+ },
125
+ {
126
+ "description" : " second anyOf valid (complex)" ,
127
+ "data" : {"foo" : " baz" },
128
+ "valid" : true
129
+ },
130
+ {
131
+ "description" : " both anyOf valid (complex)" ,
132
+ "data" : {"foo" : " baz" , "bar" : 2 },
133
+ "valid" : true
134
+ },
135
+ {
136
+ "description" : " neither anyOf valid (complex)" ,
137
+ "data" : {"foo" : 2 , "bar" : " quux" },
138
+ "valid" : false
139
+ }
140
+ ]
100
141
}
101
142
]
Original file line number Diff line number Diff line change 13
13
"valid" : true
14
14
},
15
15
{
16
- "description" : " valid when invailid against lone if" ,
16
+ "description" : " valid when invalid against lone if" ,
17
17
"data" : " hello" ,
18
18
"valid" : true
19
19
}
33
33
"valid" : true
34
34
},
35
35
{
36
- "description" : " valid when invailid against lone then" ,
36
+ "description" : " valid when invalid against lone then" ,
37
37
"data" : " hello" ,
38
38
"valid" : true
39
39
}
53
53
"valid" : true
54
54
},
55
55
{
56
- "description" : " valid when invailid against lone else" ,
56
+ "description" : " valid when invalid against lone else" ,
57
57
"data" : " hello" ,
58
58
"valid" : true
59
59
}
Original file line number Diff line number Diff line change 108
108
"valid" : false
109
109
}
110
110
]
111
+ },
112
+ {
113
+ "description" : " oneOf complex types" ,
114
+ "schema" : {
115
+ "oneOf" : [
116
+ {
117
+ "properties" : {
118
+ "bar" : {"type" : " integer" }
119
+ },
120
+ "required" : [" bar" ]
121
+ },
122
+ {
123
+ "properties" : {
124
+ "foo" : {"type" : " string" }
125
+ },
126
+ "required" : [" foo" ]
127
+ }
128
+ ]
129
+ },
130
+ "tests" : [
131
+ {
132
+ "description" : " first oneOf valid (complex)" ,
133
+ "data" : {"bar" : 2 },
134
+ "valid" : true
135
+ },
136
+ {
137
+ "description" : " second oneOf valid (complex)" ,
138
+ "data" : {"foo" : " baz" },
139
+ "valid" : true
140
+ },
141
+ {
142
+ "description" : " both oneOf valid (complex)" ,
143
+ "data" : {"foo" : " baz" , "bar" : 2 },
144
+ "valid" : false
145
+ },
146
+ {
147
+ "description" : " neither oneOf valid (complex)" ,
148
+ "data" : {"foo" : 2 , "bar" : " quux" },
149
+ "valid" : false
150
+ }
151
+ ]
111
152
}
112
153
]
Original file line number Diff line number Diff line change 25
25
},
26
26
{
27
27
"description" : " a valid IRI based on IPv6" ,
28
- "data" : " http://2001:0db8:85a3:0000:0000:8a2e:0370:7334" ,
28
+ "data" : " http://[ 2001:0db8:85a3:0000:0000:8a2e:0370:7334] " ,
29
29
"valid" : true
30
30
},
31
+ {
32
+ "description" : " an invalid IRI based on IPv6" ,
33
+ "data" : " http://2001:0db8:85a3:0000:0000:8a2e:0370:7334" ,
34
+ "valid" : false
35
+ },
31
36
{
32
37
"description" : " an invalid relative IRI Reference" ,
33
38
"data" : " /abc" ,
You can’t perform that action at this time.
0 commit comments