From 446e606a098aeacbaaf89a53c7addd33cd888a74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Pedersen?= Date: Wed, 10 Aug 2016 08:51:57 +0200 Subject: [PATCH] Add data tests Updates #2309 --- hugolib/datafiles_test.go | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/hugolib/datafiles_test.go b/hugolib/datafiles_test.go index 36325dc61..751c79ba5 100644 --- a/hugolib/datafiles_test.go +++ b/hugolib/datafiles_test.go @@ -16,10 +16,12 @@ package hugolib import ( "path/filepath" "reflect" + "strings" "testing" "github.com/spf13/hugo/parser" "github.com/spf13/hugo/source" + "github.com/stretchr/testify/require" ) func TestDataDirJSON(t *testing.T) { @@ -104,3 +106,25 @@ func doTestDataDir(t *testing.T, expected interface{}, sources []source.Input) { t.Errorf("Expected structure\n%#v got\n%#v", expected, s.Data) } } + +func TestDataFromShortcode(t *testing.T) { + testCommonResetState() + writeSource(t, "data/hugo.toml", "slogan = \"Hugo Rocks!\"") + writeSource(t, "layouts/_default/single.html", ` +* Slogan from template: {{ .Site.Data.hugo.slogan }} +* {{ .Content }}`) + writeSource(t, "layouts/shortcodes/d.html", `{{ .Page.Site.Data.hugo.slogan }}`) + writeSource(t, "content/c.md", `--- +--- +Slogan from shortcode: {{< d >}} +`) + + h, err := newHugoSitesDefaultLanguage() + require.NoError(t, err) + require.NoError(t, h.Build(BuildCfg{})) + + content := readSource(t, "public/c/index.html") + require.True(t, strings.Contains(content, "Slogan from template: Hugo Rocks!"), content) + require.True(t, strings.Contains(content, "Slogan from shortcode: Hugo Rocks!"), content) + +}