From 096a4b67b98259dabff5ebfbfd879a41999a1ed2 Mon Sep 17 00:00:00 2001 From: Baibhav Vatsa Date: Thu, 10 Oct 2019 20:16:15 -0500 Subject: [PATCH] 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 --- tpl/collections/collections.go | 2 +- tpl/collections/collections_test.go | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/tpl/collections/collections.go b/tpl/collections/collections.go index 19519987..eb6ecb9b 100644 --- a/tpl/collections/collections.go +++ b/tpl/collections/collections.go @@ -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") } diff --git a/tpl/collections/collections_test.go b/tpl/collections/collections_test.go index 8ea973f0..781f44e0 100644 --- a/tpl/collections/collections_test.go +++ b/tpl/collections/collections_test.go @@ -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{}}, -- 2.30.2