From: Bjørn Erik Pedersen Date: Fri, 20 Nov 2015 10:53:25 +0000 (+0100) Subject: Add time.Time support in ge, gt, le, lt X-Git-Tag: v0.15~42 X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=35abd179;p=brevno-suite%2Fhugo Add time.Time support in ge, gt, le, lt Fixes #1593 --- diff --git a/tpl/template_funcs.go b/tpl/template_funcs.go index 53666b92..8b5b71a2 100644 --- a/tpl/template_funcs.go +++ b/tpl/template_funcs.go @@ -112,6 +112,11 @@ func compareGetFloat(a interface{}, b interface{}) (float64, float64) { str := av.String() leftStr = &str } + case reflect.Struct: + switch av.Type() { + case timeType: + left = float64(timeUnix(av)) + } } bv := reflect.ValueOf(b) @@ -129,7 +134,11 @@ func compareGetFloat(a interface{}, b interface{}) (float64, float64) { str := bv.String() rightStr = &str } - + case reflect.Struct: + switch bv.Type() { + case timeType: + right = float64(timeUnix(bv)) + } } switch { diff --git a/tpl/template_funcs_test.go b/tpl/template_funcs_test.go index 67e23c03..9683e459 100644 --- a/tpl/template_funcs_test.go +++ b/tpl/template_funcs_test.go @@ -5,6 +5,7 @@ import ( "encoding/base64" "errors" "fmt" + "github.com/spf13/cast" "html/template" "path" "reflect" @@ -81,6 +82,9 @@ func doTestCompare(t *testing.T, tp tstCompareType, funcUnderTest func(a, b inte {"8", "5", 1}, {"5", "0001", 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) success := false