| [ |
| { |
| "description": "ignore if without then or else", |
| "schema": { |
| "if": { |
| "const": 0 |
| } |
| }, |
| "tests": [ |
| { |
| "description": "valid when valid against lone if", |
| "data": 0, |
| "valid": true |
| }, |
| { |
| "description": "valid when invailid against lone if", |
| "data": "hello", |
| "valid": true |
| } |
| ] |
| }, |
| { |
| "description": "ignore then without if", |
| "schema": { |
| "then": { |
| "const": 0 |
| } |
| }, |
| "tests": [ |
| { |
| "description": "valid when valid against lone then", |
| "data": 0, |
| "valid": true |
| }, |
| { |
| "description": "valid when invailid against lone then", |
| "data": "hello", |
| "valid": true |
| } |
| ] |
| }, |
| { |
| "description": "ignore else without if", |
| "schema": { |
| "else": { |
| "const": 0 |
| } |
| }, |
| "tests": [ |
| { |
| "description": "valid when valid against lone else", |
| "data": 0, |
| "valid": true |
| }, |
| { |
| "description": "valid when invailid against lone else", |
| "data": "hello", |
| "valid": true |
| } |
| ] |
| }, |
| { |
| "description": "if and then without else", |
| "schema": { |
| "if": { |
| "exclusiveMaximum": 0 |
| }, |
| "then": { |
| "minimum": -10 |
| } |
| }, |
| "tests": [ |
| { |
| "description": "valid through then", |
| "data": -1, |
| "valid": true |
| }, |
| { |
| "description": "invalid through then", |
| "data": -100, |
| "valid": false |
| }, |
| { |
| "description": "valid when if test fails", |
| "data": 3, |
| "valid": true |
| } |
| ] |
| }, |
| { |
| "description": "if and else without then", |
| "schema": { |
| "if": { |
| "exclusiveMaximum": 0 |
| }, |
| "else": { |
| "multipleOf": 2 |
| } |
| }, |
| "tests": [ |
| { |
| "description": "valid when if test passes", |
| "data": -1, |
| "valid": true |
| }, |
| { |
| "description": "valid through else", |
| "data": 4, |
| "valid": true |
| }, |
| { |
| "description": "invalid through else", |
| "data": 3, |
| "valid": false |
| } |
| ] |
| }, |
| { |
| "description": "validate against correct branch, then vs else", |
| "schema": { |
| "if": { |
| "exclusiveMaximum": 0 |
| }, |
| "then": { |
| "minimum": -10 |
| }, |
| "else": { |
| "multipleOf": 2 |
| } |
| }, |
| "tests": [ |
| { |
| "description": "valid through then", |
| "data": -1, |
| "valid": true |
| }, |
| { |
| "description": "invalid through then", |
| "data": -100, |
| "valid": false |
| }, |
| { |
| "description": "valid through else", |
| "data": 4, |
| "valid": true |
| }, |
| { |
| "description": "invalid through else", |
| "data": 3, |
| "valid": false |
| } |
| ] |
| }, |
| { |
| "description": "non-interference across combined schemas", |
| "schema": { |
| "allOf": [ |
| { |
| "if": { |
| "exclusiveMaximum": 0 |
| } |
| }, |
| { |
| "then": { |
| "minimum": -10 |
| } |
| }, |
| { |
| "else": { |
| "multipleOf": 2 |
| } |
| } |
| ] |
| }, |
| "tests": [ |
| { |
| "description": "valid, but woud have been invalid through then", |
| "data": -100, |
| "valid": true |
| }, |
| { |
| "description": "valid, but would have been invalid through else", |
| "data": 3, |
| "valid": true |
| } |
| ] |
| } |
| ] |