...

Text file src/github.com/qri-io/jsonschema/testdata/draft6/optional/format.json

Documentation: github.com/qri-io/jsonschema/testdata/draft6/optional

     1[
     2    {
     3        "description": "validation of date-time strings",
     4        "schema": {"format": "date-time"},
     5        "tests": [
     6            {
     7                "description": "a valid date-time string",
     8                "data": "1963-06-19T08:30:06.283185Z",
     9                "valid": true
    10            },
    11            {
    12                "description": "a valid date-time string without second fraction",
    13                "data": "1963-06-19T08:30:06Z",
    14                "valid": true
    15            },
    16            {
    17                "description": "a valid date-time string with plus offset",
    18                "data": "1937-01-01T12:00:27.87+00:20",
    19                "valid": true
    20            },
    21            {
    22                "description": "a valid date-time string with minus offset",
    23                "data": "1990-12-31T15:59:50.123-08:00",
    24                "valid": true
    25            },
    26            {
    27                "description": "a invalid day in date-time string",
    28                "data": "1990-02-31T15:59:60.123-08:00",
    29                "valid": false
    30            },
    31            {
    32                "description": "an invalid offset in date-time string",
    33                "data": "1990-12-31T15:59:60-24:00",
    34                "valid": false
    35            },
    36            {
    37                "description": "an invalid closing Z after time-zone offset",
    38                "data": "1963-06-19T08:30:06.28123+01:00Z",
    39                "valid": false
    40            },            
    41            {
    42                "description": "an invalid date-time string",
    43                "data": "06/19/1963 08:30:06 PST",
    44                "valid": false
    45            },
    46            {
    47                "description": "case-insensitive T and Z",
    48                "data": "1963-06-19t08:30:06.283185z",
    49                "valid": true
    50            },
    51            {
    52                "description": "only RFC3339 not all of ISO 8601 are valid",
    53                "data": "2013-350T01:01:01",
    54                "valid": false
    55            }
    56        ]
    57    },
    58    {
    59        "description": "validation of URIs",
    60        "schema": {"format": "uri"},
    61        "tests": [
    62            {
    63                "description": "a valid URL with anchor tag",
    64                "data": "http://foo.bar/?baz=qux#quux",
    65                "valid": true
    66            },
    67            {
    68                "description": "a valid URL with anchor tag and parantheses",
    69                "data": "http://foo.com/blah_(wikipedia)_blah#cite-1",
    70                "valid": true
    71            },
    72            {
    73                "description": "a valid URL with URL-encoded stuff",
    74                "data": "http://foo.bar/?q=Test%20URL-encoded%20stuff",
    75                "valid": true
    76            },
    77            {
    78                "description": "a valid puny-coded URL ",
    79                "data": "http://xn--nw2a.xn--j6w193g/",
    80                "valid": true
    81            },
    82            {
    83                "description": "a valid URL with many special characters",
    84                "data": "http://-.~_!$&'()*+,;=:%40:80%2f::::::@example.com",
    85                "valid": true
    86            },
    87            {
    88                "description": "a valid URL based on IPv4",
    89                "data": "http://223.255.255.254",
    90                "valid": true
    91            },
    92            {
    93                "description": "a valid URL with ftp scheme",
    94                "data": "ftp://ftp.is.co.za/rfc/rfc1808.txt",
    95                "valid": true
    96            },
    97            {
    98                "description": "a valid URL for a simple text file",
    99                "data": "http://www.ietf.org/rfc/rfc2396.txt",
   100                "valid": true
   101            },
   102            {
   103                "description": "a valid URL ",
   104                "data": "ldap://[2001:db8::7]/c=GB?objectClass?one",
   105                "valid": true
   106            },
   107            {
   108                "description": "a valid mailto URI",
   109                "data": "mailto:John.Doe@example.com",
   110                "valid": true
   111            },
   112            {
   113                "description": "a valid newsgroup URI",
   114                "data": "news:comp.infosystems.www.servers.unix",
   115                "valid": true
   116            },
   117            {
   118                "description": "a valid tel URI",
   119                "data": "tel:+1-816-555-1212",
   120                "valid": true
   121            },
   122            {
   123                "description": "a valid URN",
   124                "data": "urn:oasis:names:specification:docbook:dtd:xml:4.1.2",
   125                "valid": true
   126            },
   127            {
   128                "description": "an invalid protocol-relative URI Reference",
   129                "data": "//foo.bar/?baz=qux#quux",
   130                "valid": false
   131            },
   132            {
   133                "description": "an invalid relative URI Reference",
   134                "data": "/abc",
   135                "valid": false
   136            },
   137            {
   138                "description": "an invalid URI",
   139                "data": "\\\\WINDOWS\\fileshare",
   140                "valid": false
   141            },
   142            {
   143                "description": "an invalid URI though valid URI reference",
   144                "data": "abc",
   145                "valid": false
   146            },
   147            {
   148                "description": "an invalid URI with spaces",
   149                "data": "http:// shouldfail.com",
   150                "valid": false
   151            },
   152            {
   153                "description": "an invalid URI with spaces and missing scheme",
   154                "data": ":// should fail",
   155                "valid": false
   156            }
   157        ]
   158    },
   159    {
   160        "description": "validation of URI References",
   161        "schema": {"format": "uri-reference"},
   162        "tests": [
   163            {
   164                "description": "a valid URI",
   165                "data": "http://foo.bar/?baz=qux#quux",
   166                "valid": true
   167            },
   168            {
   169                "description": "a valid protocol-relative URI Reference",
   170                "data": "//foo.bar/?baz=qux#quux",
   171                "valid": true
   172            },
   173            {
   174                "description": "a valid relative URI Reference",
   175                "data": "/abc",
   176                "valid": true
   177            },
   178            {
   179                "description": "an invalid URI Reference",
   180                "data": "\\\\WINDOWS\\fileshare",
   181                "valid": false
   182            },
   183            {
   184                "description": "a valid URI Reference",
   185                "data": "abc",
   186                "valid": true
   187            },
   188            {
   189                "description": "a valid URI fragment",
   190                "data": "#fragment",
   191                "valid": true
   192            },
   193            {
   194                "description": "an invalid URI fragment",
   195                "data": "#frag\\ment",
   196                "valid": false
   197            }
   198        ]
   199    },
   200    {
   201        "description": "format: uri-template",
   202        "schema": {"format": "uri-template"},
   203        "tests": [
   204            {
   205                "description": "a valid uri-template",
   206                "data": "http://example.com/dictionary/{term:1}/{term}",
   207                "valid": true
   208            },
   209            {
   210                "description": "an invalid uri-template",
   211                "data": "http://example.com/dictionary/{term:1}/{term",
   212                "valid": false
   213            },
   214            {
   215                "description": "a valid uri-template without variables",
   216                "data": "http://example.com/dictionary",
   217                "valid": true
   218            },
   219            {
   220                "description": "a valid relative uri-template",
   221                "data": "dictionary/{term:1}/{term}",
   222                "valid": true
   223            }
   224        ]
   225    },
   226    {
   227        "description": "validation of e-mail addresses",
   228        "schema": {"format": "email"},
   229        "tests": [
   230            {
   231                "description": "a valid e-mail address",
   232                "data": "joe.bloggs@example.com",
   233                "valid": true
   234            },
   235            {
   236                "description": "an invalid e-mail address",
   237                "data": "2962",
   238                "valid": false
   239            }
   240        ]
   241    },
   242    {
   243        "description": "validation of IP addresses",
   244        "schema": {"format": "ipv4"},
   245        "tests": [
   246            {
   247                "description": "a valid IP address",
   248                "data": "192.168.0.1",
   249                "valid": true
   250            },
   251            {
   252                "description": "an IP address with too many components",
   253                "data": "127.0.0.0.1",
   254                "valid": false
   255            },
   256            {
   257                "description": "an IP address with out-of-range values",
   258                "data": "256.256.256.256",
   259                "valid": false
   260            },
   261            {
   262                "description": "an IP address without 4 components",
   263                "data": "127.0",
   264                "valid": false
   265            },
   266            {
   267                "description": "an IP address as an integer",
   268                "data": "0x7f000001",
   269                "valid": false
   270            }
   271        ]
   272    },
   273    {
   274        "description": "validation of IPv6 addresses",
   275        "schema": {"format": "ipv6"},
   276        "tests": [
   277            {
   278                "description": "a valid IPv6 address",
   279                "data": "::1",
   280                "valid": true
   281            },
   282            {
   283                "description": "an IPv6 address with out-of-range values",
   284                "data": "12345::",
   285                "valid": false
   286            },
   287            {
   288                "description": "an IPv6 address with too many components",
   289                "data": "1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1",
   290                "valid": false
   291            },
   292            {
   293                "description": "an IPv6 address containing illegal characters",
   294                "data": "::laptop",
   295                "valid": false
   296            }
   297        ]
   298    },
   299    {
   300        "description": "validation of host names",
   301        "schema": {"format": "hostname"},
   302        "tests": [
   303            {
   304                "description": "a valid host name",
   305                "data": "www.example.com",
   306                "valid": true
   307            },
   308            {
   309                "description": "a host name starting with an illegal character",
   310                "data": "-a-host-name-that-starts-with--",
   311                "valid": false
   312            },
   313            {
   314                "description": "a host name containing illegal characters",
   315                "data": "not_a_valid_host_name",
   316                "valid": false
   317            },
   318            {
   319                "description": "a host name with a component too long",
   320                "data": "a-vvvvvvvvvvvvvvvveeeeeeeeeeeeeeeerrrrrrrrrrrrrrrryyyyyyyyyyyyyyyy-long-host-name-component",
   321                "valid": false
   322            }
   323        ]
   324    },
   325    {
   326        "description": "validation of JSON-pointers (JSON String Representation)",
   327        "schema": {"format": "json-pointer"},
   328        "tests": [
   329            {
   330                "description": "a valid JSON-pointer",
   331                "data": "/foo/bar~0/baz~1/%a",
   332                "valid": true
   333            },
   334            {
   335                "description": "not a valid JSON-pointer (~ not escaped)",
   336                "data": "/foo/bar~",
   337                "valid": false
   338            },
   339            {
   340                "description": "valid JSON-pointer with empty segment",
   341                "data": "/foo//bar",
   342                "valid": true
   343            },
   344            {
   345                "description": "valid JSON-pointer with the last empty segment",
   346                "data": "/foo/bar/",
   347                "valid": true
   348            },
   349            {
   350                "description": "valid JSON-pointer as stated in RFC 6901 #1",
   351                "data": "",
   352                "valid": true
   353            },
   354            {
   355                "description": "valid JSON-pointer as stated in RFC 6901 #2",
   356                "data": "/foo",
   357                "valid": true
   358            },
   359            {
   360                "description": "valid JSON-pointer as stated in RFC 6901 #3",
   361                "data": "/foo/0",
   362                "valid": true
   363            },
   364            {
   365                "description": "valid JSON-pointer as stated in RFC 6901 #4",
   366                "data": "/",
   367                "valid": true
   368            },
   369            {
   370                "description": "valid JSON-pointer as stated in RFC 6901 #5",
   371                "data": "/a~1b",
   372                "valid": true
   373            },
   374            {
   375                "description": "valid JSON-pointer as stated in RFC 6901 #6",
   376                "data": "/c%d",
   377                "valid": true
   378            },
   379            {
   380                "description": "valid JSON-pointer as stated in RFC 6901 #7",
   381                "data": "/e^f",
   382                "valid": true
   383            },
   384            {
   385                "description": "valid JSON-pointer as stated in RFC 6901 #8",
   386                "data": "/g|h",
   387                "valid": true
   388            },
   389            {
   390                "description": "valid JSON-pointer as stated in RFC 6901 #9",
   391                "data": "/i\\j",
   392                "valid": true
   393            },
   394            {
   395                "description": "valid JSON-pointer as stated in RFC 6901 #10",
   396                "data": "/k\"l",
   397                "valid": true
   398            },
   399            {
   400                "description": "valid JSON-pointer as stated in RFC 6901 #11",
   401                "data": "/ ",
   402                "valid": true
   403            },
   404            {
   405                "description": "valid JSON-pointer as stated in RFC 6901 #12",
   406                "data": "/m~0n",
   407                "valid": true
   408            },
   409            {
   410                "description": "valid JSON-pointer used adding to the last array position",
   411                "data": "/foo/-",
   412                "valid": true
   413            },
   414            {
   415                "description": "valid JSON-pointer (- used as object member name)",
   416                "data": "/foo/-/bar",
   417                "valid": true
   418            },
   419            {
   420                "description": "valid JSON-pointer (multiple escaped characters)",
   421                "data": "/~1~0~0~1~1",
   422                "valid": true
   423            },
   424            {
   425                "description": "valid JSON-pointer (escaped with fraction part) #1",
   426                "data": "/~1.1",
   427                "valid": true
   428            },
   429            {
   430                "description": "valid JSON-pointer (escaped with fraction part) #2",
   431                "data": "/~0.1",
   432                "valid": true
   433            },
   434            {
   435                "description": "not a valid JSON-pointer (URI Fragment Identifier) #1",
   436                "data": "#",
   437                "valid": false
   438            },
   439            {
   440                "description": "not a valid JSON-pointer (URI Fragment Identifier) #2",
   441                "data": "#/",
   442                "valid": false
   443            },
   444            {
   445                "description": "not a valid JSON-pointer (URI Fragment Identifier) #3",
   446                "data": "#a",
   447                "valid": false
   448            },
   449            {
   450                "description": "not a valid JSON-pointer (some escaped, but not all) #1",
   451                "data": "/~0~",
   452                "valid": false
   453            },
   454            {
   455                "description": "not a valid JSON-pointer (some escaped, but not all) #2",
   456                "data": "/~0/~",
   457                "valid": false
   458            },
   459            {
   460                "description": "not a valid JSON-pointer (wrong escape character) #1",
   461                "data": "/~2",
   462                "valid": false
   463            },
   464            {
   465                "description": "not a valid JSON-pointer (wrong escape character) #2",
   466                "data": "/~-1",
   467                "valid": false
   468            },
   469            {
   470                "description": "not a valid JSON-pointer (multiple characters not escaped)",
   471                "data": "/~~",
   472                "valid": false
   473            },
   474            {
   475                "description": "not a valid JSON-pointer (isn't empty nor starts with /) #1",
   476                "data": "a",
   477                "valid": false
   478            },
   479            {
   480                "description": "not a valid JSON-pointer (isn't empty nor starts with /) #2",
   481                "data": "0",
   482                "valid": false
   483            },
   484            {
   485                "description": "not a valid JSON-pointer (isn't empty nor starts with /) #3",
   486                "data": "a/a",
   487                "valid": false
   488            }
   489        ]
   490    }
   491]

View as plain text