34 lines
1.7 KiB
Go
34 lines
1.7 KiB
Go
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)
|
|
}
|
|
}
|