1*97bd480fSBaptiste Daroussin[ 2*97bd480fSBaptiste Daroussin { 3*97bd480fSBaptiste Daroussin "description": "integer type matches integers", 4*97bd480fSBaptiste Daroussin "schema": {"type": "integer"}, 5*97bd480fSBaptiste Daroussin "tests": [ 6*97bd480fSBaptiste Daroussin { 7*97bd480fSBaptiste Daroussin "description": "an integer is an integer", 8*97bd480fSBaptiste Daroussin "data": 1, 9*97bd480fSBaptiste Daroussin "valid": true 10*97bd480fSBaptiste Daroussin }, 11*97bd480fSBaptiste Daroussin { 12*97bd480fSBaptiste Daroussin "description": "a float is not an integer", 13*97bd480fSBaptiste Daroussin "data": 1.1, 14*97bd480fSBaptiste Daroussin "valid": false 15*97bd480fSBaptiste Daroussin }, 16*97bd480fSBaptiste Daroussin { 17*97bd480fSBaptiste Daroussin "description": "a string is not an integer", 18*97bd480fSBaptiste Daroussin "data": "foo", 19*97bd480fSBaptiste Daroussin "valid": false 20*97bd480fSBaptiste Daroussin }, 21*97bd480fSBaptiste Daroussin { 22*97bd480fSBaptiste Daroussin "description": "an object is not an integer", 23*97bd480fSBaptiste Daroussin "data": {}, 24*97bd480fSBaptiste Daroussin "valid": false 25*97bd480fSBaptiste Daroussin }, 26*97bd480fSBaptiste Daroussin { 27*97bd480fSBaptiste Daroussin "description": "an array is not an integer", 28*97bd480fSBaptiste Daroussin "data": [], 29*97bd480fSBaptiste Daroussin "valid": false 30*97bd480fSBaptiste Daroussin }, 31*97bd480fSBaptiste Daroussin { 32*97bd480fSBaptiste Daroussin "description": "a boolean is not an integer", 33*97bd480fSBaptiste Daroussin "data": true, 34*97bd480fSBaptiste Daroussin "valid": false 35*97bd480fSBaptiste Daroussin }, 36*97bd480fSBaptiste Daroussin { 37*97bd480fSBaptiste Daroussin "description": "null is not an integer", 38*97bd480fSBaptiste Daroussin "data": null, 39*97bd480fSBaptiste Daroussin "valid": false 40*97bd480fSBaptiste Daroussin } 41*97bd480fSBaptiste Daroussin ] 42*97bd480fSBaptiste Daroussin }, 43*97bd480fSBaptiste Daroussin { 44*97bd480fSBaptiste Daroussin "description": "number type matches numbers", 45*97bd480fSBaptiste Daroussin "schema": {"type": "number"}, 46*97bd480fSBaptiste Daroussin "tests": [ 47*97bd480fSBaptiste Daroussin { 48*97bd480fSBaptiste Daroussin "description": "an integer is a number", 49*97bd480fSBaptiste Daroussin "data": 1, 50*97bd480fSBaptiste Daroussin "valid": true 51*97bd480fSBaptiste Daroussin }, 52*97bd480fSBaptiste Daroussin { 53*97bd480fSBaptiste Daroussin "description": "a float is a number", 54*97bd480fSBaptiste Daroussin "data": 1.1, 55*97bd480fSBaptiste Daroussin "valid": true 56*97bd480fSBaptiste Daroussin }, 57*97bd480fSBaptiste Daroussin { 58*97bd480fSBaptiste Daroussin "description": "a string is not a number", 59*97bd480fSBaptiste Daroussin "data": "foo", 60*97bd480fSBaptiste Daroussin "valid": false 61*97bd480fSBaptiste Daroussin }, 62*97bd480fSBaptiste Daroussin { 63*97bd480fSBaptiste Daroussin "description": "an object is not a number", 64*97bd480fSBaptiste Daroussin "data": {}, 65*97bd480fSBaptiste Daroussin "valid": false 66*97bd480fSBaptiste Daroussin }, 67*97bd480fSBaptiste Daroussin { 68*97bd480fSBaptiste Daroussin "description": "an array is not a number", 69*97bd480fSBaptiste Daroussin "data": [], 70*97bd480fSBaptiste Daroussin "valid": false 71*97bd480fSBaptiste Daroussin }, 72*97bd480fSBaptiste Daroussin { 73*97bd480fSBaptiste Daroussin "description": "a boolean is not a number", 74*97bd480fSBaptiste Daroussin "data": true, 75*97bd480fSBaptiste Daroussin "valid": false 76*97bd480fSBaptiste Daroussin }, 77*97bd480fSBaptiste Daroussin { 78*97bd480fSBaptiste Daroussin "description": "null is not a number", 79*97bd480fSBaptiste Daroussin "data": null, 80*97bd480fSBaptiste Daroussin "valid": false 81*97bd480fSBaptiste Daroussin } 82*97bd480fSBaptiste Daroussin ] 83*97bd480fSBaptiste Daroussin }, 84*97bd480fSBaptiste Daroussin { 85*97bd480fSBaptiste Daroussin "description": "string type matches strings", 86*97bd480fSBaptiste Daroussin "schema": {"type": "string"}, 87*97bd480fSBaptiste Daroussin "tests": [ 88*97bd480fSBaptiste Daroussin { 89*97bd480fSBaptiste Daroussin "description": "1 is not a string", 90*97bd480fSBaptiste Daroussin "data": 1, 91*97bd480fSBaptiste Daroussin "valid": false 92*97bd480fSBaptiste Daroussin }, 93*97bd480fSBaptiste Daroussin { 94*97bd480fSBaptiste Daroussin "description": "a float is not a string", 95*97bd480fSBaptiste Daroussin "data": 1.1, 96*97bd480fSBaptiste Daroussin "valid": false 97*97bd480fSBaptiste Daroussin }, 98*97bd480fSBaptiste Daroussin { 99*97bd480fSBaptiste Daroussin "description": "a string is a string", 100*97bd480fSBaptiste Daroussin "data": "foo", 101*97bd480fSBaptiste Daroussin "valid": true 102*97bd480fSBaptiste Daroussin }, 103*97bd480fSBaptiste Daroussin { 104*97bd480fSBaptiste Daroussin "description": "an object is not a string", 105*97bd480fSBaptiste Daroussin "data": {}, 106*97bd480fSBaptiste Daroussin "valid": false 107*97bd480fSBaptiste Daroussin }, 108*97bd480fSBaptiste Daroussin { 109*97bd480fSBaptiste Daroussin "description": "an array is not a string", 110*97bd480fSBaptiste Daroussin "data": [], 111*97bd480fSBaptiste Daroussin "valid": false 112*97bd480fSBaptiste Daroussin }, 113*97bd480fSBaptiste Daroussin { 114*97bd480fSBaptiste Daroussin "description": "a boolean is not a string", 115*97bd480fSBaptiste Daroussin "data": true, 116*97bd480fSBaptiste Daroussin "valid": false 117*97bd480fSBaptiste Daroussin }, 118*97bd480fSBaptiste Daroussin { 119*97bd480fSBaptiste Daroussin "description": "null is not a string", 120*97bd480fSBaptiste Daroussin "data": null, 121*97bd480fSBaptiste Daroussin "valid": false 122*97bd480fSBaptiste Daroussin } 123*97bd480fSBaptiste Daroussin ] 124*97bd480fSBaptiste Daroussin }, 125*97bd480fSBaptiste Daroussin { 126*97bd480fSBaptiste Daroussin "description": "object type matches objects", 127*97bd480fSBaptiste Daroussin "schema": {"type": "object"}, 128*97bd480fSBaptiste Daroussin "tests": [ 129*97bd480fSBaptiste Daroussin { 130*97bd480fSBaptiste Daroussin "description": "an integer is not an object", 131*97bd480fSBaptiste Daroussin "data": 1, 132*97bd480fSBaptiste Daroussin "valid": false 133*97bd480fSBaptiste Daroussin }, 134*97bd480fSBaptiste Daroussin { 135*97bd480fSBaptiste Daroussin "description": "a float is not an object", 136*97bd480fSBaptiste Daroussin "data": 1.1, 137*97bd480fSBaptiste Daroussin "valid": false 138*97bd480fSBaptiste Daroussin }, 139*97bd480fSBaptiste Daroussin { 140*97bd480fSBaptiste Daroussin "description": "a string is not an object", 141*97bd480fSBaptiste Daroussin "data": "foo", 142*97bd480fSBaptiste Daroussin "valid": false 143*97bd480fSBaptiste Daroussin }, 144*97bd480fSBaptiste Daroussin { 145*97bd480fSBaptiste Daroussin "description": "an object is an object", 146*97bd480fSBaptiste Daroussin "data": {}, 147*97bd480fSBaptiste Daroussin "valid": true 148*97bd480fSBaptiste Daroussin }, 149*97bd480fSBaptiste Daroussin { 150*97bd480fSBaptiste Daroussin "description": "an array is not an object", 151*97bd480fSBaptiste Daroussin "data": [], 152*97bd480fSBaptiste Daroussin "valid": false 153*97bd480fSBaptiste Daroussin }, 154*97bd480fSBaptiste Daroussin { 155*97bd480fSBaptiste Daroussin "description": "a boolean is not an object", 156*97bd480fSBaptiste Daroussin "data": true, 157*97bd480fSBaptiste Daroussin "valid": false 158*97bd480fSBaptiste Daroussin }, 159*97bd480fSBaptiste Daroussin { 160*97bd480fSBaptiste Daroussin "description": "null is not an object", 161*97bd480fSBaptiste Daroussin "data": null, 162*97bd480fSBaptiste Daroussin "valid": false 163*97bd480fSBaptiste Daroussin } 164*97bd480fSBaptiste Daroussin ] 165*97bd480fSBaptiste Daroussin }, 166*97bd480fSBaptiste Daroussin { 167*97bd480fSBaptiste Daroussin "description": "array type matches arrays", 168*97bd480fSBaptiste Daroussin "schema": {"type": "array"}, 169*97bd480fSBaptiste Daroussin "tests": [ 170*97bd480fSBaptiste Daroussin { 171*97bd480fSBaptiste Daroussin "description": "an integer is not an array", 172*97bd480fSBaptiste Daroussin "data": 1, 173*97bd480fSBaptiste Daroussin "valid": false 174*97bd480fSBaptiste Daroussin }, 175*97bd480fSBaptiste Daroussin { 176*97bd480fSBaptiste Daroussin "description": "a float is not an array", 177*97bd480fSBaptiste Daroussin "data": 1.1, 178*97bd480fSBaptiste Daroussin "valid": false 179*97bd480fSBaptiste Daroussin }, 180*97bd480fSBaptiste Daroussin { 181*97bd480fSBaptiste Daroussin "description": "a string is not an array", 182*97bd480fSBaptiste Daroussin "data": "foo", 183*97bd480fSBaptiste Daroussin "valid": false 184*97bd480fSBaptiste Daroussin }, 185*97bd480fSBaptiste Daroussin { 186*97bd480fSBaptiste Daroussin "description": "an object is not an array", 187*97bd480fSBaptiste Daroussin "data": {}, 188*97bd480fSBaptiste Daroussin "valid": false 189*97bd480fSBaptiste Daroussin }, 190*97bd480fSBaptiste Daroussin { 191*97bd480fSBaptiste Daroussin "description": "an array is not an array", 192*97bd480fSBaptiste Daroussin "data": [], 193*97bd480fSBaptiste Daroussin "valid": true 194*97bd480fSBaptiste Daroussin }, 195*97bd480fSBaptiste Daroussin { 196*97bd480fSBaptiste Daroussin "description": "a boolean is not an array", 197*97bd480fSBaptiste Daroussin "data": true, 198*97bd480fSBaptiste Daroussin "valid": false 199*97bd480fSBaptiste Daroussin }, 200*97bd480fSBaptiste Daroussin { 201*97bd480fSBaptiste Daroussin "description": "null is not an array", 202*97bd480fSBaptiste Daroussin "data": null, 203*97bd480fSBaptiste Daroussin "valid": false 204*97bd480fSBaptiste Daroussin } 205*97bd480fSBaptiste Daroussin ] 206*97bd480fSBaptiste Daroussin }, 207*97bd480fSBaptiste Daroussin { 208*97bd480fSBaptiste Daroussin "description": "boolean type matches booleans", 209*97bd480fSBaptiste Daroussin "schema": {"type": "boolean"}, 210*97bd480fSBaptiste Daroussin "tests": [ 211*97bd480fSBaptiste Daroussin { 212*97bd480fSBaptiste Daroussin "description": "an integer is not a boolean", 213*97bd480fSBaptiste Daroussin "data": 1, 214*97bd480fSBaptiste Daroussin "valid": false 215*97bd480fSBaptiste Daroussin }, 216*97bd480fSBaptiste Daroussin { 217*97bd480fSBaptiste Daroussin "description": "a float is not a boolean", 218*97bd480fSBaptiste Daroussin "data": 1.1, 219*97bd480fSBaptiste Daroussin "valid": false 220*97bd480fSBaptiste Daroussin }, 221*97bd480fSBaptiste Daroussin { 222*97bd480fSBaptiste Daroussin "description": "a string is not a boolean", 223*97bd480fSBaptiste Daroussin "data": "foo", 224*97bd480fSBaptiste Daroussin "valid": false 225*97bd480fSBaptiste Daroussin }, 226*97bd480fSBaptiste Daroussin { 227*97bd480fSBaptiste Daroussin "description": "an object is not a boolean", 228*97bd480fSBaptiste Daroussin "data": {}, 229*97bd480fSBaptiste Daroussin "valid": false 230*97bd480fSBaptiste Daroussin }, 231*97bd480fSBaptiste Daroussin { 232*97bd480fSBaptiste Daroussin "description": "an array is not a boolean", 233*97bd480fSBaptiste Daroussin "data": [], 234*97bd480fSBaptiste Daroussin "valid": false 235*97bd480fSBaptiste Daroussin }, 236*97bd480fSBaptiste Daroussin { 237*97bd480fSBaptiste Daroussin "description": "a boolean is not a boolean", 238*97bd480fSBaptiste Daroussin "data": true, 239*97bd480fSBaptiste Daroussin "valid": true 240*97bd480fSBaptiste Daroussin }, 241*97bd480fSBaptiste Daroussin { 242*97bd480fSBaptiste Daroussin "description": "null is not a boolean", 243*97bd480fSBaptiste Daroussin "data": null, 244*97bd480fSBaptiste Daroussin "valid": false 245*97bd480fSBaptiste Daroussin } 246*97bd480fSBaptiste Daroussin ] 247*97bd480fSBaptiste Daroussin }, 248*97bd480fSBaptiste Daroussin { 249*97bd480fSBaptiste Daroussin "description": "null type matches only the null object", 250*97bd480fSBaptiste Daroussin "schema": {"type": "null"}, 251*97bd480fSBaptiste Daroussin "tests": [ 252*97bd480fSBaptiste Daroussin { 253*97bd480fSBaptiste Daroussin "description": "an integer is not null", 254*97bd480fSBaptiste Daroussin "data": 1, 255*97bd480fSBaptiste Daroussin "valid": false 256*97bd480fSBaptiste Daroussin }, 257*97bd480fSBaptiste Daroussin { 258*97bd480fSBaptiste Daroussin "description": "a float is not null", 259*97bd480fSBaptiste Daroussin "data": 1.1, 260*97bd480fSBaptiste Daroussin "valid": false 261*97bd480fSBaptiste Daroussin }, 262*97bd480fSBaptiste Daroussin { 263*97bd480fSBaptiste Daroussin "description": "a string is not null", 264*97bd480fSBaptiste Daroussin "data": "foo", 265*97bd480fSBaptiste Daroussin "valid": false 266*97bd480fSBaptiste Daroussin }, 267*97bd480fSBaptiste Daroussin { 268*97bd480fSBaptiste Daroussin "description": "an object is not null", 269*97bd480fSBaptiste Daroussin "data": {}, 270*97bd480fSBaptiste Daroussin "valid": false 271*97bd480fSBaptiste Daroussin }, 272*97bd480fSBaptiste Daroussin { 273*97bd480fSBaptiste Daroussin "description": "an array is not null", 274*97bd480fSBaptiste Daroussin "data": [], 275*97bd480fSBaptiste Daroussin "valid": false 276*97bd480fSBaptiste Daroussin }, 277*97bd480fSBaptiste Daroussin { 278*97bd480fSBaptiste Daroussin "description": "a boolean is not null", 279*97bd480fSBaptiste Daroussin "data": true, 280*97bd480fSBaptiste Daroussin "valid": false 281*97bd480fSBaptiste Daroussin }, 282*97bd480fSBaptiste Daroussin { 283*97bd480fSBaptiste Daroussin "description": "null is null", 284*97bd480fSBaptiste Daroussin "data": null, 285*97bd480fSBaptiste Daroussin "valid": true 286*97bd480fSBaptiste Daroussin } 287*97bd480fSBaptiste Daroussin ] 288*97bd480fSBaptiste Daroussin }, 289*97bd480fSBaptiste Daroussin { 290*97bd480fSBaptiste Daroussin "description": "multiple types can be specified in an array", 291*97bd480fSBaptiste Daroussin "schema": {"type": ["integer", "string"]}, 292*97bd480fSBaptiste Daroussin "tests": [ 293*97bd480fSBaptiste Daroussin { 294*97bd480fSBaptiste Daroussin "description": "an integer is valid", 295*97bd480fSBaptiste Daroussin "data": 1, 296*97bd480fSBaptiste Daroussin "valid": true 297*97bd480fSBaptiste Daroussin }, 298*97bd480fSBaptiste Daroussin { 299*97bd480fSBaptiste Daroussin "description": "a string is valid", 300*97bd480fSBaptiste Daroussin "data": "foo", 301*97bd480fSBaptiste Daroussin "valid": true 302*97bd480fSBaptiste Daroussin }, 303*97bd480fSBaptiste Daroussin { 304*97bd480fSBaptiste Daroussin "description": "a float is invalid", 305*97bd480fSBaptiste Daroussin "data": 1.1, 306*97bd480fSBaptiste Daroussin "valid": false 307*97bd480fSBaptiste Daroussin }, 308*97bd480fSBaptiste Daroussin { 309*97bd480fSBaptiste Daroussin "description": "an object is invalid", 310*97bd480fSBaptiste Daroussin "data": {}, 311*97bd480fSBaptiste Daroussin "valid": false 312*97bd480fSBaptiste Daroussin }, 313*97bd480fSBaptiste Daroussin { 314*97bd480fSBaptiste Daroussin "description": "an array is invalid", 315*97bd480fSBaptiste Daroussin "data": [], 316*97bd480fSBaptiste Daroussin "valid": false 317*97bd480fSBaptiste Daroussin }, 318*97bd480fSBaptiste Daroussin { 319*97bd480fSBaptiste Daroussin "description": "a boolean is invalid", 320*97bd480fSBaptiste Daroussin "data": true, 321*97bd480fSBaptiste Daroussin "valid": false 322*97bd480fSBaptiste Daroussin }, 323*97bd480fSBaptiste Daroussin { 324*97bd480fSBaptiste Daroussin "description": "null is invalid", 325*97bd480fSBaptiste Daroussin "data": null, 326*97bd480fSBaptiste Daroussin "valid": false 327*97bd480fSBaptiste Daroussin } 328*97bd480fSBaptiste Daroussin ] 329*97bd480fSBaptiste Daroussin } 330*97bd480fSBaptiste Daroussin] 331