cuelang.org/go@v0.13.0/encoding/jsonschema/testdata/external/tests/draft4/optional/format/ipv6.json (about)

     1  [
     2  	{
     3  		"description": "validation of IPv6 addresses",
     4  		"schema": {
     5  			"format": "ipv6"
     6  		},
     7  		"tests": [
     8  			{
     9  				"description": "all string formats ignore integers",
    10  				"data": 12,
    11  				"valid": true
    12  			},
    13  			{
    14  				"description": "all string formats ignore floats",
    15  				"data": 13.7,
    16  				"valid": true
    17  			},
    18  			{
    19  				"description": "all string formats ignore objects",
    20  				"data": {},
    21  				"valid": true
    22  			},
    23  			{
    24  				"description": "all string formats ignore arrays",
    25  				"data": [],
    26  				"valid": true
    27  			},
    28  			{
    29  				"description": "all string formats ignore booleans",
    30  				"data": false,
    31  				"valid": true
    32  			},
    33  			{
    34  				"description": "all string formats ignore nulls",
    35  				"data": null,
    36  				"valid": true
    37  			},
    38  			{
    39  				"description": "a valid IPv6 address",
    40  				"data": "::1",
    41  				"valid": true
    42  			},
    43  			{
    44  				"description": "an IPv6 address with out-of-range values",
    45  				"data": "12345::",
    46  				"valid": false,
    47  				"skip": {
    48  					"v2": "unexpected success",
    49  					"v3": "unexpected success"
    50  				}
    51  			},
    52  			{
    53  				"description": "trailing 4 hex symbols is valid",
    54  				"data": "::abef",
    55  				"valid": true
    56  			},
    57  			{
    58  				"description": "trailing 5 hex symbols is invalid",
    59  				"data": "::abcef",
    60  				"valid": false,
    61  				"skip": {
    62  					"v2": "unexpected success",
    63  					"v3": "unexpected success"
    64  				}
    65  			},
    66  			{
    67  				"description": "an IPv6 address with too many components",
    68  				"data": "1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1",
    69  				"valid": false,
    70  				"skip": {
    71  					"v2": "unexpected success",
    72  					"v3": "unexpected success"
    73  				}
    74  			},
    75  			{
    76  				"description": "an IPv6 address containing illegal characters",
    77  				"data": "::laptop",
    78  				"valid": false,
    79  				"skip": {
    80  					"v2": "unexpected success",
    81  					"v3": "unexpected success"
    82  				}
    83  			},
    84  			{
    85  				"description": "no digits is valid",
    86  				"data": "::",
    87  				"valid": true
    88  			},
    89  			{
    90  				"description": "leading colons is valid",
    91  				"data": "::42:ff:1",
    92  				"valid": true
    93  			},
    94  			{
    95  				"description": "trailing colons is valid",
    96  				"data": "d6::",
    97  				"valid": true
    98  			},
    99  			{
   100  				"description": "missing leading octet is invalid",
   101  				"data": ":2:3:4:5:6:7:8",
   102  				"valid": false,
   103  				"skip": {
   104  					"v2": "unexpected success",
   105  					"v3": "unexpected success"
   106  				}
   107  			},
   108  			{
   109  				"description": "missing trailing octet is invalid",
   110  				"data": "1:2:3:4:5:6:7:",
   111  				"valid": false,
   112  				"skip": {
   113  					"v2": "unexpected success",
   114  					"v3": "unexpected success"
   115  				}
   116  			},
   117  			{
   118  				"description": "missing leading octet with omitted octets later",
   119  				"data": ":2:3:4::8",
   120  				"valid": false,
   121  				"skip": {
   122  					"v2": "unexpected success",
   123  					"v3": "unexpected success"
   124  				}
   125  			},
   126  			{
   127  				"description": "single set of double colons in the middle is valid",
   128  				"data": "1:d6::42",
   129  				"valid": true
   130  			},
   131  			{
   132  				"description": "two sets of double colons is invalid",
   133  				"data": "1::d6::42",
   134  				"valid": false,
   135  				"skip": {
   136  					"v2": "unexpected success",
   137  					"v3": "unexpected success"
   138  				}
   139  			},
   140  			{
   141  				"description": "mixed format with the ipv4 section as decimal octets",
   142  				"data": "1::d6:192.168.0.1",
   143  				"valid": true
   144  			},
   145  			{
   146  				"description": "mixed format with double colons between the sections",
   147  				"data": "1:2::192.168.0.1",
   148  				"valid": true
   149  			},
   150  			{
   151  				"description": "mixed format with ipv4 section with octet out of range",
   152  				"data": "1::2:192.168.256.1",
   153  				"valid": false,
   154  				"skip": {
   155  					"v2": "unexpected success",
   156  					"v3": "unexpected success"
   157  				}
   158  			},
   159  			{
   160  				"description": "mixed format with ipv4 section with a hex octet",
   161  				"data": "1::2:192.168.ff.1",
   162  				"valid": false,
   163  				"skip": {
   164  					"v2": "unexpected success",
   165  					"v3": "unexpected success"
   166  				}
   167  			},
   168  			{
   169  				"description": "mixed format with leading double colons (ipv4-mapped ipv6 address)",
   170  				"data": "::ffff:192.168.0.1",
   171  				"valid": true
   172  			},
   173  			{
   174  				"description": "triple colons is invalid",
   175  				"data": "1:2:3:4:5:::8",
   176  				"valid": false,
   177  				"skip": {
   178  					"v2": "unexpected success",
   179  					"v3": "unexpected success"
   180  				}
   181  			},
   182  			{
   183  				"description": "8 octets",
   184  				"data": "1:2:3:4:5:6:7:8",
   185  				"valid": true
   186  			},
   187  			{
   188  				"description": "insufficient octets without double colons",
   189  				"data": "1:2:3:4:5:6:7",
   190  				"valid": false,
   191  				"skip": {
   192  					"v2": "unexpected success",
   193  					"v3": "unexpected success"
   194  				}
   195  			},
   196  			{
   197  				"description": "no colons is invalid",
   198  				"data": "1",
   199  				"valid": false,
   200  				"skip": {
   201  					"v2": "unexpected success",
   202  					"v3": "unexpected success"
   203  				}
   204  			},
   205  			{
   206  				"description": "ipv4 is not ipv6",
   207  				"data": "127.0.0.1",
   208  				"valid": false,
   209  				"skip": {
   210  					"v2": "unexpected success",
   211  					"v3": "unexpected success"
   212  				}
   213  			},
   214  			{
   215  				"description": "ipv4 segment must have 4 octets",
   216  				"data": "1:2:3:4:1.2.3",
   217  				"valid": false,
   218  				"skip": {
   219  					"v2": "unexpected success",
   220  					"v3": "unexpected success"
   221  				}
   222  			},
   223  			{
   224  				"description": "leading whitespace is invalid",
   225  				"data": "  ::1",
   226  				"valid": false,
   227  				"skip": {
   228  					"v2": "unexpected success",
   229  					"v3": "unexpected success"
   230  				}
   231  			},
   232  			{
   233  				"description": "trailing whitespace is invalid",
   234  				"data": "::1  ",
   235  				"valid": false,
   236  				"skip": {
   237  					"v2": "unexpected success",
   238  					"v3": "unexpected success"
   239  				}
   240  			},
   241  			{
   242  				"description": "netmask is not a part of ipv6 address",
   243  				"data": "fe80::/64",
   244  				"valid": false,
   245  				"skip": {
   246  					"v2": "unexpected success",
   247  					"v3": "unexpected success"
   248  				}
   249  			},
   250  			{
   251  				"description": "zone id is not a part of ipv6 address",
   252  				"data": "fe80::a%eth1",
   253  				"valid": false,
   254  				"skip": {
   255  					"v2": "unexpected success",
   256  					"v3": "unexpected success"
   257  				}
   258  			},
   259  			{
   260  				"description": "a long valid ipv6",
   261  				"data": "1000:1000:1000:1000:1000:1000:255.255.255.255",
   262  				"valid": true
   263  			},
   264  			{
   265  				"description": "a long invalid ipv6, below length limit, first",
   266  				"data": "100:100:100:100:100:100:255.255.255.255.255",
   267  				"valid": false,
   268  				"skip": {
   269  					"v2": "unexpected success",
   270  					"v3": "unexpected success"
   271  				}
   272  			},
   273  			{
   274  				"description": "a long invalid ipv6, below length limit, second",
   275  				"data": "100:100:100:100:100:100:100:255.255.255.255",
   276  				"valid": false,
   277  				"skip": {
   278  					"v2": "unexpected success",
   279  					"v3": "unexpected success"
   280  				}
   281  			},
   282  			{
   283  				"description": "invalid non-ASCII '৪' (a Bengali 4)",
   284  				"data": "1:2:3:4:5:6:7:৪",
   285  				"valid": false,
   286  				"skip": {
   287  					"v2": "unexpected success",
   288  					"v3": "unexpected success"
   289  				}
   290  			},
   291  			{
   292  				"description": "invalid non-ASCII '৪' (a Bengali 4) in the IPv4 portion",
   293  				"data": "1:2::192.16৪.0.1",
   294  				"valid": false,
   295  				"skip": {
   296  					"v2": "unexpected success",
   297  					"v3": "unexpected success"
   298  				}
   299  			}
   300  		]
   301  	}
   302  ]