From 7c3dceeaedada1f4e7650864d8e23044c6129e46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Pedersen?= Date: Sat, 6 Feb 2016 22:53:59 +0100 Subject: [PATCH] Fix buggy Menu.Limit() --- hugolib/menu.go | 2 +- hugolib/menu_test.go | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/hugolib/menu.go b/hugolib/menu.go index 4e3970fda..2e2670b34 100644 --- a/hugolib/menu.go +++ b/hugolib/menu.go @@ -157,7 +157,7 @@ func (m Menu) Sort() { } func (m Menu) Limit(n int) Menu { - if len(m) < n { + if len(m) > n { return m[0:n] } return m diff --git a/hugolib/menu_test.go b/hugolib/menu_test.go index 33fa0a25f..5687454c2 100644 --- a/hugolib/menu_test.go +++ b/hugolib/menu_test.go @@ -480,6 +480,23 @@ func TestTaxonomyNodeMenu(t *testing.T) { } } +func TestMenuLimit(t *testing.T) { + viper.Reset() + defer viper.Reset() + + s := setupMenuTests(t, MENU_PAGE_SOURCES) + m := *s.Menus["main"] + + // main menu has 4 entries + firstTwo := m.Limit(2) + assert.Equal(t, 2, len(firstTwo)) + for i := 0; i < 2; i++ { + assert.Equal(t, m[i], firstTwo[i]) + } + assert.Equal(t, m, m.Limit(4)) + assert.Equal(t, m, m.Limit(5)) +} + func TestHomeNodeMenu(t *testing.T) { viper.Reset() defer viper.Reset()