Add time.Time support in ge, gt, le, lt

Fixes #1593
This commit is contained in:
Bjørn Erik Pedersen 2015-11-20 11:53:25 +01:00
parent 8d8fa7222f
commit 35abd179e2
2 changed files with 14 additions and 1 deletions

View file

@ -112,6 +112,11 @@ func compareGetFloat(a interface{}, b interface{}) (float64, float64) {
str := av.String() str := av.String()
leftStr = &str leftStr = &str
} }
case reflect.Struct:
switch av.Type() {
case timeType:
left = float64(timeUnix(av))
}
} }
bv := reflect.ValueOf(b) bv := reflect.ValueOf(b)
@ -129,7 +134,11 @@ func compareGetFloat(a interface{}, b interface{}) (float64, float64) {
str := bv.String() str := bv.String()
rightStr = &str rightStr = &str
} }
case reflect.Struct:
switch bv.Type() {
case timeType:
right = float64(timeUnix(bv))
}
} }
switch { switch {

View file

@ -5,6 +5,7 @@ import (
"encoding/base64" "encoding/base64"
"errors" "errors"
"fmt" "fmt"
"github.com/spf13/cast"
"html/template" "html/template"
"path" "path"
"reflect" "reflect"
@ -81,6 +82,9 @@ func doTestCompare(t *testing.T, tp tstCompareType, funcUnderTest func(a, b inte
{"8", "5", 1}, {"8", "5", 1},
{"5", "0001", 1}, {"5", "0001", 1},
{[]int{100, 99}, []int{1, 2, 3, 4}, -1}, {[]int{100, 99}, []int{1, 2, 3, 4}, -1},
{cast.ToTime("2015-11-20"), cast.ToTime("2015-11-20"), 0},
{cast.ToTime("2015-11-19"), cast.ToTime("2015-11-20"), -1},
{cast.ToTime("2015-11-20"), cast.ToTime("2015-11-19"), 1},
} { } {
result := funcUnderTest(this.left, this.right) result := funcUnderTest(this.left, this.right)
success := false success := false