diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2016-02-07 12:34:43 +0100 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2016-02-07 12:34:43 +0100 |
commit | 75044c199f02b3aa6690d5f8e1884d6971a49246 (patch) | |
tree | 2f0aad06c87e63cf1d68e27198558d1477c81b44 /hugolib/menu_test.go | |
parent | 5995eaaa08a233ca763ebe6fe81d606dc9239dc2 (diff) |
Add menu sort tests
Diffstat (limited to 'hugolib/menu_test.go')
-rw-r--r-- | hugolib/menu_test.go | 26 |
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() |