mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-07 20:30:36 -05:00
tpl: Last now accepts 0 as limit
Modified the if conditional because of which last threw an error if 0 was passed as limit. The function now returns an empty slice if it is called with 0 as limit. The behavior of first and last is now the same when 0 is passed as limit. Also added tests to test the new behavior. Fixes #6419
This commit is contained in:
parent
5f1aafafb4
commit
0e75af74db
2 changed files with 3 additions and 1 deletions
|
@ -378,7 +378,7 @@ func (ns *Namespace) Last(limit interface{}, seq interface{}) (interface{}, erro
|
|||
return nil, err
|
||||
}
|
||||
|
||||
if limitv < 1 {
|
||||
if limitv < 0 {
|
||||
return nil, errors.New("can't return negative/empty count of items from sequence")
|
||||
}
|
||||
|
||||
|
|
|
@ -495,6 +495,8 @@ func TestLast(t *testing.T) {
|
|||
{int64(2), []int{100, 200, 300}, []int{200, 300}},
|
||||
{100, []int{100, 200}, []int{100, 200}},
|
||||
{"1", []int{100, 200, 300}, []int{300}},
|
||||
{"0", []int{100, 200, 300}, []int{}},
|
||||
{"0", []string{"a", "b", "c"}, []string{}},
|
||||
// errors
|
||||
{int64(-1), []int{100, 200, 300}, false},
|
||||
{"noint", []int{100, 200, 300}, false},
|
||||
|
|
Loading…
Reference in a new issue