ref: 691156c5baf81dc16a41856c4eaa814b3262a02e
parent: a988d3cf3631e07c7d2bf5bb9eb9be21ee21fd04
author: Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
date: Wed Feb 15 05:00:34 EST 2017
Use OS fs by default Fixes #3032
--- a/create/content_test.go
+++ b/create/content_test.go
@@ -48,7 +48,7 @@
}
for _, c := range cases {- s, err := hugolib.NewEnglishSite()
+ s, err := hugolib.NewEnglishSiteMem()
require.NoError(t, err)
require.NoError(t, initFs(s.Fs))
--- a/deps/deps.go
+++ b/deps/deps.go
@@ -67,8 +67,8 @@
}
if fs == nil {- // Default to the most used file systems.
- fs = hugofs.NewMem()
+ // Default to the production file systems.
+ fs = hugofs.NewDefault()
}
d := &Deps{--- a/hugolib/site.go
+++ b/hugolib/site.go
@@ -148,6 +148,7 @@
return s, nil
}
+// TODO(bep) globals clean below...
// NewSiteDefaultLang creates a new site in the default language.
// The site will have a template system loaded and ready to use.
// Note: This is mainly used in single site tests.
@@ -155,7 +156,7 @@
return newSiteForLang(helpers.NewDefaultLanguage(), withTemplate...)
}
-// NewSiteDefaultLang creates a new site in the default language.
+// NewEnglishSite creates a new site in English language.
// The site will have a template system loaded and ready to use.
// Note: This is mainly used in single site tests.
func NewEnglishSite(withTemplate ...func(templ tplapi.Template) error) (*Site, error) {@@ -162,7 +163,25 @@
return newSiteForLang(helpers.NewLanguage("en"), withTemplate...)}
-// NewSiteDefaultLang creates a new site in the default language.
+// NewEnglishSite creates a new site in the English language with in-memory Fs.
+// The site will have a template system loaded and ready to use.
+// Note: This is mainly used in single site tests.
+func NewEnglishSiteMem(withTemplate ...func(templ tplapi.Template) error) (*Site, error) {+ withTemplates := func(templ tplapi.Template) error {+ for _, wt := range withTemplate {+ if err := wt(templ); err != nil {+ return err
+ }
+ }
+ return nil
+ }
+
+ cfg := deps.DepsCfg{WithTemplate: withTemplates, Language: helpers.NewLanguage("en"), Fs: hugofs.NewMem()}+
+ return newSiteForCfg(cfg)
+}
+
+// newSiteForLang creates a new site in the given language.
func newSiteForLang(lang *helpers.Language, withTemplate ...func(templ tplapi.Template) error) (*Site, error) { withTemplates := func(templ tplapi.Template) error { for _, wt := range withTemplate {@@ -173,6 +192,12 @@
return nil
}
cfg := deps.DepsCfg{WithTemplate: withTemplates, Language: lang}+
+ return newSiteForCfg(cfg)
+
+}
+
+func newSiteForCfg(cfg deps.DepsCfg) (*Site, error) {s, err := newSite(cfg)
if err != nil {--- a/hugolib/site_test.go
+++ b/hugolib/site_test.go
@@ -355,6 +355,13 @@
}
+func TestNewSiteDefaultLang(t *testing.T) {+ s, err := NewSiteDefaultLang()
+ require.NoError(t, err)
+ require.Equal(t, hugofs.Os, s.Fs.Source)
+ require.Equal(t, hugofs.Os, s.Fs.Destination)
+}
+
// Issue #1176
func TestSectionNaming(t *testing.T) {--- a/tpl/template_funcs_test.go
+++ b/tpl/template_funcs_test.go
@@ -50,13 +50,17 @@
)
var (
- logger = jww.NewNotepad(jww.LevelFatal, jww.LevelFatal, os.Stdout, ioutil.Discard, "", log.Ldate|log.Ltime)
- defaultDepsConfig = deps.DepsCfg{+ logger = jww.NewNotepad(jww.LevelFatal, jww.LevelFatal, os.Stdout, ioutil.Discard, "", log.Ldate|log.Ltime)
+)
+
+func newDefaultDepsCfg() deps.DepsCfg {+ return deps.DepsCfg{ Language: helpers.NewLanguage("en"),+ Fs: hugofs.NewMem(),
Logger: logger,
TemplateProvider: DefaultTemplateProvider,
}
-)
+}
type tstNoStringer struct {}
@@ -268,7 +272,7 @@
tstInitTemplates()
- config := defaultDepsConfig
+ config := newDefaultDepsCfg()
config.WithTemplate = func(templ tplapi.Template) error { if _, err := templ.New("test").Parse(in); err != nil { t.Fatal("Got error on parse", err)@@ -2798,7 +2802,9 @@
tmp = tc.tmpl
}
- defaultDepsConfig.WithTemplate = func(templ tplapi.Template) error {+ cfg := newDefaultDepsCfg()
+
+ cfg.WithTemplate = func(templ tplapi.Template) error { err := templ.AddTemplate("testroot", tmp) if err != nil {return err
@@ -2811,7 +2817,7 @@
return nil
}
- de := deps.New(defaultDepsConfig)
+ de := deps.New(cfg)
require.NoError(t, de.LoadTemplates())
buf := new(bytes.Buffer)
@@ -2836,7 +2842,8 @@
}
func BenchmarkPartial(b *testing.B) {- defaultDepsConfig.WithTemplate = func(templ tplapi.Template) error {+ cfg := newDefaultDepsCfg()
+ cfg.WithTemplate = func(templ tplapi.Template) error { err := templ.AddTemplate("testroot", `{{ partial "bench1" . }}`) if err != nil {return err
@@ -2849,7 +2856,7 @@
return nil
}
- de := deps.New(defaultDepsConfig)
+ de := deps.New(cfg)
require.NoError(b, de.LoadTemplates())
buf := new(bytes.Buffer)
@@ -2866,7 +2873,8 @@
}
func BenchmarkPartialCached(b *testing.B) {- defaultDepsConfig.WithTemplate = func(templ tplapi.Template) error {+ cfg := newDefaultDepsCfg()
+ cfg.WithTemplate = func(templ tplapi.Template) error { err := templ.AddTemplate("testroot", `{{ partialCached "bench1" . }}`) if err != nil {return err
@@ -2879,7 +2887,7 @@
return nil
}
- de := deps.New(defaultDepsConfig)
+ de := deps.New(cfg)
require.NoError(b, de.LoadTemplates())
buf := new(bytes.Buffer)
@@ -2896,7 +2904,8 @@
}
func newTestFuncster() *templateFuncster {- d := deps.New(defaultDepsConfig)
+ cfg := newDefaultDepsCfg()
+ d := deps.New(cfg)
if err := d.LoadTemplates(); err != nil {panic(err)
}
@@ -2905,7 +2914,8 @@
}
func newTestTemplate(t *testing.T, name, template string) *template.Template {- defaultDepsConfig.WithTemplate = func(templ tplapi.Template) error {+ cfg := newDefaultDepsCfg()
+ cfg.WithTemplate = func(templ tplapi.Template) error {err := templ.AddTemplate(name, template)
if err != nil {return err
@@ -2913,7 +2923,7 @@
return nil
}
- de := deps.New(defaultDepsConfig)
+ de := deps.New(cfg)
require.NoError(t, de.LoadTemplates())
return de.Tmpl.Lookup(name)
--- a/tpl/template_test.go
+++ b/tpl/template_test.go
@@ -27,7 +27,6 @@
"github.com/spf13/afero"
"github.com/spf13/hugo/deps"
"github.com/spf13/hugo/helpers"
- "github.com/spf13/hugo/hugofs"
"github.com/spf13/hugo/tplapi"
"github.com/spf13/viper"
"github.com/stretchr/testify/require"
@@ -80,7 +79,7 @@
d := "DATA"
- config := defaultDepsConfig
+ config := newDefaultDepsCfg()
config.WithTemplate = func(templ tplapi.Template) error { return templ.AddAceTemplate("mytemplate.ace", basePath, innerPath,[]byte(this.baseContent), []byte(this.innerContent))
@@ -149,7 +148,8 @@
masterTplName := "mt"
finalTplName := "tp"
- defaultDepsConfig.WithTemplate = func(templ tplapi.Template) error {+ cfg := newDefaultDepsCfg()
+ cfg.WithTemplate = func(templ tplapi.Template) error {err := templ.AddTemplateFileWithMaster(finalTplName, overlayTplName, masterTplName)
@@ -188,16 +188,14 @@
return nil
}
- defaultDepsConfig.Fs = hugofs.NewMem()
-
if this.writeSkipper != 1 {- afero.WriteFile(defaultDepsConfig.Fs.Source, masterTplName, []byte(this.masterTplContent), 0644)
+ afero.WriteFile(cfg.Fs.Source, masterTplName, []byte(this.masterTplContent), 0644)
}
if this.writeSkipper != 2 {- afero.WriteFile(defaultDepsConfig.Fs.Source, overlayTplName, []byte(this.overlayTplContent), 0644)
+ afero.WriteFile(cfg.Fs.Source, overlayTplName, []byte(this.overlayTplContent), 0644)
}
- deps.New(defaultDepsConfig)
+ deps.New(cfg)
}
@@ -286,11 +284,12 @@
H: "a,b,c,d,e,f",
}
- defaultDepsConfig.WithTemplate = func(templ tplapi.Template) error {+ cfg := newDefaultDepsCfg()
+ cfg.WithTemplate = func(templ tplapi.Template) error { return templ.AddTemplate("fuzz", this.data)}
- de := deps.New(defaultDepsConfig)
+ de := deps.New(cfg)
require.NoError(t, de.LoadTemplates())
templ := de.Tmpl.(*GoHTMLTemplate)
--
⑨