Skip to content

Commit ee83f46

Browse files
committed
Stricter time format constraints
1 parent 6bc53e6 commit ee83f46

File tree

3 files changed

+195
-0
lines changed

3 files changed

+195
-0
lines changed

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

+65
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,74 @@
55
"tests": [
66
{
77
"description": "a valid time string",
8+
"data": "08:30:06Z",
9+
"valid": true
10+
},
11+
{
12+
"description": "a valid time string with leap second",
13+
"data": "23:59:60Z",
14+
"valid": true
15+
},
16+
{
17+
"description": "a valid time string with second fraction",
818
"data": "08:30:06.283185Z",
919
"valid": true
1020
},
21+
{
22+
"description": "a valid time string with plus offset",
23+
"data": "08:30:06+00:20",
24+
"valid": true
25+
},
26+
{
27+
"description": "a valid time string with minus offset",
28+
"data": "08:30:06-08:00",
29+
"valid": true
30+
},
31+
{
32+
"description": "a valid time string with case-insensitive Z",
33+
"data": "08:30:06z",
34+
"valid": true
35+
},
36+
{
37+
"description": "an invalid time string with invalid hour",
38+
"data": "24:00:00Z",
39+
"valid": false
40+
},
41+
{
42+
"description": "an invalid time string with invalid minute",
43+
"data": "00:60:00Z",
44+
"valid": false
45+
},
46+
{
47+
"description": "an invalid time string with invalid second",
48+
"data": "00:00:61Z",
49+
"valid": false
50+
},
51+
{
52+
"description": "an invalid time string with invalid leap second (wrong hour)",
53+
"data": "22:59:60Z",
54+
"valid": false
55+
},
56+
{
57+
"description": "an invalid time string with invalid leap second (wrong minute)",
58+
"data": "23:58:60Z",
59+
"valid": false
60+
},
61+
{
62+
"description": "an invalid time string with invalid time numoffset hour",
63+
"data": "01:02:03+24:00",
64+
"valid": false
65+
},
66+
{
67+
"description": "an invalid time string with invalid time numoffset minute",
68+
"data": "01:02:03+00:60",
69+
"valid": false
70+
},
71+
{
72+
"description": "an invalid time string with invalid time with both Z and numoffset",
73+
"data": "01:02:03Z+00:60",
74+
"valid": false
75+
},
1176
{
1277
"description": "an invalid time string",
1378
"data": "08:30:06 PST",

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

+65
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,74 @@
55
"tests": [
66
{
77
"description": "a valid time string",
8+
"data": "08:30:06Z",
9+
"valid": true
10+
},
11+
{
12+
"description": "a valid time string with leap second",
13+
"data": "23:59:60Z",
14+
"valid": true
15+
},
16+
{
17+
"description": "a valid time string with second fraction",
818
"data": "08:30:06.283185Z",
919
"valid": true
1020
},
21+
{
22+
"description": "a valid time string with plus offset",
23+
"data": "08:30:06+00:20",
24+
"valid": true
25+
},
26+
{
27+
"description": "a valid time string with minus offset",
28+
"data": "08:30:06-08:00",
29+
"valid": true
30+
},
31+
{
32+
"description": "a valid time string with case-insensitive Z",
33+
"data": "08:30:06z",
34+
"valid": true
35+
},
36+
{
37+
"description": "an invalid time string with invalid hour",
38+
"data": "24:00:00Z",
39+
"valid": false
40+
},
41+
{
42+
"description": "an invalid time string with invalid minute",
43+
"data": "00:60:00Z",
44+
"valid": false
45+
},
46+
{
47+
"description": "an invalid time string with invalid second",
48+
"data": "00:00:61Z",
49+
"valid": false
50+
},
51+
{
52+
"description": "an invalid time string with invalid leap second (wrong hour)",
53+
"data": "22:59:60Z",
54+
"valid": false
55+
},
56+
{
57+
"description": "an invalid time string with invalid leap second (wrong minute)",
58+
"data": "23:58:60Z",
59+
"valid": false
60+
},
61+
{
62+
"description": "an invalid time string with invalid time numoffset hour",
63+
"data": "01:02:03+24:00",
64+
"valid": false
65+
},
66+
{
67+
"description": "an invalid time string with invalid time numoffset minute",
68+
"data": "01:02:03+00:60",
69+
"valid": false
70+
},
71+
{
72+
"description": "an invalid time string with invalid time with both Z and numoffset",
73+
"data": "01:02:03Z+00:60",
74+
"valid": false
75+
},
1176
{
1277
"description": "an invalid time string",
1378
"data": "08:30:06 PST",

tests/draft7/optional/format/time.json

+65
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,74 @@
55
"tests": [
66
{
77
"description": "a valid time string",
8+
"data": "08:30:06Z",
9+
"valid": true
10+
},
11+
{
12+
"description": "a valid time string with leap second",
13+
"data": "23:59:60Z",
14+
"valid": true
15+
},
16+
{
17+
"description": "a valid time string with second fraction",
818
"data": "08:30:06.283185Z",
919
"valid": true
1020
},
21+
{
22+
"description": "a valid time string with plus offset",
23+
"data": "08:30:06+00:20",
24+
"valid": true
25+
},
26+
{
27+
"description": "a valid time string with minus offset",
28+
"data": "08:30:06-08:00",
29+
"valid": true
30+
},
31+
{
32+
"description": "a valid time string with case-insensitive Z",
33+
"data": "08:30:06z",
34+
"valid": true
35+
},
36+
{
37+
"description": "an invalid time string with invalid hour",
38+
"data": "24:00:00Z",
39+
"valid": false
40+
},
41+
{
42+
"description": "an invalid time string with invalid minute",
43+
"data": "00:60:00Z",
44+
"valid": false
45+
},
46+
{
47+
"description": "an invalid time string with invalid second",
48+
"data": "00:00:61Z",
49+
"valid": false
50+
},
51+
{
52+
"description": "an invalid time string with invalid leap second (wrong hour)",
53+
"data": "22:59:60Z",
54+
"valid": false
55+
},
56+
{
57+
"description": "an invalid time string with invalid leap second (wrong minute)",
58+
"data": "23:58:60Z",
59+
"valid": false
60+
},
61+
{
62+
"description": "an invalid time string with invalid time numoffset hour",
63+
"data": "01:02:03+24:00",
64+
"valid": false
65+
},
66+
{
67+
"description": "an invalid time string with invalid time numoffset minute",
68+
"data": "01:02:03+00:60",
69+
"valid": false
70+
},
71+
{
72+
"description": "an invalid time string with invalid time with both Z and numoffset",
73+
"data": "01:02:03Z+00:60",
74+
"valid": false
75+
},
1176
{
1277
"description": "an invalid time string",
1378
"data": "08:30:06 PST",

0 commit comments

Comments
 (0)