Skip to content
Permalink
Browse files

hugolib: Fix cascade in server mode

Fixes #6538
  • Loading branch information
bep committed Nov 26, 2019
1 parent da53523 commit 01766439246add22a6e6d0c12f932610be55cd8a
Showing with 57 additions and 1 deletion.
  1. +44 −0 hugolib/cascade_test.go
  2. +13 −1 hugolib/pages_map.go
@@ -100,6 +100,50 @@ func TestCascade(t *testing.T) {

}

func TestCascadeEdit(t *testing.T) {
p1Content := `---
title: P1
---
`
b := newTestSitesBuilder(t).Running()
b.WithTemplatesAdded("_default/single.html", `Banner: {{ .Params.banner }}|Layout: {{ .Layout }}|Type: {{ .Type }}|Content: {{ .Content }}`)
b.WithContent("post/_index.md", `
---
title: Post
cascade:
banner: post.jpg
layout: postlayout
type: posttype
---
`)

b.WithContent("post/dir/_index.md", `
---
title: Dir
---
`, "post/dir/p1.md", p1Content)
b.Build(BuildCfg{})

assert := func() {
b.Helper()
b.AssertFileContent("public/post/dir/p1/index.html",
`Banner: post.jpg|`,
`Layout: postlayout`,
`Type: posttype`,
)
}

assert()

b.EditFiles("content/post/dir/p1.md", p1Content+"\ncontent edit")
b.Build(BuildCfg{})

assert()
b.AssertFileContent("public/post/dir/p1/index.html",
`content edit`,
)
}

func newCascadeTestBuilder(t testing.TB, langs []string) *sitesBuilder {
p := func(m map[string]interface{}) string {
var yamlStr string
@@ -148,7 +148,19 @@ func (m *pagesMap) addBucketFor(key string, p *pageState, meta map[string]interf

disabled := !m.s.isEnabled(p.Kind())

bucket := &pagesMapBucket{owner: p, view: isView, meta: meta, disabled: disabled}
var cascade map[string]interface{}
if p.bucket != nil {
cascade = p.bucket.cascade
}

bucket := &pagesMapBucket{
owner: p,
view: isView,
cascade: cascade,
meta: meta,
disabled: disabled,
}

p.bucket = bucket

m.r.Insert(key, bucket)

0 comments on commit 0176643

Please sign in to comment.
You can’t perform that action at this time.