1263646Sbapt[ 2263646Sbapt { 3263646Sbapt "description": "integer type matches integers", 4263646Sbapt "schema": {"type": "integer"}, 5263646Sbapt "tests": [ 6263646Sbapt { 7263646Sbapt "description": "an integer is an integer", 8263646Sbapt "data": 1, 9263646Sbapt "valid": true 10263646Sbapt }, 11263646Sbapt { 12263646Sbapt "description": "a float is not an integer", 13263646Sbapt "data": 1.1, 14263646Sbapt "valid": false 15263646Sbapt }, 16263646Sbapt { 17263646Sbapt "description": "a string is not an integer", 18263646Sbapt "data": "foo", 19263646Sbapt "valid": false 20263646Sbapt }, 21263646Sbapt { 22263646Sbapt "description": "an object is not an integer", 23263646Sbapt "data": {}, 24263646Sbapt "valid": false 25263646Sbapt }, 26263646Sbapt { 27263646Sbapt "description": "an array is not an integer", 28263646Sbapt "data": [], 29263646Sbapt "valid": false 30263646Sbapt }, 31263646Sbapt { 32263646Sbapt "description": "a boolean is not an integer", 33263646Sbapt "data": true, 34263646Sbapt "valid": false 35263646Sbapt }, 36263646Sbapt { 37263646Sbapt "description": "null is not an integer", 38263646Sbapt "data": null, 39263646Sbapt "valid": false 40263646Sbapt } 41263646Sbapt ] 42263646Sbapt }, 43263646Sbapt { 44263646Sbapt "description": "number type matches numbers", 45263646Sbapt "schema": {"type": "number"}, 46263646Sbapt "tests": [ 47263646Sbapt { 48263646Sbapt "description": "an integer is a number", 49263646Sbapt "data": 1, 50263646Sbapt "valid": true 51263646Sbapt }, 52263646Sbapt { 53263646Sbapt "description": "a float is a number", 54263646Sbapt "data": 1.1, 55263646Sbapt "valid": true 56263646Sbapt }, 57263646Sbapt { 58263646Sbapt "description": "a string is not a number", 59263646Sbapt "data": "foo", 60263646Sbapt "valid": false 61263646Sbapt }, 62263646Sbapt { 63263646Sbapt "description": "an object is not a number", 64263646Sbapt "data": {}, 65263646Sbapt "valid": false 66263646Sbapt }, 67263646Sbapt { 68263646Sbapt "description": "an array is not a number", 69263646Sbapt "data": [], 70263646Sbapt "valid": false 71263646Sbapt }, 72263646Sbapt { 73263646Sbapt "description": "a boolean is not a number", 74263646Sbapt "data": true, 75263646Sbapt "valid": false 76263646Sbapt }, 77263646Sbapt { 78263646Sbapt "description": "null is not a number", 79263646Sbapt "data": null, 80263646Sbapt "valid": false 81263646Sbapt } 82263646Sbapt ] 83263646Sbapt }, 84263646Sbapt { 85263646Sbapt "description": "string type matches strings", 86263646Sbapt "schema": {"type": "string"}, 87263646Sbapt "tests": [ 88263646Sbapt { 89263646Sbapt "description": "1 is not a string", 90263646Sbapt "data": 1, 91263646Sbapt "valid": false 92263646Sbapt }, 93263646Sbapt { 94263646Sbapt "description": "a float is not a string", 95263646Sbapt "data": 1.1, 96263646Sbapt "valid": false 97263646Sbapt }, 98263646Sbapt { 99263646Sbapt "description": "a string is a string", 100263646Sbapt "data": "foo", 101263646Sbapt "valid": true 102263646Sbapt }, 103263646Sbapt { 104263646Sbapt "description": "an object is not a string", 105263646Sbapt "data": {}, 106263646Sbapt "valid": false 107263646Sbapt }, 108263646Sbapt { 109263646Sbapt "description": "an array is not a string", 110263646Sbapt "data": [], 111263646Sbapt "valid": false 112263646Sbapt }, 113263646Sbapt { 114263646Sbapt "description": "a boolean is not a string", 115263646Sbapt "data": true, 116263646Sbapt "valid": false 117263646Sbapt }, 118263646Sbapt { 119263646Sbapt "description": "null is not a string", 120263646Sbapt "data": null, 121263646Sbapt "valid": false 122263646Sbapt } 123263646Sbapt ] 124263646Sbapt }, 125263646Sbapt { 126263646Sbapt "description": "object type matches objects", 127263646Sbapt "schema": {"type": "object"}, 128263646Sbapt "tests": [ 129263646Sbapt { 130263646Sbapt "description": "an integer is not an object", 131263646Sbapt "data": 1, 132263646Sbapt "valid": false 133263646Sbapt }, 134263646Sbapt { 135263646Sbapt "description": "a float is not an object", 136263646Sbapt "data": 1.1, 137263646Sbapt "valid": false 138263646Sbapt }, 139263646Sbapt { 140263646Sbapt "description": "a string is not an object", 141263646Sbapt "data": "foo", 142263646Sbapt "valid": false 143263646Sbapt }, 144263646Sbapt { 145263646Sbapt "description": "an object is an object", 146263646Sbapt "data": {}, 147263646Sbapt "valid": true 148263646Sbapt }, 149263646Sbapt { 150263646Sbapt "description": "an array is not an object", 151263646Sbapt "data": [], 152263646Sbapt "valid": false 153263646Sbapt }, 154263646Sbapt { 155263646Sbapt "description": "a boolean is not an object", 156263646Sbapt "data": true, 157263646Sbapt "valid": false 158263646Sbapt }, 159263646Sbapt { 160263646Sbapt "description": "null is not an object", 161263646Sbapt "data": null, 162263646Sbapt "valid": false 163263646Sbapt } 164263646Sbapt ] 165263646Sbapt }, 166263646Sbapt { 167263646Sbapt "description": "array type matches arrays", 168263646Sbapt "schema": {"type": "array"}, 169263646Sbapt "tests": [ 170263646Sbapt { 171263646Sbapt "description": "an integer is not an array", 172263646Sbapt "data": 1, 173263646Sbapt "valid": false 174263646Sbapt }, 175263646Sbapt { 176263646Sbapt "description": "a float is not an array", 177263646Sbapt "data": 1.1, 178263646Sbapt "valid": false 179263646Sbapt }, 180263646Sbapt { 181263646Sbapt "description": "a string is not an array", 182263646Sbapt "data": "foo", 183263646Sbapt "valid": false 184263646Sbapt }, 185263646Sbapt { 186263646Sbapt "description": "an object is not an array", 187263646Sbapt "data": {}, 188263646Sbapt "valid": false 189263646Sbapt }, 190263646Sbapt { 191263646Sbapt "description": "an array is not an array", 192263646Sbapt "data": [], 193263646Sbapt "valid": true 194263646Sbapt }, 195263646Sbapt { 196263646Sbapt "description": "a boolean is not an array", 197263646Sbapt "data": true, 198263646Sbapt "valid": false 199263646Sbapt }, 200263646Sbapt { 201263646Sbapt "description": "null is not an array", 202263646Sbapt "data": null, 203263646Sbapt "valid": false 204263646Sbapt } 205263646Sbapt ] 206263646Sbapt }, 207263646Sbapt { 208263646Sbapt "description": "boolean type matches booleans", 209263646Sbapt "schema": {"type": "boolean"}, 210263646Sbapt "tests": [ 211263646Sbapt { 212263646Sbapt "description": "an integer is not a boolean", 213263646Sbapt "data": 1, 214263646Sbapt "valid": false 215263646Sbapt }, 216263646Sbapt { 217263646Sbapt "description": "a float is not a boolean", 218263646Sbapt "data": 1.1, 219263646Sbapt "valid": false 220263646Sbapt }, 221263646Sbapt { 222263646Sbapt "description": "a string is not a boolean", 223263646Sbapt "data": "foo", 224263646Sbapt "valid": false 225263646Sbapt }, 226263646Sbapt { 227263646Sbapt "description": "an object is not a boolean", 228263646Sbapt "data": {}, 229263646Sbapt "valid": false 230263646Sbapt }, 231263646Sbapt { 232263646Sbapt "description": "an array is not a boolean", 233263646Sbapt "data": [], 234263646Sbapt "valid": false 235263646Sbapt }, 236263646Sbapt { 237263646Sbapt "description": "a boolean is not a boolean", 238263646Sbapt "data": true, 239263646Sbapt "valid": true 240263646Sbapt }, 241263646Sbapt { 242263646Sbapt "description": "null is not a boolean", 243263646Sbapt "data": null, 244263646Sbapt "valid": false 245263646Sbapt } 246263646Sbapt ] 247263646Sbapt }, 248263646Sbapt { 249263646Sbapt "description": "null type matches only the null object", 250263646Sbapt "schema": {"type": "null"}, 251263646Sbapt "tests": [ 252263646Sbapt { 253263646Sbapt "description": "an integer is not null", 254263646Sbapt "data": 1, 255263646Sbapt "valid": false 256263646Sbapt }, 257263646Sbapt { 258263646Sbapt "description": "a float is not null", 259263646Sbapt "data": 1.1, 260263646Sbapt "valid": false 261263646Sbapt }, 262263646Sbapt { 263263646Sbapt "description": "a string is not null", 264263646Sbapt "data": "foo", 265263646Sbapt "valid": false 266263646Sbapt }, 267263646Sbapt { 268263646Sbapt "description": "an object is not null", 269263646Sbapt "data": {}, 270263646Sbapt "valid": false 271263646Sbapt }, 272263646Sbapt { 273263646Sbapt "description": "an array is not null", 274263646Sbapt "data": [], 275263646Sbapt "valid": false 276263646Sbapt }, 277263646Sbapt { 278263646Sbapt "description": "a boolean is not null", 279263646Sbapt "data": true, 280263646Sbapt "valid": false 281263646Sbapt }, 282263646Sbapt { 283263646Sbapt "description": "null is null", 284263646Sbapt "data": null, 285263646Sbapt "valid": true 286263646Sbapt } 287263646Sbapt ] 288263646Sbapt }, 289263646Sbapt { 290263646Sbapt "description": "multiple types can be specified in an array", 291263646Sbapt "schema": {"type": ["integer", "string"]}, 292263646Sbapt "tests": [ 293263646Sbapt { 294263646Sbapt "description": "an integer is valid", 295263646Sbapt "data": 1, 296263646Sbapt "valid": true 297263646Sbapt }, 298263646Sbapt { 299263646Sbapt "description": "a string is valid", 300263646Sbapt "data": "foo", 301263646Sbapt "valid": true 302263646Sbapt }, 303263646Sbapt { 304263646Sbapt "description": "a float is invalid", 305263646Sbapt "data": 1.1, 306263646Sbapt "valid": false 307263646Sbapt }, 308263646Sbapt { 309263646Sbapt "description": "an object is invalid", 310263646Sbapt "data": {}, 311263646Sbapt "valid": false 312263646Sbapt }, 313263646Sbapt { 314263646Sbapt "description": "an array is invalid", 315263646Sbapt "data": [], 316263646Sbapt "valid": false 317263646Sbapt }, 318263646Sbapt { 319263646Sbapt "description": "a boolean is invalid", 320263646Sbapt "data": true, 321263646Sbapt "valid": false 322263646Sbapt }, 323263646Sbapt { 324263646Sbapt "description": "null is invalid", 325263646Sbapt "data": null, 326263646Sbapt "valid": false 327263646Sbapt } 328263646Sbapt ] 329263646Sbapt } 330263646Sbapt] 331