github.com/kovansky/hugo@v0.92.3-0.20220224232819-63076e4ff19f/helpers/testhelpers_test.go (about)

     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 ...interface{}) *PathSpec {
    20  	v := config.New()
    21  	fs := hugofs.NewMem(v)
    22  	cfg := newTestCfg()
    23  
    24  	for i := 0; i < len(configKeyValues); i += 2 {
    25  		cfg.Set(configKeyValues[i].(string), configKeyValues[i+1])
    26  	}
    27  	return newTestPathSpec(fs, cfg)
    28  }
    29  
    30  func newTestCfg() config.Provider {
    31  	v := config.New()
    32  	v.Set("contentDir", "content")
    33  	v.Set("dataDir", "data")
    34  	v.Set("i18nDir", "i18n")
    35  	v.Set("layoutDir", "layouts")
    36  	v.Set("assetDir", "assets")
    37  	v.Set("resourceDir", "resources")
    38  	v.Set("publishDir", "public")
    39  	v.Set("archetypeDir", "archetypes")
    40  	langs.LoadLanguageSettings(v, nil)
    41  	langs.LoadLanguageSettings(v, nil)
    42  	mod, err := modules.CreateProjectModule(v)
    43  	if err != nil {
    44  		panic(err)
    45  	}
    46  	v.Set("allModules", modules.Modules{mod})
    47  
    48  	return v
    49  }
    50  
    51  func newTestContentSpec() *ContentSpec {
    52  	v := config.New()
    53  	spec, err := NewContentSpec(v, loggers.NewErrorLogger(), afero.NewMemMapFs(), nil)
    54  	if err != nil {
    55  		panic(err)
    56  	}
    57  	return spec
    58  }