Skip to content

Commit e9fb9cf

Browse files
Merge pull request #517 from ChALkeR/chalker/date-time-leap
Normalize optional/format/date-time, improve leap seconds tests.
2 parents 8b797cf + bb2e373 commit e9fb9cf

File tree

6 files changed

+168
-18
lines changed

6 files changed

+168
-18
lines changed

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

+28-3
Original file line numberDiff line numberDiff line change
@@ -54,13 +54,38 @@
5454
"valid": true
5555
},
5656
{
57-
"description": "a invalid day in date-time string",
58-
"data": "1990-02-31T15:59:60.123-08:00",
57+
"description": "a valid date-time with a leap second, UTC",
58+
"data": "1998-12-31T23:59:60Z",
59+
"valid": true
60+
},
61+
{
62+
"description": "a valid date-time with a leap second, with minus offset",
63+
"data": "1998-12-31T15:59:60.123-08:00",
64+
"valid": true
65+
},
66+
{
67+
"description": "an invalid date-time past leap second, UTC",
68+
"data": "1998-12-31T23:59:61Z",
69+
"valid": false
70+
},
71+
{
72+
"description": "an invalid date-time with leap second on a wrong minute, UTC",
73+
"data": "1998-12-31T23:58:60Z",
74+
"valid": false
75+
},
76+
{
77+
"description": "an invalid date-time with leap second on a wrong hour, UTC",
78+
"data": "1998-12-31T22:59:60Z",
79+
"valid": false
80+
},
81+
{
82+
"description": "an invalid day in date-time string",
83+
"data": "1990-02-31T15:59:59.123-08:00",
5984
"valid": false
6085
},
6186
{
6287
"description": "an invalid offset in date-time string",
63-
"data": "1990-12-31T15:59:60-24:00",
88+
"data": "1990-12-31T15:59:59-24:00",
6489
"valid": false
6590
},
6691
{

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

+28-3
Original file line numberDiff line numberDiff line change
@@ -54,13 +54,38 @@
5454
"valid": true
5555
},
5656
{
57-
"description": "a invalid day in date-time string",
58-
"data": "1990-02-31T15:59:60.123-08:00",
57+
"description": "a valid date-time with a leap second, UTC",
58+
"data": "1998-12-31T23:59:60Z",
59+
"valid": true
60+
},
61+
{
62+
"description": "a valid date-time with a leap second, with minus offset",
63+
"data": "1998-12-31T15:59:60.123-08:00",
64+
"valid": true
65+
},
66+
{
67+
"description": "an invalid date-time past leap second, UTC",
68+
"data": "1998-12-31T23:59:61Z",
69+
"valid": false
70+
},
71+
{
72+
"description": "an invalid date-time with leap second on a wrong minute, UTC",
73+
"data": "1998-12-31T23:58:60Z",
74+
"valid": false
75+
},
76+
{
77+
"description": "an invalid date-time with leap second on a wrong hour, UTC",
78+
"data": "1998-12-31T22:59:60Z",
79+
"valid": false
80+
},
81+
{
82+
"description": "an invalid day in date-time string",
83+
"data": "1990-02-31T15:59:59.123-08:00",
5984
"valid": false
6085
},
6186
{
6287
"description": "an invalid offset in date-time string",
63-
"data": "1990-12-31T15:59:60-24:00",
88+
"data": "1990-12-31T15:59:59-24:00",
6489
"valid": false
6590
},
6691
{

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

+28-3
Original file line numberDiff line numberDiff line change
@@ -54,13 +54,38 @@
5454
"valid": true
5555
},
5656
{
57-
"description": "a invalid day in date-time string",
58-
"data": "1990-02-31T15:59:60.123-08:00",
57+
"description": "a valid date-time with a leap second, UTC",
58+
"data": "1998-12-31T23:59:60Z",
59+
"valid": true
60+
},
61+
{
62+
"description": "a valid date-time with a leap second, with minus offset",
63+
"data": "1998-12-31T15:59:60.123-08:00",
64+
"valid": true
65+
},
66+
{
67+
"description": "an invalid date-time past leap second, UTC",
68+
"data": "1998-12-31T23:59:61Z",
69+
"valid": false
70+
},
71+
{
72+
"description": "an invalid date-time with leap second on a wrong minute, UTC",
73+
"data": "1998-12-31T23:58:60Z",
74+
"valid": false
75+
},
76+
{
77+
"description": "an invalid date-time with leap second on a wrong hour, UTC",
78+
"data": "1998-12-31T22:59:60Z",
79+
"valid": false
80+
},
81+
{
82+
"description": "an invalid day in date-time string",
83+
"data": "1990-02-31T15:59:59.123-08:00",
5984
"valid": false
6085
},
6186
{
6287
"description": "an invalid offset in date-time string",
63-
"data": "1990-12-31T15:59:60-24:00",
88+
"data": "1990-12-31T15:59:59-24:00",
6489
"valid": false
6590
},
6691
{

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

+28-3
Original file line numberDiff line numberDiff line change
@@ -54,13 +54,38 @@
5454
"valid": true
5555
},
5656
{
57-
"description": "a invalid day in date-time string",
58-
"data": "1990-02-31T15:59:60.123-08:00",
57+
"description": "a valid date-time with a leap second, UTC",
58+
"data": "1998-12-31T23:59:60Z",
59+
"valid": true
60+
},
61+
{
62+
"description": "a valid date-time with a leap second, with minus offset",
63+
"data": "1998-12-31T15:59:60.123-08:00",
64+
"valid": true
65+
},
66+
{
67+
"description": "an invalid date-time past leap second, UTC",
68+
"data": "1998-12-31T23:59:61Z",
69+
"valid": false
70+
},
71+
{
72+
"description": "an invalid date-time with leap second on a wrong minute, UTC",
73+
"data": "1998-12-31T23:58:60Z",
74+
"valid": false
75+
},
76+
{
77+
"description": "an invalid date-time with leap second on a wrong hour, UTC",
78+
"data": "1998-12-31T22:59:60Z",
79+
"valid": false
80+
},
81+
{
82+
"description": "an invalid day in date-time string",
83+
"data": "1990-02-31T15:59:59.123-08:00",
5984
"valid": false
6085
},
6186
{
6287
"description": "an invalid offset in date-time string",
63-
"data": "1990-12-31T15:59:60-24:00",
88+
"data": "1990-12-31T15:59:59-24:00",
6489
"valid": false
6590
},
6691
{

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

+28-3
Original file line numberDiff line numberDiff line change
@@ -54,13 +54,38 @@
5454
"valid": true
5555
},
5656
{
57-
"description": "a invalid day in date-time string",
58-
"data": "1990-02-31T15:59:60.123-08:00",
57+
"description": "a valid date-time with a leap second, UTC",
58+
"data": "1998-12-31T23:59:60Z",
59+
"valid": true
60+
},
61+
{
62+
"description": "a valid date-time with a leap second, with minus offset",
63+
"data": "1998-12-31T15:59:60.123-08:00",
64+
"valid": true
65+
},
66+
{
67+
"description": "an invalid date-time past leap second, UTC",
68+
"data": "1998-12-31T23:59:61Z",
69+
"valid": false
70+
},
71+
{
72+
"description": "an invalid date-time with leap second on a wrong minute, UTC",
73+
"data": "1998-12-31T23:58:60Z",
74+
"valid": false
75+
},
76+
{
77+
"description": "an invalid date-time with leap second on a wrong hour, UTC",
78+
"data": "1998-12-31T22:59:60Z",
79+
"valid": false
80+
},
81+
{
82+
"description": "an invalid day in date-time string",
83+
"data": "1990-02-31T15:59:59.123-08:00",
5984
"valid": false
6085
},
6186
{
6287
"description": "an invalid offset in date-time string",
63-
"data": "1990-12-31T15:59:60-24:00",
88+
"data": "1990-12-31T15:59:59-24:00",
6489
"valid": false
6590
},
6691
{

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

+28-3
Original file line numberDiff line numberDiff line change
@@ -54,13 +54,38 @@
5454
"valid": true
5555
},
5656
{
57-
"description": "a invalid day in date-time string",
58-
"data": "1990-02-31T15:59:60.123-08:00",
57+
"description": "a valid date-time with a leap second, UTC",
58+
"data": "1998-12-31T23:59:60Z",
59+
"valid": true
60+
},
61+
{
62+
"description": "a valid date-time with a leap second, with minus offset",
63+
"data": "1998-12-31T15:59:60.123-08:00",
64+
"valid": true
65+
},
66+
{
67+
"description": "an invalid date-time past leap second, UTC",
68+
"data": "1998-12-31T23:59:61Z",
69+
"valid": false
70+
},
71+
{
72+
"description": "an invalid date-time with leap second on a wrong minute, UTC",
73+
"data": "1998-12-31T23:58:60Z",
74+
"valid": false
75+
},
76+
{
77+
"description": "an invalid date-time with leap second on a wrong hour, UTC",
78+
"data": "1998-12-31T22:59:60Z",
79+
"valid": false
80+
},
81+
{
82+
"description": "an invalid day in date-time string",
83+
"data": "1990-02-31T15:59:59.123-08:00",
5984
"valid": false
6085
},
6186
{
6287
"description": "an invalid offset in date-time string",
63-
"data": "1990-12-31T15:59:60-24:00",
88+
"data": "1990-12-31T15:59:59-24:00",
6489
"valid": false
6590
},
6691
{

0 commit comments

Comments
 (0)