mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-07 20:30:36 -05:00
parent
ddd8c77938
commit
4c04d7101a
2 changed files with 9 additions and 0 deletions
|
@ -330,6 +330,10 @@ func In(l interface{}, v interface{}) bool {
|
|||
case reflect.Array, reflect.Slice:
|
||||
for i := 0; i < lv.Len(); i++ {
|
||||
lvv := lv.Index(i)
|
||||
lvv, isNil := indirect(lvv)
|
||||
if isNil {
|
||||
continue
|
||||
}
|
||||
switch lvv.Kind() {
|
||||
case reflect.String:
|
||||
if vv.Type() == lvv.Type() && vv.String() == lvv.String() {
|
||||
|
|
|
@ -354,9 +354,14 @@ func TestIn(t *testing.T) {
|
|||
expect bool
|
||||
}{
|
||||
{[]string{"a", "b", "c"}, "b", true},
|
||||
{[]interface{}{"a", "b", "c"}, "b", true},
|
||||
{[]interface{}{"a", "b", "c"}, "d", false},
|
||||
{[]string{"a", "b", "c"}, "d", false},
|
||||
{[]string{"a", "12", "c"}, 12, false},
|
||||
{[]int{1, 2, 4}, 2, true},
|
||||
{[]interface{}{1, 2, 4}, 2, true},
|
||||
{[]interface{}{1, 2, 4}, nil, false},
|
||||
{[]interface{}{nil}, nil, false},
|
||||
{[]int{1, 2, 4}, 3, false},
|
||||
{[]float64{1.23, 2.45, 4.67}, 1.23, true},
|
||||
{[]float64{1.234567, 2.45, 4.67}, 1.234568, false},
|
||||
|
|
Loading…
Reference in a new issue