summaryrefslogtreecommitdiffstats
path: root/hugolib/menu_test.go
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2016-02-07 12:34:43 +0100
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2016-02-07 12:34:43 +0100
commit75044c199f02b3aa6690d5f8e1884d6971a49246 (patch)
tree2f0aad06c87e63cf1d68e27198558d1477c81b44 /hugolib/menu_test.go
parent5995eaaa08a233ca763ebe6fe81d606dc9239dc2 (diff)
Add menu sort tests
Diffstat (limited to 'hugolib/menu_test.go')
-rw-r--r--hugolib/menu_test.go26
1 files changed, 26 insertions, 0 deletions
diff --git a/hugolib/menu_test.go b/hugolib/menu_test.go
index 5687454c2..f0df5c967 100644
--- a/hugolib/menu_test.go
+++ b/hugolib/menu_test.go
@@ -497,6 +497,32 @@ func TestMenuLimit(t *testing.T) {
assert.Equal(t, m, m.Limit(5))
}
+func TestMenuSortByN(t *testing.T) {
+
+ for i, this := range []struct {
+ sortFunc func(p Menu) Menu
+ assertFunc func(p Menu) bool
+ }{
+ {(Menu).Sort, func(p Menu) bool { return p[0].Weight == 1 && p[1].Name == "nx" && p[2].Identifier == "ib" }},
+ {(Menu).ByWeight, func(p Menu) bool { return p[0].Weight == 1 && p[1].Name == "nx" && p[2].Identifier == "ib" }},
+ {(Menu).ByName, func(p Menu) bool { return p[0].Name == "na" }},
+ {(Menu).Reverse, func(p Menu) bool { return p[0].Identifier == "ib" && p[len(p)-1].Identifier == "ia" }},
+ } {
+ menu := Menu{&MenuEntry{Weight: 3, Name: "nb", Identifier: "ia"},
+ &MenuEntry{Weight: 1, Name: "na", Identifier: "ic"},
+ &MenuEntry{Weight: 1, Name: "nx", Identifier: "ic"},
+ &MenuEntry{Weight: 2, Name: "nb", Identifier: "ix"},
+ &MenuEntry{Weight: 2, Name: "nb", Identifier: "ib"}}
+
+ sorted := this.sortFunc(menu)
+
+ if !this.assertFunc(sorted) {
+ t.Errorf("[%d] sort error", i)
+ }
+ }
+
+}
+
func TestHomeNodeMenu(t *testing.T) {
viper.Reset()
defer viper.Reset()