}
}
-// TODO(bep) output fix or remove
-func _TestTaxonomyNodeMenu(t *testing.T) {
- t.Parallel()
-
- type taxRenderInfo struct {
- key string
- singular string
- plural string
- }
-
- s := setupMenuTests(t, menuPageSources, "canonifyURLs", true)
-
- for i, this := range []struct {
- menu string
- taxInfo taxRenderInfo
- menuItem *MenuEntry
- isMenuCurrent bool
- hasMenuCurrent bool
- }{
- {"tax", taxRenderInfo{key: "key", singular: "one", plural: "two"},
- findTestMenuEntryByID(s, "tax", "1"), true, false},
- {"tax", taxRenderInfo{key: "key", singular: "one", plural: "two"},
- findTestMenuEntryByID(s, "tax", "2"), true, false},
- {"tax", taxRenderInfo{key: "key", singular: "one", plural: "two"},
- &MenuEntry{Name: "Somewhere else", URL: "/somewhereelse"}, false, false},
- } {
-
- p := s.newTaxonomyPage(this.taxInfo.plural, this.taxInfo.key)
-
- isMenuCurrent := p.IsMenuCurrent(this.menu, this.menuItem)
- hasMenuCurrent := p.HasMenuCurrent(this.menu, this.menuItem)
-
- if isMenuCurrent != this.isMenuCurrent {
- t.Errorf("[%d] Wrong result from IsMenuCurrent: %v", i, isMenuCurrent)
- }
-
- if hasMenuCurrent != this.hasMenuCurrent {
- t.Errorf("[%d] Wrong result for menuItem %v for HasMenuCurrent: %v", i, this.menuItem, hasMenuCurrent)
- }
-
- }
-
- menuEntryXML := findTestMenuEntryByID(s, "tax", "xml")
-
- if strings.HasSuffix(menuEntryXML.URL, "/") {
- t.Error("RSS menu item should not be padded with trailing slash")
- }
-}
-
func TestMenuLimit(t *testing.T) {
t.Parallel()
s := setupMenuTests(t, menuPageSources)
contentType string
renderable bool
- Layout string
- layoutsCalculated []string
+ Layout string
+
+ // For npn-renderable pages (see IsRenderable), the content itself
+ // is used as template and the template name is stored here.
+ selfLayout string
linkTitle string
// TODO(bep): Check the IsRenderable logic.
if p.Kind == KindPage {
if !p.IsRenderable() {
- // TODO(bep) output
self := "__" + p.UniqueID()
_, err := p.s.Tmpl.GetClone().New(self).Parse(string(p.Content))
if err != nil {
return err
}
- p.layoutsCalculated = []string{self}
+ p.selfLayout = self
}
}
return nil
}
func newPageOutput(p *Page, createCopy bool, f output.Format) (*PageOutput, error) {
- // For tests
- // TODO(bep) output get rid of this
+ // TODO(bep) This is only needed for tests and we should get rid of it.
if p.targetPathDescriptorPrototype == nil {
if err := p.initTargetPathDescriptor(); err != nil {
return nil, err
}
func (p *PageOutput) layouts(layouts ...string) []string {
- // TODO(bep) output the logic here needs to be redone.
- if len(layouts) == 0 && len(p.layoutsCalculated) > 0 {
- return p.layoutsCalculated
+ if len(layouts) == 0 && p.selfLayout != "" {
+ return []string{p.selfLayout}
}
layoutOverride := ""