hugo

Fork of github.com/gohugoio/hugo with reverse pagination support

git clone git://git.shimmy1996.com/hugo.git

testhelpers_test.go (1133B)

    1 package helpers
    2 
    3 import (
    4 	"github.com/gohugoio/hugo/common/loggers"
    5 	"github.com/gohugoio/hugo/config"
    6 	"github.com/spf13/afero"
    7 
    8 	"github.com/gohugoio/hugo/hugofs"
    9 	"github.com/gohugoio/hugo/langs"
   10 	"github.com/gohugoio/hugo/modules"
   11 )
   12 
   13 func newTestPathSpec(fs *hugofs.Fs, v config.Provider) *PathSpec {
   14 	l := langs.NewDefaultLanguage(v)
   15 	ps, _ := NewPathSpec(fs, l, nil)
   16 	return ps
   17 }
   18 
   19 func newTestDefaultPathSpec(configKeyValues ...any) *PathSpec {
   20 	cfg := newTestCfg()
   21 	fs := hugofs.NewMem(cfg)
   22 
   23 	for i := 0; i < len(configKeyValues); i += 2 {
   24 		cfg.Set(configKeyValues[i].(string), configKeyValues[i+1])
   25 	}
   26 	return newTestPathSpec(fs, cfg)
   27 }
   28 
   29 func newTestCfg() config.Provider {
   30 	v := config.NewWithTestDefaults()
   31 	langs.LoadLanguageSettings(v, nil)
   32 	langs.LoadLanguageSettings(v, nil)
   33 	mod, err := modules.CreateProjectModule(v)
   34 	if err != nil {
   35 		panic(err)
   36 	}
   37 	v.Set("allModules", modules.Modules{mod})
   38 
   39 	return v
   40 }
   41 
   42 func newTestContentSpec() *ContentSpec {
   43 	v := config.NewWithTestDefaults()
   44 	spec, err := NewContentSpec(v, loggers.NewErrorLogger(), afero.NewMemMapFs(), nil)
   45 	if err != nil {
   46 		panic(err)
   47 	}
   48 	return spec
   49 }