Short-date support (#298)

This commit is contained in:
Thomas Pelletier
2019-10-25 13:21:44 -04:00
committed by GitHub
parent 5edf9acd3e
commit 8a362ad712
11 changed files with 977 additions and 21 deletions
+68 -4
View File
@@ -197,7 +197,7 @@ func TestFloatsWithExponents(t *testing.T) {
tree, err := Load("a = 5e+22\nb = 5E+22\nc = -5e+22\nd = -5e-22\ne = 6.626e-34")
assertTree(t, tree, err, map[string]interface{}{
"a": float64(5e+22),
"b": float64(5E+22),
"b": float64(5e+22),
"c": float64(-5e+22),
"d": float64(-5e-22),
"e": float64(6.626e-34),
@@ -225,10 +225,74 @@ func TestDateNano(t *testing.T) {
})
}
func TestDateSpaceDelimiter(t *testing.T) {
tree, err := Load("odt4 = 1979-05-27 07:32:00Z")
func TestLocalDateTime(t *testing.T) {
tree, err := Load("a = 1979-05-27T07:32:00")
assertTree(t, tree, err, map[string]interface{}{
"odt4": time.Date(1979, time.May, 27, 7, 32, 0, 0, time.UTC),
"a": LocalDateTime{
Date: LocalDate{
Year: 1979,
Month: 5,
Day: 27,
},
Time: LocalTime{
Hour: 7,
Minute: 32,
Second: 0,
Nanosecond: 0,
}},
})
}
func TestLocalDateTimeNano(t *testing.T) {
tree, err := Load("a = 1979-05-27T07:32:00.999999")
assertTree(t, tree, err, map[string]interface{}{
"a": LocalDateTime{
Date: LocalDate{
Year: 1979,
Month: 5,
Day: 27,
},
Time: LocalTime{
Hour: 7,
Minute: 32,
Second: 0,
Nanosecond: 999999000,
}},
})
}
func TestLocalDate(t *testing.T) {
tree, err := Load("a = 1979-05-27")
assertTree(t, tree, err, map[string]interface{}{
"a": LocalDate{
Year: 1979,
Month: 5,
Day: 27,
},
})
}
func TestLocalTime(t *testing.T) {
tree, err := Load("a = 07:32:00")
assertTree(t, tree, err, map[string]interface{}{
"a": LocalTime{
Hour: 7,
Minute: 32,
Second: 0,
Nanosecond: 0,
},
})
}
func TestLocalTimeNano(t *testing.T) {
tree, err := Load("a = 00:32:00.999999")
assertTree(t, tree, err, map[string]interface{}{
"a": LocalTime{
Hour: 0,
Minute: 32,
Second: 0,
Nanosecond: 999999000,
},
})
}