1*97bd480fSBaptiste Daroussin[ 2*97bd480fSBaptiste Daroussin { 3*97bd480fSBaptiste Daroussin "description": "simple enum validation", 4*97bd480fSBaptiste Daroussin "schema": {"enum": [1, 2, 3]}, 5*97bd480fSBaptiste Daroussin "tests": [ 6*97bd480fSBaptiste Daroussin { 7*97bd480fSBaptiste Daroussin "description": "one of the enum is valid", 8*97bd480fSBaptiste Daroussin "data": 1, 9*97bd480fSBaptiste Daroussin "valid": true 10*97bd480fSBaptiste Daroussin }, 11*97bd480fSBaptiste Daroussin { 12*97bd480fSBaptiste Daroussin "description": "something else is invalid", 13*97bd480fSBaptiste Daroussin "data": 4, 14*97bd480fSBaptiste Daroussin "valid": false 15*97bd480fSBaptiste Daroussin } 16*97bd480fSBaptiste Daroussin ] 17*97bd480fSBaptiste Daroussin }, 18*97bd480fSBaptiste Daroussin { 19*97bd480fSBaptiste Daroussin "description": "heterogeneous enum validation", 20*97bd480fSBaptiste Daroussin "schema": {"enum": [6, "foo", [], true, {"foo": 12}]}, 21*97bd480fSBaptiste Daroussin "tests": [ 22*97bd480fSBaptiste Daroussin { 23*97bd480fSBaptiste Daroussin "description": "one of the enum is valid", 24*97bd480fSBaptiste Daroussin "data": [], 25*97bd480fSBaptiste Daroussin "valid": true 26*97bd480fSBaptiste Daroussin }, 27*97bd480fSBaptiste Daroussin { 28*97bd480fSBaptiste Daroussin "description": "something else is invalid", 29*97bd480fSBaptiste Daroussin "data": null, 30*97bd480fSBaptiste Daroussin "valid": false 31*97bd480fSBaptiste Daroussin }, 32*97bd480fSBaptiste Daroussin { 33*97bd480fSBaptiste Daroussin "description": "objects are deep compared", 34*97bd480fSBaptiste Daroussin "data": {"foo": false}, 35*97bd480fSBaptiste Daroussin "valid": false 36*97bd480fSBaptiste Daroussin } 37*97bd480fSBaptiste Daroussin ] 38*97bd480fSBaptiste Daroussin }, 39*97bd480fSBaptiste Daroussin { 40*97bd480fSBaptiste Daroussin "description": "enums in properties", 41*97bd480fSBaptiste Daroussin "schema": { 42*97bd480fSBaptiste Daroussin "type":"object", 43*97bd480fSBaptiste Daroussin "properties": { 44*97bd480fSBaptiste Daroussin "foo": {"enum":["foo"]}, 45*97bd480fSBaptiste Daroussin "bar": {"enum":["bar"]} 46*97bd480fSBaptiste Daroussin }, 47*97bd480fSBaptiste Daroussin "required": ["bar"] 48*97bd480fSBaptiste Daroussin }, 49*97bd480fSBaptiste Daroussin "tests": [ 50*97bd480fSBaptiste Daroussin { 51*97bd480fSBaptiste Daroussin "description": "both properties are valid", 52*97bd480fSBaptiste Daroussin "data": {"foo":"foo", "bar":"bar"}, 53*97bd480fSBaptiste Daroussin "valid": true 54*97bd480fSBaptiste Daroussin }, 55*97bd480fSBaptiste Daroussin { 56*97bd480fSBaptiste Daroussin "description": "missing optional property is valid", 57*97bd480fSBaptiste Daroussin "data": {"bar":"bar"}, 58*97bd480fSBaptiste Daroussin "valid": true 59*97bd480fSBaptiste Daroussin }, 60*97bd480fSBaptiste Daroussin { 61*97bd480fSBaptiste Daroussin "description": "missing required property is invalid", 62*97bd480fSBaptiste Daroussin "data": {"foo":"foo"}, 63*97bd480fSBaptiste Daroussin "valid": false 64*97bd480fSBaptiste Daroussin }, 65*97bd480fSBaptiste Daroussin { 66*97bd480fSBaptiste Daroussin "description": "missing all properties is invalid", 67*97bd480fSBaptiste Daroussin "data": {}, 68*97bd480fSBaptiste Daroussin "valid": false 69*97bd480fSBaptiste Daroussin } 70*97bd480fSBaptiste Daroussin ] 71*97bd480fSBaptiste Daroussin } 72*97bd480fSBaptiste Daroussin] 73