mirror of
https://github.com/gohugoio/hugo.git
synced 2024-12-23 18:51:02 +00:00
Add support for sort by boolean
This commit is contained in:
parent
dd31e80007
commit
04b1a6d997
2 changed files with 13 additions and 0 deletions
|
@ -218,6 +218,9 @@ func TestSort(t *testing.T) {
|
|||
map[interface{}]interface{}{"Title": "Foo", "Weight": 10},
|
||||
},
|
||||
},
|
||||
// test boolean values
|
||||
{[]bool{false, true, false}, "value", "asc", []bool{false, false, true}},
|
||||
{[]bool{false, true, false}, "value", "desc", []bool{true, false, false}},
|
||||
// test error cases
|
||||
{(*[]TstX)(nil), nil, "asc", false},
|
||||
{TstX{A: "a", B: "b"}, nil, "asc", false},
|
||||
|
|
|
@ -252,6 +252,11 @@ func (ns *Namespace) compareGet(a interface{}, b interface{}) (float64, float64)
|
|||
case timeType:
|
||||
left = float64(toTimeUnix(av))
|
||||
}
|
||||
case reflect.Bool:
|
||||
left = 0
|
||||
if av.Bool() {
|
||||
left = 1
|
||||
}
|
||||
}
|
||||
|
||||
bv := reflect.ValueOf(b)
|
||||
|
@ -275,6 +280,11 @@ func (ns *Namespace) compareGet(a interface{}, b interface{}) (float64, float64)
|
|||
case timeType:
|
||||
right = float64(toTimeUnix(bv))
|
||||
}
|
||||
case reflect.Bool:
|
||||
right = 0
|
||||
if bv.Bool() {
|
||||
right = 1
|
||||
}
|
||||
}
|
||||
|
||||
if ns.caseInsensitive && leftStr != nil && rightStr != nil {
|
||||
|
|
Loading…
Reference in a new issue