...

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

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

     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 object is not a string",
   120                "data": {},
   121                "valid": false
   122            },
   123            {
   124                "description": "an array is not a string",
   125                "data": [],
   126                "valid": false
   127            },
   128            {
   129                "description": "a boolean is not a string",
   130                "data": true,
   131                "valid": false
   132            },
   133            {
   134                "description": "null is not a string",
   135                "data": null,
   136                "valid": false
   137            }
   138        ]
   139    },
   140    {
   141        "description": "object type matches objects",
   142        "schema": {"type": "object"},
   143        "tests": [
   144            {
   145                "description": "an integer is not an object",
   146                "data": 1,
   147                "valid": false
   148            },
   149            {
   150                "description": "a float is not an object",
   151                "data": 1.1,
   152                "valid": false
   153            },
   154            {
   155                "description": "a string is not an object",
   156                "data": "foo",
   157                "valid": false
   158            },
   159            {
   160                "description": "an object is an object",
   161                "data": {},
   162                "valid": true
   163            },
   164            {
   165                "description": "an array is not an object",
   166                "data": [],
   167                "valid": false
   168            },
   169            {
   170                "description": "a boolean is not an object",
   171                "data": true,
   172                "valid": false
   173            },
   174            {
   175                "description": "null is not an object",
   176                "data": null,
   177                "valid": false
   178            }
   179        ]
   180    },
   181    {
   182        "description": "array type matches arrays",
   183        "schema": {"type": "array"},
   184        "tests": [
   185            {
   186                "description": "an integer is not an array",
   187                "data": 1,
   188                "valid": false
   189            },
   190            {
   191                "description": "a float is not an array",
   192                "data": 1.1,
   193                "valid": false
   194            },
   195            {
   196                "description": "a string is not an array",
   197                "data": "foo",
   198                "valid": false
   199            },
   200            {
   201                "description": "an object is not an array",
   202                "data": {},
   203                "valid": false
   204            },
   205            {
   206                "description": "an array is an array",
   207                "data": [],
   208                "valid": true
   209            },
   210            {
   211                "description": "a boolean is not an array",
   212                "data": true,
   213                "valid": false
   214            },
   215            {
   216                "description": "null is not an array",
   217                "data": null,
   218                "valid": false
   219            }
   220        ]
   221    },
   222    {
   223        "description": "boolean type matches booleans",
   224        "schema": {"type": "boolean"},
   225        "tests": [
   226            {
   227                "description": "an integer is not a boolean",
   228                "data": 1,
   229                "valid": false
   230            },
   231            {
   232                "description": "a float is not a boolean",
   233                "data": 1.1,
   234                "valid": false
   235            },
   236            {
   237                "description": "a string is not a boolean",
   238                "data": "foo",
   239                "valid": false
   240            },
   241            {
   242                "description": "an object is not a boolean",
   243                "data": {},
   244                "valid": false
   245            },
   246            {
   247                "description": "an array is not a boolean",
   248                "data": [],
   249                "valid": false
   250            },
   251            {
   252                "description": "a boolean is a boolean",
   253                "data": true,
   254                "valid": true
   255            },
   256            {
   257                "description": "null is not a boolean",
   258                "data": null,
   259                "valid": false
   260            }
   261        ]
   262    },
   263    {
   264        "description": "null type matches only the null object",
   265        "schema": {"type": "null"},
   266        "tests": [
   267            {
   268                "description": "an integer is not null",
   269                "data": 1,
   270                "valid": false
   271            },
   272            {
   273                "description": "a float is not null",
   274                "data": 1.1,
   275                "valid": false
   276            },
   277            {
   278                "description": "a string is not null",
   279                "data": "foo",
   280                "valid": false
   281            },
   282            {
   283                "description": "an object is not null",
   284                "data": {},
   285                "valid": false
   286            },
   287            {
   288                "description": "an array is not null",
   289                "data": [],
   290                "valid": false
   291            },
   292            {
   293                "description": "a boolean is not null",
   294                "data": true,
   295                "valid": false
   296            },
   297            {
   298                "description": "null is null",
   299                "data": null,
   300                "valid": true
   301            }
   302        ]
   303    },
   304    {
   305        "description": "any type matches any type",
   306        "schema": {"type": "any"},
   307        "tests": [
   308            {
   309                "description": "any type includes integers",
   310                "data": 1,
   311                "valid": true
   312            },
   313            {
   314                "description": "any type includes float",
   315                "data": 1.1,
   316                "valid": true
   317            },
   318            {
   319                "description": "any type includes string",
   320                "data": "foo",
   321                "valid": true
   322            },
   323            {
   324                "description": "any type includes object",
   325                "data": {},
   326                "valid": true
   327            },
   328            {
   329                "description": "any type includes array",
   330                "data": [],
   331                "valid": true
   332            },
   333            {
   334                "description": "any type includes boolean",
   335                "data": true,
   336                "valid": true
   337            },
   338            {
   339                "description": "any type includes null",
   340                "data": null,
   341                "valid": true
   342            }
   343        ]
   344    },
   345    {
   346        "description": "multiple types can be specified in an array",
   347        "schema": {"type": ["integer", "string"]},
   348        "tests": [
   349            {
   350                "description": "an integer is valid",
   351                "data": 1,
   352                "valid": true
   353            },
   354            {
   355                "description": "a string is valid",
   356                "data": "foo",
   357                "valid": true
   358            },
   359            {
   360                "description": "a float is invalid",
   361                "data": 1.1,
   362                "valid": false
   363            },
   364            {
   365                "description": "an object is invalid",
   366                "data": {},
   367                "valid": false
   368            },
   369            {
   370                "description": "an array is invalid",
   371                "data": [],
   372                "valid": false
   373            },
   374            {
   375                "description": "a boolean is invalid",
   376                "data": true,
   377                "valid": false
   378            },
   379            {
   380                "description": "null is invalid",
   381                "data": null,
   382                "valid": false
   383            }
   384        ]
   385    },
   386    {
   387        "description": "types can include schemas",
   388        "schema": {
   389            "type": [
   390                "array",
   391                {"type": "object"}
   392            ]
   393        },
   394        "tests": [
   395            {
   396                "description": "an integer is invalid",
   397                "data": 1,
   398                "valid": false
   399            },
   400            {
   401                "description": "a string is invalid",
   402                "data": "foo",
   403                "valid": false
   404            },
   405            {
   406                "description": "a float is invalid",
   407                "data": 1.1,
   408                "valid": false
   409            },
   410            {
   411                "description": "an object is valid",
   412                "data": {},
   413                "valid": true
   414            },
   415            {
   416                "description": "an array is valid",
   417                "data": [],
   418                "valid": true
   419            },
   420            {
   421                "description": "a boolean is invalid",
   422                "data": true,
   423                "valid": false
   424            },
   425            {
   426                "description": "null is invalid",
   427                "data": null,
   428                "valid": false
   429            }
   430        ]
   431    },
   432    {
   433        "description": 
   434            "when types includes a schema it should fully validate the schema",
   435        "schema": {
   436            "type": [
   437                "integer",
   438                {
   439                    "properties": {
   440                        "foo": {"type": "null"}
   441                    }
   442                }
   443            ]
   444        },
   445        "tests": [
   446            {
   447                "description": "an integer is valid",
   448                "data": 1,
   449                "valid": true
   450            },
   451            {
   452                "description": "an object is valid only if it is fully valid",
   453                "data": {"foo": null},
   454                "valid": true
   455            },
   456            {
   457                "description": "an object is invalid otherwise",
   458                "data": {"foo": "bar"},
   459                "valid": false
   460            }
   461        ]
   462    },
   463    {
   464        "description": "types from separate schemas are merged",
   465        "schema": {
   466            "type": [
   467                {"type": ["string"]},
   468                {"type": ["array", "null"]}
   469            ]
   470        },
   471        "tests": [
   472            {
   473                "description": "an integer is invalid",
   474                "data": 1,
   475                "valid": false
   476            },
   477            {
   478                "description": "a string is valid",
   479                "data": "foo",
   480                "valid": true
   481            },
   482            {
   483                "description": "an array is valid",
   484                "data": [1, 2, 3],
   485                "valid": true
   486            }
   487        ]
   488    }
   489]

View as plain text