cuelang.org/go@v0.13.0/encoding/jsonschema/testdata/external/tests/draft2019-09/optional/dependencies-compatibility.json (about) 1 [ 2 { 3 "description": "single dependency", 4 "schema": { 5 "$schema": "https://json-schema.org/draft/2019-09/schema", 6 "dependencies": { 7 "bar": [ 8 "foo" 9 ] 10 } 11 }, 12 "tests": [ 13 { 14 "description": "neither", 15 "data": {}, 16 "valid": true 17 }, 18 { 19 "description": "nondependant", 20 "data": { 21 "foo": 1 22 }, 23 "valid": true 24 }, 25 { 26 "description": "with dependency", 27 "data": { 28 "foo": 1, 29 "bar": 2 30 }, 31 "valid": true 32 }, 33 { 34 "description": "missing dependency", 35 "data": { 36 "bar": 2 37 }, 38 "valid": false, 39 "skip": { 40 "v2": "unexpected success", 41 "v3": "unexpected success" 42 } 43 }, 44 { 45 "description": "ignores arrays", 46 "data": [ 47 "bar" 48 ], 49 "valid": true 50 }, 51 { 52 "description": "ignores strings", 53 "data": "foobar", 54 "valid": true 55 }, 56 { 57 "description": "ignores other non-objects", 58 "data": 12, 59 "valid": true 60 } 61 ] 62 }, 63 { 64 "description": "empty dependents", 65 "schema": { 66 "$schema": "https://json-schema.org/draft/2019-09/schema", 67 "dependencies": { 68 "bar": [] 69 } 70 }, 71 "tests": [ 72 { 73 "description": "empty object", 74 "data": {}, 75 "valid": true 76 }, 77 { 78 "description": "object with one property", 79 "data": { 80 "bar": 2 81 }, 82 "valid": true 83 }, 84 { 85 "description": "non-object is valid", 86 "data": 1, 87 "valid": true 88 } 89 ] 90 }, 91 { 92 "description": "multiple dependents required", 93 "schema": { 94 "$schema": "https://json-schema.org/draft/2019-09/schema", 95 "dependencies": { 96 "quux": [ 97 "foo", 98 "bar" 99 ] 100 } 101 }, 102 "tests": [ 103 { 104 "description": "neither", 105 "data": {}, 106 "valid": true 107 }, 108 { 109 "description": "nondependants", 110 "data": { 111 "foo": 1, 112 "bar": 2 113 }, 114 "valid": true 115 }, 116 { 117 "description": "with dependencies", 118 "data": { 119 "foo": 1, 120 "bar": 2, 121 "quux": 3 122 }, 123 "valid": true 124 }, 125 { 126 "description": "missing dependency", 127 "data": { 128 "foo": 1, 129 "quux": 2 130 }, 131 "valid": false, 132 "skip": { 133 "v2": "unexpected success", 134 "v3": "unexpected success" 135 } 136 }, 137 { 138 "description": "missing other dependency", 139 "data": { 140 "bar": 1, 141 "quux": 2 142 }, 143 "valid": false, 144 "skip": { 145 "v2": "unexpected success", 146 "v3": "unexpected success" 147 } 148 }, 149 { 150 "description": "missing both dependencies", 151 "data": { 152 "quux": 1 153 }, 154 "valid": false, 155 "skip": { 156 "v2": "unexpected success", 157 "v3": "unexpected success" 158 } 159 } 160 ] 161 }, 162 { 163 "description": "dependencies with escaped characters", 164 "schema": { 165 "$schema": "https://json-schema.org/draft/2019-09/schema", 166 "dependencies": { 167 "foo\nbar": [ 168 "foo\rbar" 169 ], 170 "foo\"bar": [ 171 "foo'bar" 172 ] 173 } 174 }, 175 "tests": [ 176 { 177 "description": "CRLF", 178 "data": { 179 "foo\nbar": 1, 180 "foo\rbar": 2 181 }, 182 "valid": true 183 }, 184 { 185 "description": "quoted quotes", 186 "data": { 187 "foo'bar": 1, 188 "foo\"bar": 2 189 }, 190 "valid": true 191 }, 192 { 193 "description": "CRLF missing dependent", 194 "data": { 195 "foo\nbar": 1, 196 "foo": 2 197 }, 198 "valid": false, 199 "skip": { 200 "v2": "unexpected success", 201 "v3": "unexpected success" 202 } 203 }, 204 { 205 "description": "quoted quotes missing dependent", 206 "data": { 207 "foo\"bar": 2 208 }, 209 "valid": false, 210 "skip": { 211 "v2": "unexpected success", 212 "v3": "unexpected success" 213 } 214 } 215 ] 216 }, 217 { 218 "description": "single schema dependency", 219 "schema": { 220 "$schema": "https://json-schema.org/draft/2019-09/schema", 221 "dependencies": { 222 "bar": { 223 "properties": { 224 "foo": { 225 "type": "integer" 226 }, 227 "bar": { 228 "type": "integer" 229 } 230 } 231 } 232 } 233 }, 234 "tests": [ 235 { 236 "description": "valid", 237 "data": { 238 "foo": 1, 239 "bar": 2 240 }, 241 "valid": true 242 }, 243 { 244 "description": "no dependency", 245 "data": { 246 "foo": "quux" 247 }, 248 "valid": true 249 }, 250 { 251 "description": "wrong type", 252 "data": { 253 "foo": "quux", 254 "bar": 2 255 }, 256 "valid": false, 257 "skip": { 258 "v2": "unexpected success", 259 "v3": "unexpected success" 260 } 261 }, 262 { 263 "description": "wrong type other", 264 "data": { 265 "foo": 2, 266 "bar": "quux" 267 }, 268 "valid": false, 269 "skip": { 270 "v2": "unexpected success", 271 "v3": "unexpected success" 272 } 273 }, 274 { 275 "description": "wrong type both", 276 "data": { 277 "foo": "quux", 278 "bar": "quux" 279 }, 280 "valid": false, 281 "skip": { 282 "v2": "unexpected success", 283 "v3": "unexpected success" 284 } 285 }, 286 { 287 "description": "ignores arrays", 288 "data": [ 289 "bar" 290 ], 291 "valid": true 292 }, 293 { 294 "description": "ignores strings", 295 "data": "foobar", 296 "valid": true 297 }, 298 { 299 "description": "ignores other non-objects", 300 "data": 12, 301 "valid": true 302 } 303 ] 304 }, 305 { 306 "description": "boolean subschemas", 307 "schema": { 308 "$schema": "https://json-schema.org/draft/2019-09/schema", 309 "dependencies": { 310 "foo": true, 311 "bar": false 312 } 313 }, 314 "tests": [ 315 { 316 "description": "object with property having schema true is valid", 317 "data": { 318 "foo": 1 319 }, 320 "valid": true 321 }, 322 { 323 "description": "object with property having schema false is invalid", 324 "data": { 325 "bar": 2 326 }, 327 "valid": false, 328 "skip": { 329 "v2": "unexpected success", 330 "v3": "unexpected success" 331 } 332 }, 333 { 334 "description": "object with both properties is invalid", 335 "data": { 336 "foo": 1, 337 "bar": 2 338 }, 339 "valid": false, 340 "skip": { 341 "v2": "unexpected success", 342 "v3": "unexpected success" 343 } 344 }, 345 { 346 "description": "empty object is valid", 347 "data": {}, 348 "valid": true 349 } 350 ] 351 }, 352 { 353 "description": "schema dependencies with escaped characters", 354 "schema": { 355 "$schema": "https://json-schema.org/draft/2019-09/schema", 356 "dependencies": { 357 "foo\tbar": { 358 "minProperties": 4 359 }, 360 "foo'bar": { 361 "required": [ 362 "foo\"bar" 363 ] 364 } 365 } 366 }, 367 "tests": [ 368 { 369 "description": "quoted tab", 370 "data": { 371 "foo\tbar": 1, 372 "a": 2, 373 "b": 3, 374 "c": 4 375 }, 376 "valid": true 377 }, 378 { 379 "description": "quoted quote", 380 "data": { 381 "foo'bar": { 382 "foo\"bar": 1 383 } 384 }, 385 "valid": false, 386 "skip": { 387 "v2": "unexpected success", 388 "v3": "unexpected success" 389 } 390 }, 391 { 392 "description": "quoted tab invalid under dependent schema", 393 "data": { 394 "foo\tbar": 1, 395 "a": 2 396 }, 397 "valid": false, 398 "skip": { 399 "v2": "unexpected success", 400 "v3": "unexpected success" 401 } 402 }, 403 { 404 "description": "quoted quote invalid under dependent schema", 405 "data": { 406 "foo'bar": 1 407 }, 408 "valid": false, 409 "skip": { 410 "v2": "unexpected success", 411 "v3": "unexpected success" 412 } 413 } 414 ] 415 } 416 ]