properties.json revision 263648
155682Smarkm[ 2233294Sstas { 355682Smarkm "description": "object properties validation", 455682Smarkm "schema": { 5233294Sstas "properties": { 655682Smarkm "foo": {"type": "integer"}, 755682Smarkm "bar": {"type": "string"} 855682Smarkm } 9233294Sstas }, 1055682Smarkm "tests": [ 1155682Smarkm { 12233294Sstas "description": "both properties present and valid is valid", 1355682Smarkm "data": {"foo": 1, "bar": "baz"}, 1455682Smarkm "valid": true 1555682Smarkm }, 16233294Sstas { 1755682Smarkm "description": "one property invalid is invalid", 1855682Smarkm "data": {"foo": 1, "bar": {}}, 1955682Smarkm "valid": false 20233294Sstas }, 2155682Smarkm { 2255682Smarkm "description": "both properties invalid is invalid", 2355682Smarkm "data": {"foo": [], "bar": {}}, 2455682Smarkm "valid": false 2555682Smarkm }, 2655682Smarkm { 2755682Smarkm "description": "doesn't invalidate other properties", 2855682Smarkm "data": {"quux": []}, 2955682Smarkm "valid": true 3055682Smarkm }, 3155682Smarkm { 3255682Smarkm "description": "ignores non-objects", 3355682Smarkm "data": [], 3455682Smarkm "valid": true 3555682Smarkm } 3655682Smarkm ] 3755682Smarkm }, 3855682Smarkm { 3955682Smarkm "description": 4055682Smarkm "properties, patternProperties, additionalProperties interaction", 4155682Smarkm "schema": { 42233294Sstas "properties": { 4355682Smarkm "foo": {"type": "array", "maxItems": 3}, 4455682Smarkm "bar": {"type": "array"} 4555682Smarkm }, 4655682Smarkm "patternProperties": {"f.o": {"minItems": 2}}, 4755682Smarkm "additionalProperties": {"type": "integer"} 4855682Smarkm }, 4955682Smarkm "tests": [ 5055682Smarkm { 5155682Smarkm "description": "property validates property", 5255682Smarkm "data": {"foo": [1, 2]}, 5355682Smarkm "valid": true 5455682Smarkm }, 5555682Smarkm { 5655682Smarkm "description": "property invalidates property", 5755682Smarkm "data": {"foo": [1, 2, 3, 4]}, 5855682Smarkm "valid": false 5955682Smarkm }, 60 { 61 "description": "patternProperty invalidates property", 62 "data": {"foo": []}, 63 "valid": false 64 }, 65 { 66 "description": "patternProperty validates nonproperty", 67 "data": {"fxo": [1, 2]}, 68 "valid": true 69 }, 70 { 71 "description": "patternProperty invalidates nonproperty", 72 "data": {"fxo": []}, 73 "valid": false 74 }, 75 { 76 "description": "additionalProperty ignores property", 77 "data": {"bar": []}, 78 "valid": true 79 }, 80 { 81 "description": "additionalProperty validates others", 82 "data": {"quux": 3}, 83 "valid": true 84 }, 85 { 86 "description": "additionalProperty invalidates others", 87 "data": {"quux": "foo"}, 88 "valid": false 89 } 90 ] 91 } 92] 93