| [ |
| { |
| "description": "a schema given for items", |
| "schema": { |
| "items": {"type": "integer"} |
| }, |
| "tests": [ |
| { |
| "description": "valid items", |
| "data": [ 1, 2, 3 ], |
| "valid": true |
| }, |
| { |
| "description": "wrong type of items", |
| "data": [1, "x"], |
| "valid": false |
| }, |
| { |
| "description": "ignores non-arrays", |
| "data": {"foo" : "bar"}, |
| "valid": true |
| }, |
| { |
| "description": "JavaScript pseudo-array is valid", |
| "data": { |
| "0": "invalid", |
| "length": 1 |
| }, |
| "valid": true |
| } |
| ] |
| }, |
| { |
| "description": "an array of schemas for items", |
| "schema": { |
| "items": [ |
| {"type": "integer"}, |
| {"type": "string"} |
| ] |
| }, |
| "tests": [ |
| { |
| "description": "correct types", |
| "data": [ 1, "foo" ], |
| "valid": true |
| }, |
| { |
| "description": "wrong types", |
| "data": [ "foo", 1 ], |
| "valid": false |
| }, |
| { |
| "description": "incomplete array of items", |
| "data": [ 1 ], |
| "valid": true |
| }, |
| { |
| "description": "array with additional items", |
| "data": [ 1, "foo", true ], |
| "valid": true |
| }, |
| { |
| "description": "empty array", |
| "data": [ ], |
| "valid": true |
| }, |
| { |
| "description": "JavaScript pseudo-array is valid", |
| "data": { |
| "0": "invalid", |
| "1": "valid", |
| "length": 2 |
| }, |
| "valid": true |
| } |
| ] |
| }, |
| { |
| "description": "items and subitems", |
| "schema": { |
| "definitions": { |
| "item": { |
| "type": "array", |
| "additionalItems": false, |
| "items": [ |
| { "$ref": "#/definitions/sub-item" }, |
| { "$ref": "#/definitions/sub-item" } |
| ] |
| }, |
| "sub-item": { |
| "type": "object", |
| "required": ["foo"] |
| } |
| }, |
| "type": "array", |
| "additionalItems": false, |
| "items": [ |
| { "$ref": "#/definitions/item" }, |
| { "$ref": "#/definitions/item" }, |
| { "$ref": "#/definitions/item" } |
| ] |
| }, |
| "tests": [ |
| { |
| "description": "valid items", |
| "data": [ |
| [ {"foo": null}, {"foo": null} ], |
| [ {"foo": null}, {"foo": null} ], |
| [ {"foo": null}, {"foo": null} ] |
| ], |
| "valid": true |
| }, |
| { |
| "description": "too many items", |
| "data": [ |
| [ {"foo": null}, {"foo": null} ], |
| [ {"foo": null}, {"foo": null} ], |
| [ {"foo": null}, {"foo": null} ], |
| [ {"foo": null}, {"foo": null} ] |
| ], |
| "valid": false |
| }, |
| { |
| "description": "too many sub-items", |
| "data": [ |
| [ {"foo": null}, {"foo": null}, {"foo": null} ], |
| [ {"foo": null}, {"foo": null} ], |
| [ {"foo": null}, {"foo": null} ] |
| ], |
| "valid": false |
| }, |
| { |
| "description": "wrong item", |
| "data": [ |
| {"foo": null}, |
| [ {"foo": null}, {"foo": null} ], |
| [ {"foo": null}, {"foo": null} ] |
| ], |
| "valid": false |
| }, |
| { |
| "description": "wrong sub-item", |
| "data": [ |
| [ {}, {"foo": null} ], |
| [ {"foo": null}, {"foo": null} ], |
| [ {"foo": null}, {"foo": null} ] |
| ], |
| "valid": false |
| }, |
| { |
| "description": "fewer items is valid", |
| "data": [ |
| [ {"foo": null} ], |
| [ {"foo": null} ] |
| ], |
| "valid": true |
| } |
| ] |
| }, |
| { |
| "description": "nested items", |
| "schema": { |
| "type": "array", |
| "items": { |
| "type": "array", |
| "items": { |
| "type": "array", |
| "items": { |
| "type": "array", |
| "items": { |
| "type": "number" |
| } |
| } |
| } |
| } |
| }, |
| "tests": [ |
| { |
| "description": "valid nested array", |
| "data": [[[[1]], [[2],[3]]], [[[4], [5], [6]]]], |
| "valid": true |
| }, |
| { |
| "description": "nested array with invalid type", |
| "data": [[[["1"]], [[2],[3]]], [[[4], [5], [6]]]], |
| "valid": false |
| }, |
| { |
| "description": "not deep enough", |
| "data": [[[1], [2],[3]], [[4], [5], [6]]], |
| "valid": false |
| } |
| ] |
| }, |
| { |
| "description": "items with null instance elements", |
| "schema": { |
| "items": { |
| "type": "null" |
| } |
| }, |
| "tests": [ |
| { |
| "description": "allows null elements", |
| "data": [ null ], |
| "valid": true |
| } |
| ] |
| }, |
| { |
| "description": "array-form items with null instance elements", |
| "schema": { |
| "items": [ |
| { |
| "type": "null" |
| } |
| ] |
| }, |
| "tests": [ |
| { |
| "description": "allows null elements", |
| "data": [ null ], |
| "valid": true |
| } |
| ] |
| } |
| ] |