Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion schemas/iso/datetime/2019/duration-calendar-basic.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@
"examples": [ "P00020110T223355", "P00010101T000000", "P00001231T235959" ],
"x-license": "https://github.com/sourcemeta/std/blob/main/LICENSE",
"type": "string",
"pattern": "^P(?:[0-9]{4}|[+-][0-9]{5,})(?:0[1-9]|1[0-2])(?:0[1-9]|[12][0-9]|3[01])T(?:[01][0-9]|2[0-3])(?:[0-5][0-9])(?:[0-5][0-9])$"
"pattern": "^P(?:[0-9]{4}|[+-][0-9]{5,})(?:(0[13578]|1[02])(0[1-9]|[12][0-9]|3[01])|(0[469]|11)(0[1-9]|[12][0-9]|30)|02(0[1-9]|1[0-9]|2[0-9]))T(?:[01][0-9]|2[0-3])(?:[0-5][0-9])(?:[0-5][0-9])$"
}
2 changes: 1 addition & 1 deletion schemas/iso/datetime/2019/duration-calendar-extended.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,5 @@
],
"x-license": "https://github.com/sourcemeta/std/blob/main/LICENSE",
"type": "string",
"pattern": "^P(?:[0-9]{4}|[+-][0-9]{5,})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])T(?:[01][0-9]|2[0-3]):(?:[0-5][0-9]):(?:[0-5][0-9])$"
"pattern": "^P(?:[0-9]{4}|[+-][0-9]{5,})-(?:(0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01])|(0[469]|11)-(0[1-9]|[12][0-9]|30)|02-(0[1-9]|1[0-9]|2[0-9]))T(?:[01][0-9]|2[0-3]):(?:[0-5][0-9]):(?:[0-5][0-9])$"
}
65 changes: 65 additions & 0 deletions test/iso/datetime/2019/duration-calendar-basic.test.json
Original file line number Diff line number Diff line change
Expand Up @@ -281,6 +281,71 @@
"description": "Invalid - second without leading zero (single digit)",
"data": "P00000101T00001",
"valid": false
},
{
"description": "Invalid - month 00",
"data": "P00010001T000000",
"valid": false
},
{
"description": "Invalid - month 13",
"data": "P00011301T000000",
"valid": false
},
{
"description": "Invalid - day 00",
"data": "P00010100T000000",
"valid": false
},
{
"description": "Invalid - day 32",
"data": "P00010132T000000",
"valid": false
},
{
"description": "Invalid - February 30",
"data": "P00010230T000000",
"valid": false
},
{
"description": "Invalid - February 31",
"data": "P00010231T000000",
"valid": false
},
{
"description": "Invalid - April 31",
"data": "P00010431T000000",
"valid": false
},
{
"description": "Invalid - June 31",
"data": "P00010631T000000",
"valid": false
},
{
"description": "Invalid - September 31",
"data": "P00010931T000000",
"valid": false
},
{
"description": "Invalid - November 31",
"data": "P00011131T000000",
"valid": false
},
{
"description": "Valid - February 29 (leap year validation is consumer responsibility)",
"data": "P00010229T000000",
"valid": true
},
{
"description": "Valid - April 30",
"data": "P00010430T000000",
"valid": true
},
{
"description": "Valid - January 31",
"data": "P00010131T000000",
"valid": true
}
]
}
65 changes: 65 additions & 0 deletions test/iso/datetime/2019/duration-calendar-extended.test.json
Original file line number Diff line number Diff line change
Expand Up @@ -281,6 +281,71 @@
"description": "Invalid - second without leading zero (single digit)",
"data": "P0000-01-01T00:00:1",
"valid": false
},
{
"description": "Invalid - month 00",
"data": "P0001-00-01T00:00:00",
"valid": false
},
{
"description": "Invalid - month 13",
"data": "P0001-13-01T00:00:00",
"valid": false
},
{
"description": "Invalid - day 00",
"data": "P0001-01-00T00:00:00",
"valid": false
},
{
"description": "Invalid - day 32",
"data": "P0001-01-32T00:00:00",
"valid": false
},
{
"description": "Invalid - February 30",
"data": "P0001-02-30T00:00:00",
"valid": false
},
{
"description": "Invalid - February 31",
"data": "P0001-02-31T00:00:00",
"valid": false
},
{
"description": "Invalid - April 31",
"data": "P0001-04-31T00:00:00",
"valid": false
},
{
"description": "Invalid - June 31",
"data": "P0001-06-31T00:00:00",
"valid": false
},
{
"description": "Invalid - September 31",
"data": "P0001-09-31T00:00:00",
"valid": false
},
{
"description": "Invalid - November 31",
"data": "P0001-11-31T00:00:00",
"valid": false
},
{
"description": "Valid - February 29 (leap year validation is consumer responsibility)",
"data": "P0001-02-29T00:00:00",
"valid": true
},
{
"description": "Valid - April 30",
"data": "P0001-04-30T00:00:00",
"valid": true
},
{
"description": "Valid - January 31",
"data": "P0001-01-31T00:00:00",
"valid": true
}
]
}
40 changes: 40 additions & 0 deletions test/iso/datetime/2019/duration-ordinal-basic.test.json
Original file line number Diff line number Diff line change
Expand Up @@ -261,6 +261,46 @@
"description": "Invalid - second without leading zero (single digit)",
"data": "P0000001T00001",
"valid": false
},
{
"description": "Invalid - day 000",
"data": "P0001000T000000",
"valid": false
},
{
"description": "Invalid - day 367",
"data": "P0001367T000000",
"valid": false
},
{
"description": "Invalid - day 400",
"data": "P0001400T000000",
"valid": false
},
{
"description": "Invalid - day 500",
"data": "P0001500T000000",
"valid": false
},
{
"description": "Invalid - day 999",
"data": "P0001999T000000",
"valid": false
},
{
"description": "Valid - day 366 (leap year validation is consumer responsibility)",
"data": "P0001366T000000",
"valid": true
},
{
"description": "Valid - day 001",
"data": "P0001001T000000",
"valid": true
},
{
"description": "Valid - day 365",
"data": "P0001365T000000",
"valid": true
}
]
}
40 changes: 40 additions & 0 deletions test/iso/datetime/2019/duration-ordinal-extended.test.json
Original file line number Diff line number Diff line change
Expand Up @@ -261,6 +261,46 @@
"description": "Invalid - second without leading zero (single digit)",
"data": "P0000-001T00:00:1",
"valid": false
},
{
"description": "Invalid - day 000",
"data": "P0001-000T00:00:00",
"valid": false
},
{
"description": "Invalid - day 367",
"data": "P0001-367T00:00:00",
"valid": false
},
{
"description": "Invalid - day 400",
"data": "P0001-400T00:00:00",
"valid": false
},
{
"description": "Invalid - day 500",
"data": "P0001-500T00:00:00",
"valid": false
},
{
"description": "Invalid - day 999",
"data": "P0001-999T00:00:00",
"valid": false
},
{
"description": "Valid - day 366 (leap year validation is consumer responsibility)",
"data": "P0001-366T00:00:00",
"valid": true
},
{
"description": "Valid - day 001",
"data": "P0001-001T00:00:00",
"valid": true
},
{
"description": "Valid - day 365",
"data": "P0001-365T00:00:00",
"valid": true
}
]
}