Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/gohugoio/hugo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2022-03-21 11:35:15 +0300
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2022-04-08 14:26:17 +0300
commitd070bdf10f14d233288f7318a4e9f7555f070a65 (patch)
treefff8d59f98bdab3027bb45c4e10ca88594332872 /config
parentb08193971a821fc27e549a73120c15e5e5186775 (diff)
Rework the Destination filesystem to make --renderStaticToDisk work
See #9626
Diffstat (limited to 'config')
-rw-r--r--config/configProvider.go28
-rw-r--r--config/defaultConfigProvider.go5
-rw-r--r--config/services/servicesConfig_test.go2
3 files changed, 25 insertions, 10 deletions
diff --git a/config/configProvider.go b/config/configProvider.go
index cf4c3dab3..01a2e8c54 100644
--- a/config/configProvider.go
+++ b/config/configProvider.go
@@ -45,13 +45,23 @@ func GetStringSlicePreserveString(cfg Provider, key string) []string {
}
// SetBaseTestDefaults provides some common config defaults used in tests.
-func SetBaseTestDefaults(cfg Provider) {
- cfg.Set("resourceDir", "resources")
- cfg.Set("contentDir", "content")
- cfg.Set("dataDir", "data")
- cfg.Set("i18nDir", "i18n")
- cfg.Set("layoutDir", "layouts")
- cfg.Set("assetDir", "assets")
- cfg.Set("archetypeDir", "archetypes")
- cfg.Set("publishDir", "public")
+func SetBaseTestDefaults(cfg Provider) Provider {
+ setIfNotSet(cfg, "baseURL", "https://example.org")
+ setIfNotSet(cfg, "resourceDir", "resources")
+ setIfNotSet(cfg, "contentDir", "content")
+ setIfNotSet(cfg, "dataDir", "data")
+ setIfNotSet(cfg, "i18nDir", "i18n")
+ setIfNotSet(cfg, "layoutDir", "layouts")
+ setIfNotSet(cfg, "assetDir", "assets")
+ setIfNotSet(cfg, "archetypeDir", "archetypes")
+ setIfNotSet(cfg, "publishDir", "public")
+ setIfNotSet(cfg, "workingDir", "")
+ setIfNotSet(cfg, "defaultContentLanguage", "en")
+ return cfg
+}
+
+func setIfNotSet(cfg Provider, key string, value any) {
+ if !cfg.IsSet(key) {
+ cfg.Set(key, value)
+ }
}
diff --git a/config/defaultConfigProvider.go b/config/defaultConfigProvider.go
index 46f083ed2..822f421fa 100644
--- a/config/defaultConfigProvider.go
+++ b/config/defaultConfigProvider.go
@@ -75,6 +75,11 @@ func NewFrom(params maps.Params) Provider {
}
}
+// NewWithTestDefaults is used in tests only.
+func NewWithTestDefaults() Provider {
+ return SetBaseTestDefaults(New())
+}
+
// defaultConfigProvider is a Provider backed by a map where all keys are lower case.
// All methods are thread safe.
type defaultConfigProvider struct {
diff --git a/config/services/servicesConfig_test.go b/config/services/servicesConfig_test.go
index 12b042a5a..826255e73 100644
--- a/config/services/servicesConfig_test.go
+++ b/config/services/servicesConfig_test.go
@@ -54,7 +54,7 @@ disableInlineCSS = true
func TestUseSettingsFromRootIfSet(t *testing.T) {
c := qt.New(t)
- cfg := config.New()
+ cfg := config.NewWithTestDefaults()
cfg.Set("disqusShortname", "root_short")
cfg.Set("googleAnalytics", "ga_root")