}
+// Issue #1934
+func TestYAMLMenuWithMultipleEntries(t *testing.T) {
+ viper.Reset()
+ defer viper.Reset()
+
+ ps1 := []byte(`---
+title: "Yaml 1"
+weight: 5
+menu: ["p_one", "p_two"]
+---
+Yaml Front Matter with Menu Pages`)
+
+ ps2 := []byte(`---
+title: "Yaml 2"
+weight: 5
+menu:
+ p_three:
+ p_four:
+---
+Yaml Front Matter with Menu Pages`)
+
+ s := setupMenuTests(t, []source.ByteSource{
+ {filepath.FromSlash("sect/yaml1.md"), ps1},
+ {filepath.FromSlash("sect/yaml2.md"), ps2}})
+
+ p1 := s.Pages[0]
+ assert.Len(t, p1.Menus(), 2, "List YAML")
+ p2 := s.Pages[1]
+ assert.Len(t, p2.Menus(), 2, "Map YAML")
+
+}
+
// issue #719
func TestMenuWithUnicodeURLs(t *testing.T) {
for _, mname := range mnames {
me.Menu = mname
p.pageMenus[mname] = &me
- return
}
+ return
}
// Could be a structured menu entry
for name, menu := range menus {
menuEntry := MenuEntry{Name: p.LinkTitle(), URL: link, Weight: p.Weight, Menu: name}
- jww.DEBUG.Printf("found menu: %q, in %q\n", name, p.Title)
+ if menu != nil {
+ jww.DEBUG.Printf("found menu: %q, in %q\n", name, p.Title)
+ ime, err := cast.ToStringMapE(menu)
+ if err != nil {
+ jww.ERROR.Printf("unable to process menus for %q: %s", p.Title, err)
+ }
- ime, err := cast.ToStringMapE(menu)
- if err != nil {
- jww.ERROR.Printf("unable to process menus for %q\n", p.Title)
+ menuEntry.MarshallMap(ime)
}
-
- menuEntry.MarshallMap(ime)
p.pageMenus[name] = &menuEntry
}
}