shithub: hugo

Download patch

ref: 7c3dceeaedada1f4e7650864d8e23044c6129e46
parent: a95426d40cf74d87fab793daf1aef375243bfb89
author: Bjørn Erik Pedersen <[email protected]>
date: Sat Feb 6 17:53:59 EST 2016

Fix buggy Menu.Limit()

--- a/hugolib/menu.go
+++ b/hugolib/menu.go
@@ -157,7 +157,7 @@
 }
 
 func (m Menu) Limit(n int) Menu {
-	if len(m) < n {
+	if len(m) > n {
 		return m[0:n]
 	}
 	return m
--- a/hugolib/menu_test.go
+++ b/hugolib/menu_test.go
@@ -480,6 +480,23 @@
 	}
 }
 
+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()