From 8d7607aed10b3fe7373126ff5fa7dae36c559d7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Pedersen?= Date: Fri, 12 Apr 2019 10:44:21 +0200 Subject: [PATCH] hugolib: Add a test for parent's resources in shortcode See #5833 --- hugolib/shortcode_test.go | 46 +++++++++++++++++++++++++++++---------- 1 file changed, 35 insertions(+), 11 deletions(-) diff --git a/hugolib/shortcode_test.go b/hugolib/shortcode_test.go index 52b21649e..3320e642c 100644 --- a/hugolib/shortcode_test.go +++ b/hugolib/shortcode_test.go @@ -896,33 +896,57 @@ C-%s` } // https://github.com/gohugoio/hugo/issues/5833 -func TestShortcodeParentResources(t *testing.T) { +func TestShortcodeParentResourcesOnRebuild(t *testing.T) { t.Parallel() - b := newTestSitesBuilder(t).WithSimpleConfigFile() - b.WithTemplatesAdded("shortcodes/c.html", ` + b := newTestSitesBuilder(t).Running().WithSimpleConfigFile() + b.WithTemplatesAdded( + "index.html", ` +{{ $b := .Site.GetPage "b1" }} +{{$p := $b.Resources.GetMatch "p1*" }} +Content: {{ $p.Content }} +{{ $article := .Site.GetPage "blog/article" }} +Article Content: {{ $article.Content }} +`, + "shortcodes/c.html", ` {{ range .Page.Parent.Resources }} -* {{ .Name }}: {{ .RelPermalink }} +* Parent resource: {{ .Name }}: {{ .RelPermalink }} {{ end }} `) - b.WithContent("b1/index.md", ` + pageContent := ` --- title: MyPage --- -{{< c >}} +SHORTCODE: {{< c >}} -`, +` + + b.WithContent("b1/index.md", pageContent, "b1/logo.png", "PNG logo", + "b1/p1.md", pageContent, + "blog/_index.md", pageContent, + "blog/logo-article.png", "PNG logo", + "blog/article.md", pageContent, ) b.Build(BuildCfg{}) - b.AssertFileContent("public/index.html", - "List Content:

Logo:P1:|P2:logo.png/PNG logo|:P1: P1:|P2:docs1p1/

C-s1p1

\n|", - "BP1:P1:|P2:docbp1/

C-bp1

", - ) + assert := func() { + b.AssertFileContent("public/index.html", + "Parent resource: logo.png: /b1/logo.png", + "Article Content:

SHORTCODE: \n\n* Parent resource: logo-article.png: /blog/logo-article.png", + ) + } + + assert() + + b.EditFiles("b1/index.md", pageContent+" Edit.") + + b.Build(BuildCfg{}) + + assert() }