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

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