cuelang.org/go@v0.13.0/encoding/jsonschema/testdata/external/tests/draft2019-09/dependentSchemas.json (about) 1 [ 2 { 3 "description": "single dependency", 4 "schema": { 5 "$schema": "https://json-schema.org/draft/2019-09/schema", 6 "dependentSchemas": { 7 "bar": { 8 "properties": { 9 "foo": { 10 "type": "integer" 11 }, 12 "bar": { 13 "type": "integer" 14 } 15 } 16 } 17 } 18 }, 19 "skip": { 20 "v2": "extract error: keyword \"dependentSchemas\" not yet implemented", 21 "v3": "extract error: keyword \"dependentSchemas\" not yet implemented" 22 }, 23 "tests": [ 24 { 25 "description": "valid", 26 "data": { 27 "foo": 1, 28 "bar": 2 29 }, 30 "valid": true, 31 "skip": { 32 "v2": "could not compile schema", 33 "v3": "could not compile schema" 34 } 35 }, 36 { 37 "description": "no dependency", 38 "data": { 39 "foo": "quux" 40 }, 41 "valid": true, 42 "skip": { 43 "v2": "could not compile schema", 44 "v3": "could not compile schema" 45 } 46 }, 47 { 48 "description": "wrong type", 49 "data": { 50 "foo": "quux", 51 "bar": 2 52 }, 53 "valid": false, 54 "skip": { 55 "v2": "could not compile schema", 56 "v3": "could not compile schema" 57 } 58 }, 59 { 60 "description": "wrong type other", 61 "data": { 62 "foo": 2, 63 "bar": "quux" 64 }, 65 "valid": false, 66 "skip": { 67 "v2": "could not compile schema", 68 "v3": "could not compile schema" 69 } 70 }, 71 { 72 "description": "wrong type both", 73 "data": { 74 "foo": "quux", 75 "bar": "quux" 76 }, 77 "valid": false, 78 "skip": { 79 "v2": "could not compile schema", 80 "v3": "could not compile schema" 81 } 82 }, 83 { 84 "description": "ignores arrays", 85 "data": [ 86 "bar" 87 ], 88 "valid": true, 89 "skip": { 90 "v2": "could not compile schema", 91 "v3": "could not compile schema" 92 } 93 }, 94 { 95 "description": "ignores strings", 96 "data": "foobar", 97 "valid": true, 98 "skip": { 99 "v2": "could not compile schema", 100 "v3": "could not compile schema" 101 } 102 }, 103 { 104 "description": "ignores other non-objects", 105 "data": 12, 106 "valid": true, 107 "skip": { 108 "v2": "could not compile schema", 109 "v3": "could not compile schema" 110 } 111 } 112 ] 113 }, 114 { 115 "description": "boolean subschemas", 116 "schema": { 117 "$schema": "https://json-schema.org/draft/2019-09/schema", 118 "dependentSchemas": { 119 "foo": true, 120 "bar": false 121 } 122 }, 123 "skip": { 124 "v2": "extract error: keyword \"dependentSchemas\" not yet implemented", 125 "v3": "extract error: keyword \"dependentSchemas\" not yet implemented" 126 }, 127 "tests": [ 128 { 129 "description": "object with property having schema true is valid", 130 "data": { 131 "foo": 1 132 }, 133 "valid": true, 134 "skip": { 135 "v2": "could not compile schema", 136 "v3": "could not compile schema" 137 } 138 }, 139 { 140 "description": "object with property having schema false is invalid", 141 "data": { 142 "bar": 2 143 }, 144 "valid": false, 145 "skip": { 146 "v2": "could not compile schema", 147 "v3": "could not compile schema" 148 } 149 }, 150 { 151 "description": "object with both properties is invalid", 152 "data": { 153 "foo": 1, 154 "bar": 2 155 }, 156 "valid": false, 157 "skip": { 158 "v2": "could not compile schema", 159 "v3": "could not compile schema" 160 } 161 }, 162 { 163 "description": "empty object is valid", 164 "data": {}, 165 "valid": true, 166 "skip": { 167 "v2": "could not compile schema", 168 "v3": "could not compile schema" 169 } 170 } 171 ] 172 }, 173 { 174 "description": "dependencies with escaped characters", 175 "schema": { 176 "$schema": "https://json-schema.org/draft/2019-09/schema", 177 "dependentSchemas": { 178 "foo\tbar": { 179 "minProperties": 4 180 }, 181 "foo'bar": { 182 "required": [ 183 "foo\"bar" 184 ] 185 } 186 } 187 }, 188 "skip": { 189 "v2": "extract error: keyword \"dependentSchemas\" not yet implemented", 190 "v3": "extract error: keyword \"dependentSchemas\" not yet implemented" 191 }, 192 "tests": [ 193 { 194 "description": "quoted tab", 195 "data": { 196 "foo\tbar": 1, 197 "a": 2, 198 "b": 3, 199 "c": 4 200 }, 201 "valid": true, 202 "skip": { 203 "v2": "could not compile schema", 204 "v3": "could not compile schema" 205 } 206 }, 207 { 208 "description": "quoted quote", 209 "data": { 210 "foo'bar": { 211 "foo\"bar": 1 212 } 213 }, 214 "valid": false, 215 "skip": { 216 "v2": "could not compile schema", 217 "v3": "could not compile schema" 218 } 219 }, 220 { 221 "description": "quoted tab invalid under dependent schema", 222 "data": { 223 "foo\tbar": 1, 224 "a": 2 225 }, 226 "valid": false, 227 "skip": { 228 "v2": "could not compile schema", 229 "v3": "could not compile schema" 230 } 231 }, 232 { 233 "description": "quoted quote invalid under dependent schema", 234 "data": { 235 "foo'bar": 1 236 }, 237 "valid": false, 238 "skip": { 239 "v2": "could not compile schema", 240 "v3": "could not compile schema" 241 } 242 } 243 ] 244 }, 245 { 246 "description": "dependent subschema incompatible with root", 247 "schema": { 248 "$schema": "https://json-schema.org/draft/2019-09/schema", 249 "properties": { 250 "foo": {} 251 }, 252 "dependentSchemas": { 253 "foo": { 254 "properties": { 255 "bar": {} 256 }, 257 "additionalProperties": false 258 } 259 } 260 }, 261 "skip": { 262 "v2": "extract error: keyword \"dependentSchemas\" not yet implemented", 263 "v3": "extract error: keyword \"dependentSchemas\" not yet implemented" 264 }, 265 "tests": [ 266 { 267 "description": "matches root", 268 "data": { 269 "foo": 1 270 }, 271 "valid": false, 272 "skip": { 273 "v2": "could not compile schema", 274 "v3": "could not compile schema" 275 } 276 }, 277 { 278 "description": "matches dependency", 279 "data": { 280 "bar": 1 281 }, 282 "valid": true, 283 "skip": { 284 "v2": "could not compile schema", 285 "v3": "could not compile schema" 286 } 287 }, 288 { 289 "description": "matches both", 290 "data": { 291 "foo": 1, 292 "bar": 2 293 }, 294 "valid": false, 295 "skip": { 296 "v2": "could not compile schema", 297 "v3": "could not compile schema" 298 } 299 }, 300 { 301 "description": "no dependency", 302 "data": { 303 "baz": 1 304 }, 305 "valid": true, 306 "skip": { 307 "v2": "could not compile schema", 308 "v3": "could not compile schema" 309 } 310 } 311 ] 312 } 313 ]