github.com/dominikszabo/hugo-ds-clean@v0.47.1/helpers/testhelpers_test.go (about) 1 package helpers 2 3 import ( 4 "github.com/spf13/viper" 5 6 "github.com/gohugoio/hugo/hugofs" 7 "github.com/gohugoio/hugo/langs" 8 ) 9 10 func newTestPathSpec(fs *hugofs.Fs, v *viper.Viper) *PathSpec { 11 l := langs.NewDefaultLanguage(v) 12 ps, _ := NewPathSpec(fs, l) 13 return ps 14 } 15 16 func newTestDefaultPathSpec(configKeyValues ...interface{}) *PathSpec { 17 v := viper.New() 18 fs := hugofs.NewMem(v) 19 cfg := newTestCfgFor(fs) 20 21 for i := 0; i < len(configKeyValues); i += 2 { 22 cfg.Set(configKeyValues[i].(string), configKeyValues[i+1]) 23 } 24 return newTestPathSpec(fs, cfg) 25 } 26 27 func newTestCfgFor(fs *hugofs.Fs) *viper.Viper { 28 v := newTestCfg() 29 v.SetFs(fs.Source) 30 31 return v 32 33 } 34 35 func newTestCfg() *viper.Viper { 36 v := viper.New() 37 v.Set("contentDir", "content") 38 v.Set("dataDir", "data") 39 v.Set("i18nDir", "i18n") 40 v.Set("layoutDir", "layouts") 41 v.Set("assetDir", "assets") 42 v.Set("resourceDir", "resources") 43 v.Set("publishDir", "public") 44 v.Set("archetypeDir", "archetypes") 45 return v 46 } 47 48 func newTestContentSpec() *ContentSpec { 49 v := viper.New() 50 spec, err := NewContentSpec(v) 51 if err != nil { 52 panic(err) 53 } 54 return spec 55 }