Skip to content

Commit a20f823

Browse files
committed
test(format/date-time): add timezone offset boundary and leap second cases
1 parent e491ac1 commit a20f823

6 files changed

Lines changed: 240 additions & 0 deletions

File tree

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

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,46 @@
151151
"data": "+11963-06-19T08:30:06.283185Z",
152152
"valid": false
153153
}
154+
{
155+
"description": "UTC offset +00:00 is valid",
156+
"data": "1985-04-12T23:20:50+00:00",
157+
"valid": true
158+
},,
159+
{
160+
"description": "negative zero offset -00:00 is valid",
161+
"data": "1985-04-12T23:20:50-00:00",
162+
"valid": true
163+
},,
164+
{
165+
"description": "maximum positive offset +23:59 is valid",
166+
"data": "1985-04-12T23:20:50+23:59",
167+
"valid": true
168+
},,
169+
{
170+
"description": "maximum negative offset -23:59 is valid",
171+
"data": "1985-04-12T23:20:50-23:59",
172+
"valid": true
173+
},,
174+
{
175+
"description": "offset hour 24 is invalid with positive sign",
176+
"data": "1985-04-12T23:20:50+24:00",
177+
"valid": false
178+
},,
179+
{
180+
"description": "Z followed by numeric offset is invalid",
181+
"data": "1985-04-12T23:20:50Z+00:00",
182+
"valid": false
183+
},,
184+
{
185+
"description": "valid leap second on another confirmed IERS date 2016",
186+
"data": "2016-12-31T23:59:60Z",
187+
"valid": true
188+
},,
189+
{
190+
"description": "leap second with offset producing wrong UTC is invalid",
191+
"data": "1998-12-31T23:59:60+01:00",
192+
"valid": false
193+
}
154194
]
155195
}
156196
]

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

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,46 @@
151151
"data": "+11963-06-19T08:30:06.283185Z",
152152
"valid": false
153153
}
154+
{
155+
"description": "UTC offset +00:00 is valid",
156+
"data": "1985-04-12T23:20:50+00:00",
157+
"valid": true
158+
},,
159+
{
160+
"description": "negative zero offset -00:00 is valid",
161+
"data": "1985-04-12T23:20:50-00:00",
162+
"valid": true
163+
},,
164+
{
165+
"description": "maximum positive offset +23:59 is valid",
166+
"data": "1985-04-12T23:20:50+23:59",
167+
"valid": true
168+
},,
169+
{
170+
"description": "maximum negative offset -23:59 is valid",
171+
"data": "1985-04-12T23:20:50-23:59",
172+
"valid": true
173+
},,
174+
{
175+
"description": "offset hour 24 is invalid with positive sign",
176+
"data": "1985-04-12T23:20:50+24:00",
177+
"valid": false
178+
},,
179+
{
180+
"description": "Z followed by numeric offset is invalid",
181+
"data": "1985-04-12T23:20:50Z+00:00",
182+
"valid": false
183+
},,
184+
{
185+
"description": "valid leap second on another confirmed IERS date 2016",
186+
"data": "2016-12-31T23:59:60Z",
187+
"valid": true
188+
},,
189+
{
190+
"description": "leap second with offset producing wrong UTC is invalid",
191+
"data": "1998-12-31T23:59:60+01:00",
192+
"valid": false
193+
}
154194
]
155195
}
156196
]

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

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,46 @@
3838
"data": "+11963-06-19T08:30:06.283185Z",
3939
"valid": false
4040
}
41+
{
42+
"description": "UTC offset +00:00 is valid",
43+
"data": "1985-04-12T23:20:50+00:00",
44+
"valid": true
45+
},,
46+
{
47+
"description": "negative zero offset -00:00 is valid",
48+
"data": "1985-04-12T23:20:50-00:00",
49+
"valid": true
50+
},,
51+
{
52+
"description": "maximum positive offset +23:59 is valid",
53+
"data": "1985-04-12T23:20:50+23:59",
54+
"valid": true
55+
},,
56+
{
57+
"description": "maximum negative offset -23:59 is valid",
58+
"data": "1985-04-12T23:20:50-23:59",
59+
"valid": true
60+
},,
61+
{
62+
"description": "offset hour 24 is invalid with positive sign",
63+
"data": "1985-04-12T23:20:50+24:00",
64+
"valid": false
65+
},,
66+
{
67+
"description": "Z followed by numeric offset is invalid",
68+
"data": "1985-04-12T23:20:50Z+00:00",
69+
"valid": false
70+
},,
71+
{
72+
"description": "valid leap second on another confirmed IERS date 2016",
73+
"data": "2016-12-31T23:59:60Z",
74+
"valid": true
75+
},,
76+
{
77+
"description": "leap second with offset producing wrong UTC is invalid",
78+
"data": "1998-12-31T23:59:60+01:00",
79+
"valid": false
80+
}
4181
]
4282
}
4383
]

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

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,46 @@
148148
"data": "+11963-06-19T08:30:06.283185Z",
149149
"valid": false
150150
}
151+
{
152+
"description": "UTC offset +00:00 is valid",
153+
"data": "1985-04-12T23:20:50+00:00",
154+
"valid": true
155+
},,
156+
{
157+
"description": "negative zero offset -00:00 is valid",
158+
"data": "1985-04-12T23:20:50-00:00",
159+
"valid": true
160+
},,
161+
{
162+
"description": "maximum positive offset +23:59 is valid",
163+
"data": "1985-04-12T23:20:50+23:59",
164+
"valid": true
165+
},,
166+
{
167+
"description": "maximum negative offset -23:59 is valid",
168+
"data": "1985-04-12T23:20:50-23:59",
169+
"valid": true
170+
},,
171+
{
172+
"description": "offset hour 24 is invalid with positive sign",
173+
"data": "1985-04-12T23:20:50+24:00",
174+
"valid": false
175+
},,
176+
{
177+
"description": "Z followed by numeric offset is invalid",
178+
"data": "1985-04-12T23:20:50Z+00:00",
179+
"valid": false
180+
},,
181+
{
182+
"description": "valid leap second on another confirmed IERS date 2016",
183+
"data": "2016-12-31T23:59:60Z",
184+
"valid": true
185+
},,
186+
{
187+
"description": "leap second with offset producing wrong UTC is invalid",
188+
"data": "1998-12-31T23:59:60+01:00",
189+
"valid": false
190+
}
151191
]
152192
}
153193
]

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

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,46 @@
148148
"data": "+11963-06-19T08:30:06.283185Z",
149149
"valid": false
150150
}
151+
{
152+
"description": "UTC offset +00:00 is valid",
153+
"data": "1985-04-12T23:20:50+00:00",
154+
"valid": true
155+
},,
156+
{
157+
"description": "negative zero offset -00:00 is valid",
158+
"data": "1985-04-12T23:20:50-00:00",
159+
"valid": true
160+
},,
161+
{
162+
"description": "maximum positive offset +23:59 is valid",
163+
"data": "1985-04-12T23:20:50+23:59",
164+
"valid": true
165+
},,
166+
{
167+
"description": "maximum negative offset -23:59 is valid",
168+
"data": "1985-04-12T23:20:50-23:59",
169+
"valid": true
170+
},,
171+
{
172+
"description": "offset hour 24 is invalid with positive sign",
173+
"data": "1985-04-12T23:20:50+24:00",
174+
"valid": false
175+
},,
176+
{
177+
"description": "Z followed by numeric offset is invalid",
178+
"data": "1985-04-12T23:20:50Z+00:00",
179+
"valid": false
180+
},,
181+
{
182+
"description": "valid leap second on another confirmed IERS date 2016",
183+
"data": "2016-12-31T23:59:60Z",
184+
"valid": true
185+
},,
186+
{
187+
"description": "leap second with offset producing wrong UTC is invalid",
188+
"data": "1998-12-31T23:59:60+01:00",
189+
"valid": false
190+
}
151191
]
152192
}
153193
]

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

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,46 @@
148148
"data": "+11963-06-19T08:30:06.283185Z",
149149
"valid": false
150150
}
151+
{
152+
"description": "UTC offset +00:00 is valid",
153+
"data": "1985-04-12T23:20:50+00:00",
154+
"valid": true
155+
},,
156+
{
157+
"description": "negative zero offset -00:00 is valid",
158+
"data": "1985-04-12T23:20:50-00:00",
159+
"valid": true
160+
},,
161+
{
162+
"description": "maximum positive offset +23:59 is valid",
163+
"data": "1985-04-12T23:20:50+23:59",
164+
"valid": true
165+
},,
166+
{
167+
"description": "maximum negative offset -23:59 is valid",
168+
"data": "1985-04-12T23:20:50-23:59",
169+
"valid": true
170+
},,
171+
{
172+
"description": "offset hour 24 is invalid with positive sign",
173+
"data": "1985-04-12T23:20:50+24:00",
174+
"valid": false
175+
},,
176+
{
177+
"description": "Z followed by numeric offset is invalid",
178+
"data": "1985-04-12T23:20:50Z+00:00",
179+
"valid": false
180+
},,
181+
{
182+
"description": "valid leap second on another confirmed IERS date 2016",
183+
"data": "2016-12-31T23:59:60Z",
184+
"valid": true
185+
},,
186+
{
187+
"description": "leap second with offset producing wrong UTC is invalid",
188+
"data": "1998-12-31T23:59:60+01:00",
189+
"valid": false
190+
}
151191
]
152192
}
153193
]

0 commit comments

Comments
 (0)