commit 446e606a098aeacbaaf89a53c7addd33cd888a74
parent 5b331a18d761fa897c08acf28fd7e2d498c3b1e9
Author: Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Date: Wed, 10 Aug 2016 08:51:57 +0200
Add data tests
Updates #2309
Diffstat:
1 file changed, 24 insertions(+), 0 deletions(-)
diff --git 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)
+
+}