diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2022-03-21 09:35:15 +0100 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2022-04-08 13:26:17 +0200 |
commit | d070bdf10f14d233288f7318a4e9f7555f070a65 (patch) | |
tree | fff8d59f98bdab3027bb45c4e10ca88594332872 /config | |
parent | b08193971a821fc27e549a73120c15e5e5186775 (diff) |
Rework the Destination filesystem to make --renderStaticToDisk work
See #9626
Diffstat (limited to 'config')
-rw-r--r-- | config/configProvider.go | 28 | ||||
-rw-r--r-- | config/defaultConfigProvider.go | 5 | ||||
-rw-r--r-- | config/services/servicesConfig_test.go | 2 |
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") |