...

Text file src/github.com/qri-io/jsonschema/testdata/draft4/type.json

Documentation: github.com/qri-io/jsonschema/testdata/draft4

     1[
     2    {
     3        "description": "integer type matches integers",
     4        "schema": {"type": "integer"},
     5        "tests": [
     6            {
     7                "description": "an integer is an integer",
     8                "data": 1,
     9                "valid": true
    10            },
    11            {
    12                "description": "a float is not an integer",
    13                "data": 1.1,
    14                "valid": false
    15            },
    16            {
    17                "description": "a string is not an integer",
    18                "data": "foo",
    19                "valid": false
    20            },
    21            {
    22                "description": "a string is still not an integer, even if it looks like one",
    23                "data": "1",
    24                "valid": false
    25            },
    26            {
    27                "description": "an object is not an integer",
    28                "data": {},
    29                "valid": false
    30            },
    31            {
    32                "description": "an array is not an integer",
    33                "data": [],
    34                "valid": false
    35            },
    36            {
    37                "description": "a boolean is not an integer",
    38                "data": true,
    39                "valid": false
    40            },
    41            {
    42                "description": "null is not an integer",
    43                "data": null,
    44                "valid": false
    45            }
    46        ]
    47    },
    48    {
    49        "description": "number type matches numbers",
    50        "schema": {"type": "number"},
    51        "tests": [
    52            {
    53                "description": "an integer is a number",
    54                "data": 1,
    55                "valid": true
    56            },
    57            {
    58                "description": "a float is a number",
    59                "data": 1.1,
    60                "valid": true
    61            },
    62            {
    63                "description": "a string is not a number",
    64                "data": "foo",
    65                "valid": false
    66            },
    67            {
    68                "description": "a string is still not a number, even if it looks like one",
    69                "data": "1",
    70                "valid": false
    71            },
    72            {
    73                "description": "an object is not a number",
    74                "data": {},
    75                "valid": false
    76            },
    77            {
    78                "description": "an array is not a number",
    79                "data": [],
    80                "valid": false
    81            },
    82            {
    83                "description": "a boolean is not a number",
    84                "data": true,
    85                "valid": false
    86            },
    87            {
    88                "description": "null is not a number",
    89                "data": null,
    90                "valid": false
    91            }
    92        ]
    93    },
    94    {
    95        "description": "string type matches strings",
    96        "schema": {"type": "string"},
    97        "tests": [
    98            {
    99                "description": "1 is not a string",
   100                "data": 1,
   101                "valid": false
   102            },
   103            {
   104                "description": "a float is not a string",
   105                "data": 1.1,
   106                "valid": false
   107            },
   108            {
   109                "description": "a string is a string",
   110                "data": "foo",
   111                "valid": true
   112            },
   113            {
   114                "description": "a string is still a string, even if it looks like a number",
   115                "data": "1",
   116                "valid": true
   117            },
   118            {
   119                "description": "an empty string is still a string",
   120                "data": "",
   121                "valid": true
   122            },
   123            {
   124                "description": "an object is not a string",
   125                "data": {},
   126                "valid": false
   127            },
   128            {
   129                "description": "an array is not a string",
   130                "data": [],
   131                "valid": false
   132            },
   133            {
   134                "description": "a boolean is not a string",
   135                "data": true,
   136                "valid": false
   137            },
   138            {
   139                "description": "null is not a string",
   140                "data": null,
   141                "valid": false
   142            }
   143        ]
   144    },
   145    {
   146        "description": "object type matches objects",
   147        "schema": {"type": "object"},
   148        "tests": [
   149            {
   150                "description": "an integer is not an object",
   151                "data": 1,
   152                "valid": false
   153            },
   154            {
   155                "description": "a float is not an object",
   156                "data": 1.1,
   157                "valid": false
   158            },
   159            {
   160                "description": "a string is not an object",
   161                "data": "foo",
   162                "valid": false
   163            },
   164            {
   165                "description": "an object is an object",
   166                "data": {},
   167                "valid": true
   168            },
   169            {
   170                "description": "an array is not an object",
   171                "data": [],
   172                "valid": false
   173            },
   174            {
   175                "description": "a boolean is not an object",
   176                "data": true,
   177                "valid": false
   178            },
   179            {
   180                "description": "null is not an object",
   181                "data": null,
   182                "valid": false
   183            }
   184        ]
   185    },
   186    {
   187        "description": "array type matches arrays",
   188        "schema": {"type": "array"},
   189        "tests": [
   190            {
   191                "description": "an integer is not an array",
   192                "data": 1,
   193                "valid": false
   194            },
   195            {
   196                "description": "a float is not an array",
   197                "data": 1.1,
   198                "valid": false
   199            },
   200            {
   201                "description": "a string is not an array",
   202                "data": "foo",
   203                "valid": false
   204            },
   205            {
   206                "description": "an object is not an array",
   207                "data": {},
   208                "valid": false
   209            },
   210            {
   211                "description": "an array is an array",
   212                "data": [],
   213                "valid": true
   214            },
   215            {
   216                "description": "a boolean is not an array",
   217                "data": true,
   218                "valid": false
   219            },
   220            {
   221                "description": "null is not an array",
   222                "data": null,
   223                "valid": false
   224            }
   225        ]
   226    },
   227    {
   228        "description": "boolean type matches booleans",
   229        "schema": {"type": "boolean"},
   230        "tests": [
   231            {
   232                "description": "an integer is not a boolean",
   233                "data": 1,
   234                "valid": false
   235            },
   236            {
   237                "description": "zero is not a boolean",
   238                "data": 0,
   239                "valid": false
   240            },
   241            {
   242                "description": "a float is not a boolean",
   243                "data": 1.1,
   244                "valid": false
   245            },
   246            {
   247                "description": "a string is not a boolean",
   248                "data": "foo",
   249                "valid": false
   250            },
   251            {
   252                "description": "an empty string is not a boolean",
   253                "data": "",
   254                "valid": false
   255            },
   256            {
   257                "description": "an object is not a boolean",
   258                "data": {},
   259                "valid": false
   260            },
   261            {
   262                "description": "an array is not a boolean",
   263                "data": [],
   264                "valid": false
   265            },
   266            {
   267                "description": "true is a boolean",
   268                "data": true,
   269                "valid": true
   270            },
   271            {
   272                "description": "false is a boolean",
   273                "data": false,
   274                "valid": true
   275            },
   276            {
   277                "description": "null is not a boolean",
   278                "data": null,
   279                "valid": false
   280            }
   281        ]
   282    },
   283    {
   284        "description": "null type matches only the null object",
   285        "schema": {"type": "null"},
   286        "tests": [
   287            {
   288                "description": "an integer is not null",
   289                "data": 1,
   290                "valid": false
   291            },
   292            {
   293                "description": "a float is not null",
   294                "data": 1.1,
   295                "valid": false
   296            },
   297            {
   298                "description": "zero is not null",
   299                "data": 0,
   300                "valid": false
   301            },
   302            {
   303                "description": "a string is not null",
   304                "data": "foo",
   305                "valid": false
   306            },
   307            {
   308                "description": "an empty string is not null",
   309                "data": "",
   310                "valid": false
   311            },
   312            {
   313                "description": "an object is not null",
   314                "data": {},
   315                "valid": false
   316            },
   317            {
   318                "description": "an array is not null",
   319                "data": [],
   320                "valid": false
   321            },
   322            {
   323                "description": "true is not null",
   324                "data": true,
   325                "valid": false
   326            },
   327            {
   328                "description": "false is not null",
   329                "data": false,
   330                "valid": false
   331            },
   332            {
   333                "description": "null is null",
   334                "data": null,
   335                "valid": true
   336            }
   337        ]
   338    },
   339    {
   340        "description": "multiple types can be specified in an array",
   341        "schema": {"type": ["integer", "string"]},
   342        "tests": [
   343            {
   344                "description": "an integer is valid",
   345                "data": 1,
   346                "valid": true
   347            },
   348            {
   349                "description": "a string is valid",
   350                "data": "foo",
   351                "valid": true
   352            },
   353            {
   354                "description": "a float is invalid",
   355                "data": 1.1,
   356                "valid": false
   357            },
   358            {
   359                "description": "an object is invalid",
   360                "data": {},
   361                "valid": false
   362            },
   363            {
   364                "description": "an array is invalid",
   365                "data": [],
   366                "valid": false
   367            },
   368            {
   369                "description": "a boolean is invalid",
   370                "data": true,
   371                "valid": false
   372            },
   373            {
   374                "description": "null is invalid",
   375                "data": null,
   376                "valid": false
   377            }
   378        ]
   379    },
   380    {
   381        "description": "type as array with one item",
   382        "schema": {
   383            "type": ["string"]
   384        },
   385        "tests": [
   386            {
   387                "description": "string is valid",
   388                "data": "foo",
   389                "valid": true
   390            },
   391            {
   392                "description": "number is invalid",
   393                "data": 123,
   394                "valid": false
   395            }
   396        ]
   397    },
   398    {
   399        "description": "type: array or object",
   400        "schema": {
   401            "type": ["array", "object"]
   402        },
   403        "tests": [
   404            {
   405                "description": "array is valid",
   406                "data": [1,2,3],
   407                "valid": true
   408            },
   409            {
   410                "description": "object is valid",
   411                "data": {"foo": 123},
   412                "valid": true
   413            },
   414            {
   415                "description": "number is invalid",
   416                "data": 123,
   417                "valid": false
   418            },
   419            {
   420                "description": "string is invalid",
   421                "data": "foo",
   422                "valid": false
   423            },
   424            {
   425                "description": "null is invalid",
   426                "data": null,
   427                "valid": false
   428            }
   429        ]
   430    },
   431    {
   432        "description": "type: array, object or null",
   433        "schema": {
   434            "type": ["array", "object", "null"]
   435        },
   436        "tests": [
   437            {
   438                "description": "array is valid",
   439                "data": [1,2,3],
   440                "valid": true
   441            },
   442            {
   443                "description": "object is valid",
   444                "data": {"foo": 123},
   445                "valid": true
   446            },
   447            {
   448                "description": "null is valid",
   449                "data": null,
   450                "valid": true
   451            },
   452            {
   453                "description": "number is invalid",
   454                "data": 123,
   455                "valid": false
   456            },
   457            {
   458                "description": "string is invalid",
   459                "data": "foo",
   460                "valid": false
   461            }
   462        ]
   463    }
   464]

View as plain text