tpl: After now accepts 0 as index

Modified the if conditional because of which after threw an error if called with 0 as index. The function now returns the whole original slice if 0 is passed as an index. Also added tests to test the new behavior.

Fixes #6388
This commit is contained in:
Baibhav Vatsa 2019-10-10 20:16:15 -05:00 committed by Bjørn Erik Pedersen
parent bc70f2bf12
commit 096a4b67b9
2 changed files with 3 additions and 1 deletions

View file

@ -60,7 +60,7 @@ func (ns *Namespace) After(index interface{}, seq interface{}) (interface{}, err
return nil, err
}
if indexv < 1 {
if indexv < 0 {
return nil, errors.New("can't return negative/empty count of items from sequence")
}

View file

@ -50,6 +50,8 @@ func TestAfter(t *testing.T) {
{int64(2), []int{100, 200, 300}, []int{300}},
{100, []int{100, 200}, []int{}},
{"1", []int{100, 200, 300}, []int{200, 300}},
{0, []int{100, 200, 300, 400, 500}, []int{100, 200, 300, 400, 500}},
{0, []string{"a", "b", "c", "d", "e"}, []string{"a", "b", "c", "d", "e"}},
{int64(-1), []int{100, 200, 300}, false},
{"noint", []int{100, 200, 300}, false},
{2, []string{}, []string{}},