Skip to content

Commit 66e813a

Browse files
Merge pull request #506 from json-schema-org/ether/formats-non-ascii
test for non-ascii digits in various formats
2 parents ab0b1ae + 20c1bb1 commit 66e813a

File tree

29 files changed

+225
-0
lines changed

29 files changed

+225
-0
lines changed

tests/draft-future/optional/format/date-time.json

+10
Original file line numberOriginal file lineDiff line numberDiff line change
@@ -57,6 +57,16 @@
57
"description": "invalid non-padded day dates",
57
"description": "invalid non-padded day dates",
58
"data": "1963-06-1T08:30:06.283185Z",
58
"data": "1963-06-1T08:30:06.283185Z",
59
"valid": false
59
"valid": false
60+
},
61+
{
62+
"description": "non-ascii digits should be rejected in the date portion",
63+
"data": "1963-06-1৪T00:00:00Z",
64+
"valid": false
65+
},
66+
{
67+
"description": "non-ascii digits should be rejected in the time portion",
68+
"data": "1963-06-11T0৪:00:00Z",
69+
"valid": false
60
}
70
}
61
]
71
]
62
}
72
}

tests/draft-future/optional/format/date.json

+5
Original file line numberOriginal file lineDiff line numberDiff line change
@@ -182,6 +182,11 @@
182
"description": "2020 is a leap year",
182
"description": "2020 is a leap year",
183
"data": "2020-02-29",
183
"data": "2020-02-29",
184
"valid": true
184
"valid": true
185+
},
186+
{
187+
"description": "non-ascii digits should be rejected",
188+
"data": "1963-06-1৪",
189+
"valid": false
185
}
190
}
186
]
191
]
187
}
192
}

tests/draft-future/optional/format/duration.json

+5
Original file line numberOriginal file lineDiff line numberDiff line change
@@ -87,6 +87,11 @@
87
"description": "weeks cannot be combined with other units",
87
"description": "weeks cannot be combined with other units",
88
"data": "P1Y2W",
88
"data": "P1Y2W",
89
"valid": false
89
"valid": false
90+
},
91+
{
92+
"description": "non-ascii digits should be rejected",
93+
"data": "P২Y",
94+
"valid": false
90
}
95
}
91
]
96
]
92
}
97
}

tests/draft-future/optional/format/ipv4.json

+5
Original file line numberOriginal file lineDiff line numberDiff line change
@@ -43,6 +43,11 @@
43
"description": "value without leading zero is valid",
43
"description": "value without leading zero is valid",
44
"data": "87.10.0.1",
44
"data": "87.10.0.1",
45
"valid": true
45
"valid": true
46+
},
47+
{
48+
"description": "non-ascii digits should be rejected",
49+
"data": "1২7.0.0.1",
50+
"valid": false
46
}
51
}
47
]
52
]
48
}
53
}

tests/draft-future/optional/format/ipv6.json

+10
Original file line numberOriginal file lineDiff line numberDiff line change
@@ -147,6 +147,16 @@
147
"description": "a long invalid ipv6, below length limit, second",
147
"description": "a long invalid ipv6, below length limit, second",
148
"data": "100:100:100:100:100:100:100:255.255.255.255",
148
"data": "100:100:100:100:100:100:100:255.255.255.255",
149
"valid": false
149
"valid": false
150+
},
151+
{
152+
"description": "non-ascii digits should be rejected",
153+
"data": "1:2:3:4:5:6:7:৪",
154+
"valid": false
155+
},
156+
{
157+
"description": "non-ascii digits should be rejected in the ipv4 portion also",
158+
"data": "1:2::192.16৪.0.1",
159+
"valid": false
150
}
160
}
151
]
161
]
152
}
162
}

tests/draft-future/optional/format/time.json

+10
Original file line numberOriginal file lineDiff line numberDiff line change
@@ -152,6 +152,16 @@
152
"description": "only RFC3339 not all of ISO 8601 are valid",
152
"description": "only RFC3339 not all of ISO 8601 are valid",
153
"data": "01:01:01,1111",
153
"data": "01:01:01,1111",
154
"valid": false
154
"valid": false
155+
},
156+
{
157+
"description": "no time offset",
158+
"data": "12:00:00",
159+
"valid": false
160+
},
161+
{
162+
"description": "non-ascii digits should be rejected",
163+
"data": "1২:00:00Z",
164+
"valid": false
155
}
165
}
156
]
166
]
157
}
167
}

tests/draft2019-09/optional/format/date-time.json

+10
Original file line numberOriginal file lineDiff line numberDiff line change
@@ -57,6 +57,16 @@
57
"description": "invalid non-padded day dates",
57
"description": "invalid non-padded day dates",
58
"data": "1963-06-1T08:30:06.283185Z",
58
"data": "1963-06-1T08:30:06.283185Z",
59
"valid": false
59
"valid": false
60+
},
61+
{
62+
"description": "non-ascii digits should be rejected in the date portion",
63+
"data": "1963-06-1৪T00:00:00Z",
64+
"valid": false
65+
},
66+
{
67+
"description": "non-ascii digits should be rejected in the time portion",
68+
"data": "1963-06-11T0৪:00:00Z",
69+
"valid": false
60
}
70
}
61
]
71
]
62
}
72
}

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

+5
Original file line numberOriginal file lineDiff line numberDiff line change
@@ -182,6 +182,11 @@
182
"description": "2020 is a leap year",
182
"description": "2020 is a leap year",
183
"data": "2020-02-29",
183
"data": "2020-02-29",
184
"valid": true
184
"valid": true
185+
},
186+
{
187+
"description": "non-ascii digits should be rejected",
188+
"data": "1963-06-1৪",
189+
"valid": false
185
}
190
}
186
]
191
]
187
}
192
}

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

+5
Original file line numberOriginal file lineDiff line numberDiff line change
@@ -87,6 +87,11 @@
87
"description": "weeks cannot be combined with other units",
87
"description": "weeks cannot be combined with other units",
88
"data": "P1Y2W",
88
"data": "P1Y2W",
89
"valid": false
89
"valid": false
90+
},
91+
{
92+
"description": "non-ascii digits should be rejected",
93+
"data": "P২Y",
94+
"valid": false
90
}
95
}
91
]
96
]
92
}
97
}

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

+5
Original file line numberOriginal file lineDiff line numberDiff line change
@@ -43,6 +43,11 @@
43
"description": "value without leading zero is valid",
43
"description": "value without leading zero is valid",
44
"data": "87.10.0.1",
44
"data": "87.10.0.1",
45
"valid": true
45
"valid": true
46+
},
47+
{
48+
"description": "non-ascii digits should be rejected",
49+
"data": "1২7.0.0.1",
50+
"valid": false
46
}
51
}
47
]
52
]
48
}
53
}

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

+10
Original file line numberOriginal file lineDiff line numberDiff line change
@@ -147,6 +147,16 @@
147
"description": "a long invalid ipv6, below length limit, second",
147
"description": "a long invalid ipv6, below length limit, second",
148
"data": "100:100:100:100:100:100:100:255.255.255.255",
148
"data": "100:100:100:100:100:100:100:255.255.255.255",
149
"valid": false
149
"valid": false
150+
},
151+
{
152+
"description": "non-ascii digits should be rejected",
153+
"data": "1:2:3:4:5:6:7:৪",
154+
"valid": false
155+
},
156+
{
157+
"description": "non-ascii digits should be rejected in the ipv4 portion also",
158+
"data": "1:2::192.16৪.0.1",
159+
"valid": false
150
}
160
}
151
]
161
]
152
}
162
}

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

+10
Original file line numberOriginal file lineDiff line numberDiff line change
@@ -152,6 +152,16 @@
152
"description": "only RFC3339 not all of ISO 8601 are valid",
152
"description": "only RFC3339 not all of ISO 8601 are valid",
153
"data": "01:01:01,1111",
153
"data": "01:01:01,1111",
154
"valid": false
154
"valid": false
155+
},
156+
{
157+
"description": "no time offset",
158+
"data": "12:00:00",
159+
"valid": false
160+
},
161+
{
162+
"description": "non-ascii digits should be rejected",
163+
"data": "1২:00:00Z",
164+
"valid": false
155
}
165
}
156
]
166
]
157
}
167
}

tests/draft2020-12/optional/format/date-time.json

+10
Original file line numberOriginal file lineDiff line numberDiff line change
@@ -57,6 +57,16 @@
57
"description": "invalid non-padded day dates",
57
"description": "invalid non-padded day dates",
58
"data": "1963-06-1T08:30:06.283185Z",
58
"data": "1963-06-1T08:30:06.283185Z",
59
"valid": false
59
"valid": false
60+
},
61+
{
62+
"description": "non-ascii digits should be rejected in the date portion",
63+
"data": "1963-06-1৪T00:00:00Z",
64+
"valid": false
65+
},
66+
{
67+
"description": "non-ascii digits should be rejected in the time portion",
68+
"data": "1963-06-11T0৪:00:00Z",
69+
"valid": false
60
}
70
}
61
]
71
]
62
}
72
}

tests/draft2020-12/optional/format/date.json

+5
Original file line numberOriginal file lineDiff line numberDiff line change
@@ -182,6 +182,11 @@
182
"description": "2020 is a leap year",
182
"description": "2020 is a leap year",
183
"data": "2020-02-29",
183
"data": "2020-02-29",
184
"valid": true
184
"valid": true
185+
},
186+
{
187+
"description": "non-ascii digits should be rejected",
188+
"data": "1963-06-1৪",
189+
"valid": false
185
}
190
}
186
]
191
]
187
}
192
}

tests/draft2020-12/optional/format/duration.json

+5
Original file line numberOriginal file lineDiff line numberDiff line change
@@ -87,6 +87,11 @@
87
"description": "weeks cannot be combined with other units",
87
"description": "weeks cannot be combined with other units",
88
"data": "P1Y2W",
88
"data": "P1Y2W",
89
"valid": false
89
"valid": false
90+
},
91+
{
92+
"description": "non-ascii digits should be rejected",
93+
"data": "P২Y",
94+
"valid": false
90
}
95
}
91
]
96
]
92
}
97
}

tests/draft2020-12/optional/format/ipv4.json

+5
Original file line numberOriginal file lineDiff line numberDiff line change
@@ -43,6 +43,11 @@
43
"description": "value without leading zero is valid",
43
"description": "value without leading zero is valid",
44
"data": "87.10.0.1",
44
"data": "87.10.0.1",
45
"valid": true
45
"valid": true
46+
},
47+
{
48+
"description": "non-ascii digits should be rejected",
49+
"data": "1২7.0.0.1",
50+
"valid": false
46
}
51
}
47
]
52
]
48
}
53
}

tests/draft2020-12/optional/format/ipv6.json

+10
Original file line numberOriginal file lineDiff line numberDiff line change
@@ -147,6 +147,16 @@
147
"description": "a long invalid ipv6, below length limit, second",
147
"description": "a long invalid ipv6, below length limit, second",
148
"data": "100:100:100:100:100:100:100:255.255.255.255",
148
"data": "100:100:100:100:100:100:100:255.255.255.255",
149
"valid": false
149
"valid": false
150+
},
151+
{
152+
"description": "non-ascii digits should be rejected",
153+
"data": "1:2:3:4:5:6:7:৪",
154+
"valid": false
155+
},
156+
{
157+
"description": "non-ascii digits should be rejected in the ipv4 portion also",
158+
"data": "1:2::192.16৪.0.1",
159+
"valid": false
150
}
160
}
151
]
161
]
152
}
162
}

tests/draft2020-12/optional/format/time.json

+10
Original file line numberOriginal file lineDiff line numberDiff line change
@@ -152,6 +152,16 @@
152
"description": "only RFC3339 not all of ISO 8601 are valid",
152
"description": "only RFC3339 not all of ISO 8601 are valid",
153
"data": "01:01:01,1111",
153
"data": "01:01:01,1111",
154
"valid": false
154
"valid": false
155+
},
156+
{
157+
"description": "no time offset",
158+
"data": "12:00:00",
159+
"valid": false
160+
},
161+
{
162+
"description": "non-ascii digits should be rejected",
163+
"data": "1২:00:00Z",
164+
"valid": false
155
}
165
}
156
]
166
]
157
}
167
}

tests/draft4/optional/format/date-time.json

+10
Original file line numberOriginal file lineDiff line numberDiff line change
@@ -57,6 +57,16 @@
57
"description": "invalid non-padded day dates",
57
"description": "invalid non-padded day dates",
58
"data": "1963-06-1T08:30:06.283185Z",
58
"data": "1963-06-1T08:30:06.283185Z",
59
"valid": false
59
"valid": false
60+
},
61+
{
62+
"description": "non-ascii digits should be rejected in the date portion",
63+
"data": "1963-06-1৪T00:00:00Z",
64+
"valid": false
65+
},
66+
{
67+
"description": "non-ascii digits should be rejected in the time portion",
68+
"data": "1963-06-11T0৪:00:00Z",
69+
"valid": false
60
}
70
}
61
]
71
]
62
}
72
}

tests/draft4/optional/format/ipv4.json

+5
Original file line numberOriginal file lineDiff line numberDiff line change
@@ -43,6 +43,11 @@
43
"description": "value without leading zero is valid",
43
"description": "value without leading zero is valid",
44
"data": "87.10.0.1",
44
"data": "87.10.0.1",
45
"valid": true
45
"valid": true
46+
},
47+
{
48+
"description": "non-ascii digits should be rejected",
49+
"data": "1২7.0.0.1",
50+
"valid": false
46
}
51
}
47
]
52
]
48
}
53
}

tests/draft4/optional/format/ipv6.json

+10
Original file line numberOriginal file lineDiff line numberDiff line change
@@ -147,6 +147,16 @@
147
"description": "a long invalid ipv6, below length limit, second",
147
"description": "a long invalid ipv6, below length limit, second",
148
"data": "100:100:100:100:100:100:100:255.255.255.255",
148
"data": "100:100:100:100:100:100:100:255.255.255.255",
149
"valid": false
149
"valid": false
150+
},
151+
{
152+
"description": "non-ascii digits should be rejected",
153+
"data": "1:2:3:4:5:6:7:৪",
154+
"valid": false
155+
},
156+
{
157+
"description": "non-ascii digits should be rejected in the ipv4 portion also",
158+
"data": "1:2::192.16৪.0.1",
159+
"valid": false
150
}
160
}
151
]
161
]
152
}
162
}

tests/draft6/optional/format/date-time.json

+10
Original file line numberOriginal file lineDiff line numberDiff line change
@@ -62,6 +62,16 @@
62
"description": "invalid non-padded day dates",
62
"description": "invalid non-padded day dates",
63
"data": "1963-06-1T08:30:06.283185Z",
63
"data": "1963-06-1T08:30:06.283185Z",
64
"valid": false
64
"valid": false
65+
},
66+
{
67+
"description": "non-ascii digits should be rejected in the date portion",
68+
"data": "1963-06-1৪T00:00:00Z",
69+
"valid": false
70+
},
71+
{
72+
"description": "non-ascii digits should be rejected in the time portion",
73+
"data": "1963-06-11T0৪:00:00Z",
74+
"valid": false
65
}
75
}
66
]
76
]
67
}
77
}

tests/draft6/optional/format/ipv4.json

+5
Original file line numberOriginal file lineDiff line numberDiff line change
@@ -43,6 +43,11 @@
43
"description": "value without leading zero is valid",
43
"description": "value without leading zero is valid",
44
"data": "87.10.0.1",
44
"data": "87.10.0.1",
45
"valid": true
45
"valid": true
46+
},
47+
{
48+
"description": "non-ascii digits should be rejected",
49+
"data": "1২7.0.0.1",
50+
"valid": false
46
}
51
}
47
]
52
]
48
}
53
}

tests/draft6/optional/format/ipv6.json

+10
Original file line numberOriginal file lineDiff line numberDiff line change
@@ -147,6 +147,16 @@
147
"description": "a long invalid ipv6, below length limit, second",
147
"description": "a long invalid ipv6, below length limit, second",
148
"data": "100:100:100:100:100:100:100:255.255.255.255",
148
"data": "100:100:100:100:100:100:100:255.255.255.255",
149
"valid": false
149
"valid": false
150+
},
151+
{
152+
"description": "non-ascii digits should be rejected",
153+
"data": "1:2:3:4:5:6:7:৪",
154+
"valid": false
155+
},
156+
{
157+
"description": "non-ascii digits should be rejected in the ipv4 portion also",
158+
"data": "1:2::192.16৪.0.1",
159+
"valid": false
150
}
160
}
151
]
161
]
152
}
162
}

tests/draft7/optional/format/date-time.json

+10
Original file line numberOriginal file lineDiff line numberDiff line change
@@ -57,6 +57,16 @@
57
"description": "invalid non-padded day dates",
57
"description": "invalid non-padded day dates",
58
"data": "1963-06-1T08:30:06.283185Z",
58
"data": "1963-06-1T08:30:06.283185Z",
59
"valid": false
59
"valid": false
60+
},
61+
{
62+
"description": "non-ascii digits should be rejected in the date portion",
63+
"data": "1963-06-1৪T00:00:00Z",
64+
"valid": false
65+
},
66+
{
67+
"description": "non-ascii digits should be rejected in the time portion",
68+
"data": "1963-06-11T0৪:00:00Z",
69+
"valid": false
60
}
70
}
61
]
71
]
62
}
72
}

tests/draft7/optional/format/date.json

+5
Original file line numberOriginal file lineDiff line numberDiff line change
@@ -182,6 +182,11 @@
182
"description": "2020 is a leap year",
182
"description": "2020 is a leap year",
183
"data": "2020-02-29",
183
"data": "2020-02-29",
184
"valid": true
184
"valid": true
185+
},
186+
{
187+
"description": "non-ascii digits should be rejected",
188+
"data": "1963-06-1৪",
189+
"valid": false
185
}
190
}
186
]
191
]
187
}
192
}

tests/draft7/optional/format/ipv4.json

+5
Original file line numberOriginal file lineDiff line numberDiff line change
@@ -43,6 +43,11 @@
43
"description": "value without leading zero is valid",
43
"description": "value without leading zero is valid",
44
"data": "87.10.0.1",
44
"data": "87.10.0.1",
45
"valid": true
45
"valid": true
46+
},
47+
{
48+
"description": "non-ascii digits should be rejected",
49+
"data": "1২7.0.0.1",
50+
"valid": false
46
}
51
}
47
]
52
]
48
}
53
}

0 commit comments

Comments
 (0)