Skip to content

Commit 5f3dc7e

Browse files
Merge pull request #415 from json-schema-org/ether/more-ipv6-tests
some more ipv6 tests
2 parents acb45cd + 04ddab1 commit 5f3dc7e

File tree

4 files changed

+203
-3
lines changed

4 files changed

+203
-3
lines changed

tests/draft2019-09/optional/format/ipv6.json

+50
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,21 @@
3838
"data": "d6::",
3939
"valid": true
4040
},
41+
{
42+
"description": "missing leading octet is invalid",
43+
"data": ":2:3:4:5:6:7:8",
44+
"valid": false
45+
},
46+
{
47+
"description": "missing trailing octet is invalid",
48+
"data": "1:2:3:4:5:6:7:",
49+
"valid": false
50+
},
51+
{
52+
"description": "missing leading octet with omitted octets later",
53+
"data": ":2:3:4::8",
54+
"valid": false
55+
},
4156
{
4257
"description": "two sets of double colons is invalid",
4358
"data": "1::d6::42",
@@ -62,6 +77,41 @@
6277
"description": "mixed format with ipv4 section with a hex octet",
6378
"data": "1::2:192.168.ff.1",
6479
"valid": false
80+
},
81+
{
82+
"description": "mixed format with leading double colons (ipv4-mapped ipv6 address)",
83+
"data": "::ffff:192.168.0.1",
84+
"valid": true
85+
},
86+
{
87+
"description": "triple colons is invalid",
88+
"data": "1:2:3:4:5:::8",
89+
"valid": false
90+
},
91+
{
92+
"description": "8 octets",
93+
"data": "1:2:3:4:5:6:7:8",
94+
"valid": true
95+
},
96+
{
97+
"description": "insufficient octets without double colons",
98+
"data": "1:2:3:4:5:6:7",
99+
"valid": false
100+
},
101+
{
102+
"description": "no colons is invalid",
103+
"data": "1",
104+
"valid": false
105+
},
106+
{
107+
"description": "ipv4 is not ipv6",
108+
"data": "127.0.0.1",
109+
"valid": false
110+
},
111+
{
112+
"description": "ipv4 segment must have 4 octets",
113+
"data": "1:2:3:4:1.2.3",
114+
"valid": false
65115
}
66116
]
67117
}

tests/draft4/optional/format/ipv6.json

+51-1
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,29 @@
3030
},
3131
{
3232
"description": "leading colons is valid",
33-
"data": "::1",
33+
"data": "::42:ff:1",
3434
"valid": true
3535
},
3636
{
3737
"description": "trailing colons is valid",
3838
"data": "d6::",
3939
"valid": true
4040
},
41+
{
42+
"description": "missing leading octet is invalid",
43+
"data": ":2:3:4:5:6:7:8",
44+
"valid": false
45+
},
46+
{
47+
"description": "missing trailing octet is invalid",
48+
"data": "1:2:3:4:5:6:7:",
49+
"valid": false
50+
},
51+
{
52+
"description": "missing leading octet with omitted octets later",
53+
"data": ":2:3:4::8",
54+
"valid": false
55+
},
4156
{
4257
"description": "two sets of double colons is invalid",
4358
"data": "1::d6::42",
@@ -62,6 +77,41 @@
6277
"description": "mixed format with ipv4 section with a hex octet",
6378
"data": "1::2:192.168.ff.1",
6479
"valid": false
80+
},
81+
{
82+
"description": "mixed format with leading double colons (ipv4-mapped ipv6 address)",
83+
"data": "::ffff:192.168.0.1",
84+
"valid": true
85+
},
86+
{
87+
"description": "triple colons is invalid",
88+
"data": "1:2:3:4:5:::8",
89+
"valid": false
90+
},
91+
{
92+
"description": "8 octets",
93+
"data": "1:2:3:4:5:6:7:8",
94+
"valid": true
95+
},
96+
{
97+
"description": "insufficient octets without double colons",
98+
"data": "1:2:3:4:5:6:7",
99+
"valid": false
100+
},
101+
{
102+
"description": "no colons is invalid",
103+
"data": "1",
104+
"valid": false
105+
},
106+
{
107+
"description": "ipv4 is not ipv6",
108+
"data": "127.0.0.1",
109+
"valid": false
110+
},
111+
{
112+
"description": "ipv4 segment must have 4 octets",
113+
"data": "1:2:3:4:1.2.3",
114+
"valid": false
65115
}
66116
]
67117
}

tests/draft6/optional/format/ipv6.json

+51-1
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,29 @@
3030
},
3131
{
3232
"description": "leading colons is valid",
33-
"data": "::1",
33+
"data": "::42:ff:1",
3434
"valid": true
3535
},
3636
{
3737
"description": "trailing colons is valid",
3838
"data": "d6::",
3939
"valid": true
4040
},
41+
{
42+
"description": "missing leading octet is invalid",
43+
"data": ":2:3:4:5:6:7:8",
44+
"valid": false
45+
},
46+
{
47+
"description": "missing trailing octet is invalid",
48+
"data": "1:2:3:4:5:6:7:",
49+
"valid": false
50+
},
51+
{
52+
"description": "missing leading octet with omitted octets later",
53+
"data": ":2:3:4::8",
54+
"valid": false
55+
},
4156
{
4257
"description": "two sets of double colons is invalid",
4358
"data": "1::d6::42",
@@ -62,6 +77,41 @@
6277
"description": "mixed format with ipv4 section with a hex octet",
6378
"data": "1::2:192.168.ff.1",
6479
"valid": false
80+
},
81+
{
82+
"description": "mixed format with leading double colons (ipv4-mapped ipv6 address)",
83+
"data": "::ffff:192.168.0.1",
84+
"valid": true
85+
},
86+
{
87+
"description": "triple colons is invalid",
88+
"data": "1:2:3:4:5:::8",
89+
"valid": false
90+
},
91+
{
92+
"description": "8 octets",
93+
"data": "1:2:3:4:5:6:7:8",
94+
"valid": true
95+
},
96+
{
97+
"description": "insufficient octets without double colons",
98+
"data": "1:2:3:4:5:6:7",
99+
"valid": false
100+
},
101+
{
102+
"description": "no colons is invalid",
103+
"data": "1",
104+
"valid": false
105+
},
106+
{
107+
"description": "ipv4 is not ipv6",
108+
"data": "127.0.0.1",
109+
"valid": false
110+
},
111+
{
112+
"description": "ipv4 segment must have 4 octets",
113+
"data": "1:2:3:4:1.2.3",
114+
"valid": false
65115
}
66116
]
67117
}

tests/draft7/optional/format/ipv6.json

+51-1
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,29 @@
3030
},
3131
{
3232
"description": "leading colons is valid",
33-
"data": "::1",
33+
"data": "::42:ff:1",
3434
"valid": true
3535
},
3636
{
3737
"description": "trailing colons is valid",
3838
"data": "d6::",
3939
"valid": true
4040
},
41+
{
42+
"description": "missing leading octet is invalid",
43+
"data": ":2:3:4:5:6:7:8",
44+
"valid": false
45+
},
46+
{
47+
"description": "missing trailing octet is invalid",
48+
"data": "1:2:3:4:5:6:7:",
49+
"valid": false
50+
},
51+
{
52+
"description": "missing leading octet with omitted octets later",
53+
"data": ":2:3:4::8",
54+
"valid": false
55+
},
4156
{
4257
"description": "two sets of double colons is invalid",
4358
"data": "1::d6::42",
@@ -62,6 +77,41 @@
6277
"description": "mixed format with ipv4 section with a hex octet",
6378
"data": "1::2:192.168.ff.1",
6479
"valid": false
80+
},
81+
{
82+
"description": "mixed format with leading double colons (ipv4-mapped ipv6 address)",
83+
"data": "::ffff:192.168.0.1",
84+
"valid": true
85+
},
86+
{
87+
"description": "triple colons is invalid",
88+
"data": "1:2:3:4:5:::8",
89+
"valid": false
90+
},
91+
{
92+
"description": "8 octets",
93+
"data": "1:2:3:4:5:6:7:8",
94+
"valid": true
95+
},
96+
{
97+
"description": "insufficient octets without double colons",
98+
"data": "1:2:3:4:5:6:7",
99+
"valid": false
100+
},
101+
{
102+
"description": "no colons is invalid",
103+
"data": "1",
104+
"valid": false
105+
},
106+
{
107+
"description": "ipv4 is not ipv6",
108+
"data": "127.0.0.1",
109+
"valid": false
110+
},
111+
{
112+
"description": "ipv4 segment must have 4 octets",
113+
"data": "1:2:3:4:1.2.3",
114+
"valid": false
65115
}
66116
]
67117
}

0 commit comments

Comments
 (0)