Fix cache keys for bundled resoures in transform.Unmarshal

Fixes #6327
This commit is contained in:
Bjørn Erik Pedersen 2019-09-12 19:53:31 +02:00
parent fcfa6f33bb
commit c0d7573677
3 changed files with 32 additions and 2 deletions

View file

@ -301,3 +301,33 @@ The content.
b.CreateSites().Build(BuildCfg{})
}
func TestBundleMany(t *testing.T) {
b := newTestSitesBuilder(t).WithSimpleConfigFile()
for i := 1; i <= 50; i++ {
b.WithContent(fmt.Sprintf("bundle%d/index.md", i), fmt.Sprintf(`
---
title: "Page %d"
---
`, i))
b.WithSourceFile(fmt.Sprintf("content/bundle%d/data.yaml", i), fmt.Sprintf(`
data: v%d
`, i))
}
b.WithTemplatesAdded("_default/single.html", `
{{ $yaml := .Resources.GetMatch "*.yaml" }}
{{ $data := $yaml | transform.Unmarshal }}
data content: {{ $yaml.Content | safeHTML }}
data unmarshaled: {{ $data.data }}
`)
b.CreateSites().Build(BuildCfg{})
for i := 1; i <= 50; i++ {
b.AssertFileContent(fmt.Sprintf("public/bundle%d/data.yaml", i), fmt.Sprintf("data: v%d", i))
b.AssertFileContent(fmt.Sprintf("public/bundle%d/index.html", i), fmt.Sprintf("data unmarshaled: v%d", i))
}
}

View file

@ -213,7 +213,7 @@ func (l *genericResource) Data() interface{} {
}
func (l *genericResource) Key() string {
return l.relTargetDirFile.path()
return l.RelPermalink()
}
func (l *genericResource) MediaType() media.Type {

View file

@ -52,7 +52,7 @@ func TestGenericResourceWithLinkFacory(t *testing.T) {
c.Assert(r.Permalink(), qt.Equals, "https://example.com/foo/foo.css")
c.Assert(r.RelPermalink(), qt.Equals, "/foo/foo.css")
c.Assert(r.Key(), qt.Equals, "foo.css")
c.Assert(r.Key(), qt.Equals, "/foo/foo.css")
c.Assert(r.ResourceType(), qt.Equals, "css")
}