169 lines
5.7 KiB
JSON
169 lines
5.7 KiB
JSON
[
|
|
{
|
|
"description": "validation of time strings",
|
|
"schema": {"format": "time"},
|
|
"tests": [
|
|
{
|
|
"description": "a valid time string",
|
|
"data": "08:30:06Z",
|
|
"valid": true
|
|
},
|
|
{
|
|
"description": "a valid time string with leap second, Zulu",
|
|
"data": "23:59:60Z",
|
|
"valid": true
|
|
},
|
|
{
|
|
"description": "invalid leap second, Zulu (wrong hour)",
|
|
"data": "22:59:60Z",
|
|
"valid": false
|
|
},
|
|
{
|
|
"description": "invalid leap second, Zulu (wrong minute)",
|
|
"data": "23:58:60Z",
|
|
"valid": false
|
|
},
|
|
{
|
|
"description": "valid leap second, zero time-offset",
|
|
"data": "23:59:60+00:00",
|
|
"valid": true
|
|
},
|
|
{
|
|
"description": "invalid leap second, zero time-offset (wrong hour)",
|
|
"data": "22:59:60+00:00",
|
|
"valid": false
|
|
},
|
|
{
|
|
"description": "invalid leap second, zero time-offset (wrong minute)",
|
|
"data": "23:58:60+00:00",
|
|
"valid": false
|
|
},
|
|
{
|
|
"description": "valid leap second, positive time-offset",
|
|
"data": "01:29:60+01:30",
|
|
"valid": true
|
|
},
|
|
{
|
|
"description": "valid leap second, large positive time-offset",
|
|
"data": "23:29:60+23:30",
|
|
"valid": true
|
|
},
|
|
{
|
|
"description": "invalid leap second, positive time-offset (wrong hour)",
|
|
"data": "23:59:60+01:00",
|
|
"valid": false
|
|
},
|
|
{
|
|
"description": "invalid leap second, positive time-offset (wrong minute)",
|
|
"data": "23:59:60+00:30",
|
|
"valid": false
|
|
},
|
|
{
|
|
"description": "valid leap second, negative time-offset",
|
|
"data": "15:59:60-08:00",
|
|
"valid": true
|
|
},
|
|
{
|
|
"description": "valid leap second, large negative time-offset",
|
|
"data": "00:29:60-23:30",
|
|
"valid": true
|
|
},
|
|
{
|
|
"description": "invalid leap second, negative time-offset (wrong hour)",
|
|
"data": "23:59:60-01:00",
|
|
"valid": false
|
|
},
|
|
{
|
|
"description": "invalid leap second, negative time-offset (wrong minute)",
|
|
"data": "23:59:60-00:30",
|
|
"valid": false
|
|
},
|
|
{
|
|
"description": "a valid time string with second fraction",
|
|
"data": "23:20:50.52Z",
|
|
"valid": true
|
|
},
|
|
{
|
|
"description": "a valid time string with precise second fraction",
|
|
"data": "08:30:06.283185Z",
|
|
"valid": true
|
|
},
|
|
{
|
|
"description": "a valid time string with plus offset",
|
|
"data": "08:30:06+00:20",
|
|
"valid": true
|
|
},
|
|
{
|
|
"description": "a valid time string with minus offset",
|
|
"data": "08:30:06-08:00",
|
|
"valid": true
|
|
},
|
|
{
|
|
"description": "a valid time string with case-insensitive Z",
|
|
"data": "08:30:06z",
|
|
"valid": true
|
|
},
|
|
{
|
|
"description": "an invalid time string with invalid hour",
|
|
"data": "24:00:00Z",
|
|
"valid": false
|
|
},
|
|
{
|
|
"description": "an invalid time string with invalid minute",
|
|
"data": "00:60:00Z",
|
|
"valid": false
|
|
},
|
|
{
|
|
"description": "an invalid time string with invalid second",
|
|
"data": "00:00:61Z",
|
|
"valid": false
|
|
},
|
|
{
|
|
"description": "an invalid time string with invalid leap second (wrong hour)",
|
|
"data": "22:59:60Z",
|
|
"valid": false
|
|
},
|
|
{
|
|
"description": "an invalid time string with invalid leap second (wrong minute)",
|
|
"data": "23:58:60Z",
|
|
"valid": false
|
|
},
|
|
{
|
|
"description": "an invalid time string with invalid time numoffset hour",
|
|
"data": "01:02:03+24:00",
|
|
"valid": false
|
|
},
|
|
{
|
|
"description": "an invalid time string with invalid time numoffset minute",
|
|
"data": "01:02:03+00:60",
|
|
"valid": false
|
|
},
|
|
{
|
|
"description": "an invalid time string with invalid time with both Z and numoffset",
|
|
"data": "01:02:03Z+00:30",
|
|
"valid": false
|
|
},
|
|
{
|
|
"description": "an invalid offset indicator",
|
|
"data": "08:30:06 PST",
|
|
"valid": false
|
|
},
|
|
{
|
|
"description": "only RFC3339 not all of ISO 8601 are valid",
|
|
"data": "01:01:01,1111",
|
|
"valid": false
|
|
},
|
|
{
|
|
"description": "no time offset",
|
|
"data": "12:00:00",
|
|
"valid": false
|
|
},
|
|
{
|
|
"description": "non-ascii digits should be rejected",
|
|
"data": "1২:00:00Z",
|
|
"valid": false
|
|
}
|
|
]
|
|
}
|
|
]
|