1*97bd480fSBaptiste Daroussin[ 2*97bd480fSBaptiste Daroussin { 3*97bd480fSBaptiste Daroussin "description": "not", 4*97bd480fSBaptiste Daroussin "schema": { 5*97bd480fSBaptiste Daroussin "not": {"type": "integer"} 6*97bd480fSBaptiste Daroussin }, 7*97bd480fSBaptiste Daroussin "tests": [ 8*97bd480fSBaptiste Daroussin { 9*97bd480fSBaptiste Daroussin "description": "allowed", 10*97bd480fSBaptiste Daroussin "data": "foo", 11*97bd480fSBaptiste Daroussin "valid": true 12*97bd480fSBaptiste Daroussin }, 13*97bd480fSBaptiste Daroussin { 14*97bd480fSBaptiste Daroussin "description": "disallowed", 15*97bd480fSBaptiste Daroussin "data": 1, 16*97bd480fSBaptiste Daroussin "valid": false 17*97bd480fSBaptiste Daroussin } 18*97bd480fSBaptiste Daroussin ] 19*97bd480fSBaptiste Daroussin }, 20*97bd480fSBaptiste Daroussin { 21*97bd480fSBaptiste Daroussin "description": "not multiple types", 22*97bd480fSBaptiste Daroussin "schema": { 23*97bd480fSBaptiste Daroussin "not": {"type": ["integer", "boolean"]} 24*97bd480fSBaptiste Daroussin }, 25*97bd480fSBaptiste Daroussin "tests": [ 26*97bd480fSBaptiste Daroussin { 27*97bd480fSBaptiste Daroussin "description": "valid", 28*97bd480fSBaptiste Daroussin "data": "foo", 29*97bd480fSBaptiste Daroussin "valid": true 30*97bd480fSBaptiste Daroussin }, 31*97bd480fSBaptiste Daroussin { 32*97bd480fSBaptiste Daroussin "description": "mismatch", 33*97bd480fSBaptiste Daroussin "data": 1, 34*97bd480fSBaptiste Daroussin "valid": false 35*97bd480fSBaptiste Daroussin }, 36*97bd480fSBaptiste Daroussin { 37*97bd480fSBaptiste Daroussin "description": "other mismatch", 38*97bd480fSBaptiste Daroussin "data": true, 39*97bd480fSBaptiste Daroussin "valid": false 40*97bd480fSBaptiste Daroussin } 41*97bd480fSBaptiste Daroussin ] 42*97bd480fSBaptiste Daroussin }, 43*97bd480fSBaptiste Daroussin { 44*97bd480fSBaptiste Daroussin "description": "not more complex schema", 45*97bd480fSBaptiste Daroussin "schema": { 46*97bd480fSBaptiste Daroussin "not": { 47*97bd480fSBaptiste Daroussin "type": "object", 48*97bd480fSBaptiste Daroussin "properties": { 49*97bd480fSBaptiste Daroussin "foo": { 50*97bd480fSBaptiste Daroussin "type": "string" 51*97bd480fSBaptiste Daroussin } 52*97bd480fSBaptiste Daroussin } 53*97bd480fSBaptiste Daroussin } 54*97bd480fSBaptiste Daroussin }, 55*97bd480fSBaptiste Daroussin "tests": [ 56*97bd480fSBaptiste Daroussin { 57*97bd480fSBaptiste Daroussin "description": "match", 58*97bd480fSBaptiste Daroussin "data": 1, 59*97bd480fSBaptiste Daroussin "valid": true 60*97bd480fSBaptiste Daroussin }, 61*97bd480fSBaptiste Daroussin { 62*97bd480fSBaptiste Daroussin "description": "other match", 63*97bd480fSBaptiste Daroussin "data": {"foo": 1}, 64*97bd480fSBaptiste Daroussin "valid": true 65*97bd480fSBaptiste Daroussin }, 66*97bd480fSBaptiste Daroussin { 67*97bd480fSBaptiste Daroussin "description": "mismatch", 68*97bd480fSBaptiste Daroussin "data": {"foo": "bar"}, 69*97bd480fSBaptiste Daroussin "valid": false 70*97bd480fSBaptiste Daroussin } 71*97bd480fSBaptiste Daroussin ] 72*97bd480fSBaptiste Daroussin }, 73*97bd480fSBaptiste Daroussin { 74*97bd480fSBaptiste Daroussin "description": "forbidden property", 75*97bd480fSBaptiste Daroussin "schema": { 76*97bd480fSBaptiste Daroussin "properties": { 77*97bd480fSBaptiste Daroussin "foo": { 78*97bd480fSBaptiste Daroussin "not": {} 79*97bd480fSBaptiste Daroussin } 80*97bd480fSBaptiste Daroussin } 81*97bd480fSBaptiste Daroussin }, 82*97bd480fSBaptiste Daroussin "tests": [ 83*97bd480fSBaptiste Daroussin { 84*97bd480fSBaptiste Daroussin "description": "property present", 85*97bd480fSBaptiste Daroussin "data": {"foo": 1, "bar": 2}, 86*97bd480fSBaptiste Daroussin "valid": false 87*97bd480fSBaptiste Daroussin }, 88*97bd480fSBaptiste Daroussin { 89*97bd480fSBaptiste Daroussin "description": "property absent", 90*97bd480fSBaptiste Daroussin "data": {"bar": 1, "baz": 2}, 91*97bd480fSBaptiste Daroussin "valid": true 92*97bd480fSBaptiste Daroussin } 93*97bd480fSBaptiste Daroussin ] 94*97bd480fSBaptiste Daroussin } 95*97bd480fSBaptiste Daroussin 96*97bd480fSBaptiste Daroussin] 97