package toml import ( "testing" ) func TestDateTime(t *testing.T) { for _, test := range []parseTest{ {``, []string{`Error: unexpected end of file (expected a date and/or time) at start of file`}}, {`1979-05-27`, []string{`1979-05-27`}}, {`00:00:00`, []string{`00:00:00`}}, {`23:59:59`, []string{`23:59:59`}}, {`12:10:08.12121212121212`, []string{`12:10:08.121212121`}}, {`1979-05-28T01:01:01`, []string{`1979-05-28 01:01:01`}}, {`1979-05-28 01:01:01`, []string{`1979-05-28 01:01:01`}}, {`1979-05-27T07:32:00Z`, []string{`1979-05-27T07:32:00Z`}}, {`1979-05-27 07:33:00Z`, []string{`1979-05-27T07:33:00Z`}}, {`1979-05-27 07:34:00+07:00`, []string{`1979-05-27T07:34:00+07:00`}}, {`1979-05-27 07:34:00-07:00`, []string{`1979-05-27T07:34:00-07:00`}}, {`1985-03-31 23:59:59+00:00`, []string{`1985-03-31T23:59:59Z`}}, {`2000-09-10 00:00:00.000000000+00:00`, []string{`2000-09-10T00:00:00Z`}}, {`2003-11-01 01:02:03.999999999999+10:00`, []string{`2003-11-01T01:02:03.999999999+10:00`}}, {`2007-12-25 04:00:04.1111-10:30`, []string{`2007-12-25T04:00:04.1111-10:30`}}, {`2021-02-01 10:10:10.101010203040Z`, []string{`2021-02-01T10:10:10.101010203Z`}}, // TODO ugly column, should be at start or at the actual wrong part {`2000-13-01`, []string{`Error: Cannot parse value 02000-13-01: parsing time "2000-13-01": month out of range at line 1, column 11`}}, {`2000-02-31`, []string{`Error: Cannot parse value 02000-02-31: parsing time "2000-02-31": day out of range at line 1, column 11`}}, {`25:01:01`, []string{`Error: Cannot parse value 025:01:01: parsing time "25:01:01": hour out of range at line 1, column 9`}}, } { p := newParser() testParseHandler(t, p, p.startDateTime, test) } }