aboutsummaryrefslogtreecommitdiffhomepage
path: root/create/content_test.go
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <[email protected]>2017-02-05 10:20:06 +0700
committerBjørn Erik Pedersen <[email protected]>2017-02-17 17:15:26 +0100
commit93ca7c9e958e34469a337e4efcc7c75774ec50fd (patch)
tree5dfa296cfe74fd5ef8f0d41ea4078704f453aa04 /create/content_test.go
parente34af6ee30f70f5780a281e2fd8f4ed9b487ee61 (diff)
downloadhugo-93ca7c9e958e34469a337e4efcc7c75774ec50fd.tar.gz
hugo-93ca7c9e958e34469a337e4efcc7c75774ec50fd.zip
all: Refactor to nonglobal Viper, i18n etc.
This is a final rewrite that removes all the global state in Hugo, which also enables the use if `t.Parallel` in tests. Updates #2701 Fixes #3016
Diffstat (limited to 'create/content_test.go')
-rw-r--r--create/content_test.go43
1 files changed, 31 insertions, 12 deletions
diff --git a/create/content_test.go b/create/content_test.go
index fcfecff10..4ef230202 100644
--- a/create/content_test.go
+++ b/create/content_test.go
@@ -19,6 +19,8 @@ import (
"strings"
"testing"
+ "github.com/spf13/hugo/deps"
+
"github.com/spf13/hugo/hugolib"
"fmt"
@@ -33,7 +35,8 @@ import (
)
func TestNewContent(t *testing.T) {
- initViper()
+ v := viper.New()
+ initViper(v)
cases := []struct {
kind string
@@ -48,14 +51,17 @@ func TestNewContent(t *testing.T) {
}
for _, c := range cases {
- s, err := hugolib.NewEnglishSiteMem()
+ cfg, fs := newTestCfg()
+ h, err := hugolib.NewHugoSites(deps.DepsCfg{Cfg: cfg, Fs: fs})
require.NoError(t, err)
- require.NoError(t, initFs(s.Fs))
+ require.NoError(t, initFs(fs))
+
+ s := h.Sites[0]
require.NoError(t, create.NewContent(s, c.kind, c.path))
fname := filepath.Join("content", filepath.FromSlash(c.path))
- content := readFileFromFs(t, s.Fs.Source, fname)
+ content := readFileFromFs(t, fs.Source, fname)
for i, v := range c.expected {
found := strings.Contains(content, v)
if !found {
@@ -65,14 +71,14 @@ func TestNewContent(t *testing.T) {
}
}
-func initViper() {
- viper.Reset()
- viper.Set("metaDataFormat", "toml")
- viper.Set("archetypeDir", "archetypes")
- viper.Set("contentDir", "content")
- viper.Set("themesDir", "themes")
- viper.Set("layoutDir", "layouts")
- viper.Set("theme", "sample")
+func initViper(v *viper.Viper) {
+ v.Set("metaDataFormat", "toml")
+ v.Set("archetypeDir", "archetypes")
+ v.Set("contentDir", "content")
+ v.Set("themesDir", "themes")
+ v.Set("layoutDir", "layouts")
+ v.Set("i18nDir", "i18n")
+ v.Set("theme", "sample")
}
func initFs(fs *hugofs.Fs) error {
@@ -143,3 +149,16 @@ func readFileFromFs(t *testing.T, fs afero.Fs, filename string) string {
}
return string(b)
}
+
+func newTestCfg() (*viper.Viper, *hugofs.Fs) {
+
+ v := viper.New()
+ fs := hugofs.NewMem(v)
+
+ v.SetFs(fs.Source)
+
+ initViper(v)
+
+ return v, fs
+
+}