@@ -196,6 +196,9 @@ fn test_parse_rfc3339() {
196196 ['2024-10-19T22:47:08.9+00:00' , '2024-10-19 22:47:08.900000' ],
197197 ['2024-10-20T01:47:08+03:00' , '2024-10-19 22:47:08.000000' ],
198198 ['2024-10-20T01:47:08.981+03:00' , '2024-10-19 22:47:08.981000' ],
199+ ['1979-05-27t07:32:00z' , '1979-05-27 07:32:00.000000' ],
200+ ['1979-05-27 07:32:00Z' , '1979-05-27 07:32:00.000000' ],
201+ ['1979-05-27T00:32:00.999999Z' , '1979-05-27 00:32:00.999999' ],
199202 ]
200203 for pair in pairs {
201204 input , expected := pair[0 ], pair[1 ]
@@ -208,18 +211,23 @@ fn test_parse_rfc3339() {
208211 }
209212 assert invalid_rfc3339 ('22:47:08Z' ) == 'missing date part of RFC 3339'
210213 assert invalid_rfc3339 ('01:47:08.981+03:00' ) == 'missing date part of RFC 3339'
211- assert invalid_rfc3339 ('2006-01-00 ' ) == 'date error: invalid day 0'
212- assert invalid_rfc3339 ('2006-01-32 ' ) == 'date error: invalid day 32'
213- assert invalid_rfc3339 ('2006-01-88 ' ) == 'date error: invalid day 88'
214- assert invalid_rfc3339 ('2006-00-01 ' ) == 'date error: invalid month 0'
215- assert invalid_rfc3339 ('2006-13-01 ' ) == 'date error: invalid month 13'
216- assert invalid_rfc3339 ('2006-77-01 ' ) == 'date error: invalid month 77'
214+ assert invalid_rfc3339 ('2006-01-00T00:00:00Z ' ) == 'date error: invalid day 0'
215+ assert invalid_rfc3339 ('2006-01-32T00:00:00Z ' ) == 'date error: invalid day 32'
216+ assert invalid_rfc3339 ('2006-01-88T00:00:00Z ' ) == 'date error: invalid day 88'
217+ assert invalid_rfc3339 ('2006-00-01T00:00:00Z ' ) == 'date error: invalid month 0'
218+ assert invalid_rfc3339 ('2006-13-01T00:00:00Z ' ) == 'date error: invalid month 13'
219+ assert invalid_rfc3339 ('2006-77-01T00:00:00Z ' ) == 'date error: invalid month 77'
217220 assert invalid_rfc3339 ('2006-01-01T24:47:08Z' ) == 'invalid hour: 24'
218221 assert invalid_rfc3339 ('2006-01-01T99:47:08Z' ) == 'invalid hour: 99'
219222 assert invalid_rfc3339 ('2006-01-01T23:60:08Z' ) == 'invalid minute: 60'
220223 assert invalid_rfc3339 ('2006-01-01T23:99:08Z' ) == 'invalid minute: 99'
221224 assert invalid_rfc3339 ('2006-01-01T23:59:60Z' ) == 'invalid second: 60'
222225 assert invalid_rfc3339 ('2006-01-01T23:59:99Z' ) == 'invalid second: 99'
226+ assert invalid_rfc3339 ('1979-05-27X07:32:00Z' ) == 'invalid date-time separator:X'
227+ assert invalid_rfc3339 ('1979-05-27T07:32:00' ) == 'timezone error: datetime string is too short'
228+ assert invalid_rfc3339 ('1979-05-27' ) == 'date-time too short to parse'
229+ assert invalid_rfc3339 ('1979-05-27T00:32:00.999999' ) == 'timezone error: expected "Z" or "z" or "+" or "-" in position 26, not "9"'
230+ assert invalid_rfc3339 ('1979-05-27T00:32:00.' ) == 'timezone error: expected "Z" or "z" at the end of the string'
223231}
224232
225233fn test_ad_second_to_parse_result_in_2001 () {
0 commit comments