| [ |
| { |
| "description": "simple enum validation", |
| "schema": {"enum": [1, 2, 3]}, |
| "tests": [ |
| { |
| "description": "one of the enum is valid", |
| "data": 1, |
| "valid": true |
| }, |
| { |
| "description": "something else is invalid", |
| "data": 4, |
| "valid": false |
| } |
| ] |
| }, |
| { |
| "description": "heterogeneous enum validation", |
| "schema": {"enum": [6, "foo", [], true, {"foo": 12}]}, |
| "tests": [ |
| { |
| "description": "one of the enum is valid", |
| "data": [], |
| "valid": true |
| }, |
| { |
| "description": "something else is invalid", |
| "data": null, |
| "valid": false |
| }, |
| { |
| "description": "objects are deep compared", |
| "data": {"foo": false}, |
| "valid": false |
| } |
| ] |
| }, |
| { |
| "description": "enums in properties", |
| "schema": { |
| "type":"object", |
| "properties": { |
| "foo": {"enum":["foo"]}, |
| "bar": {"enum":["bar"]} |
| }, |
| "required": ["bar"] |
| }, |
| "tests": [ |
| { |
| "description": "both properties are valid", |
| "data": {"foo":"foo", "bar":"bar"}, |
| "valid": true |
| }, |
| { |
| "description": "missing optional property is valid", |
| "data": {"bar":"bar"}, |
| "valid": true |
| }, |
| { |
| "description": "missing required property is invalid", |
| "data": {"foo":"foo"}, |
| "valid": false |
| }, |
| { |
| "description": "missing all properties is invalid", |
| "data": {}, |
| "valid": false |
| } |
| ] |
| } |
| ] |