diff options
author | Bjørn Erik Pedersen <[email protected]> | 2021-06-09 10:58:18 +0200 |
---|---|---|
committer | Bjørn Erik Pedersen <[email protected]> | 2021-06-14 17:00:32 +0200 |
commit | d392893cd73dc00c927f342778f6dca9628d328e (patch) | |
tree | e2ea3eec09f36b7122ecdbc498c3c130e240e85c /minifiers | |
parent | a886dd53b80322e1edf924f2ede4d4ea037c5baf (diff) | |
download | hugo-d392893cd73dc00c927f342778f6dca9628d328e.tar.gz hugo-d392893cd73dc00c927f342778f6dca9628d328e.zip |
Misc config loading fixes
The main motivation behind this is simplicity and correctnes, but the new small config library is also faster:
```
BenchmarkDefaultConfigProvider/Viper-16 252418 4546 ns/op 2720 B/op 30 allocs/op
BenchmarkDefaultConfigProvider/Custom-16 450756 2651 ns/op 1008 B/op 6 allocs/op
```
Fixes #8633
Fixes #8618
Fixes #8630
Updates #8591
Closes #6680
Closes #5192
Diffstat (limited to 'minifiers')
-rw-r--r-- | minifiers/config.go | 4 | ||||
-rw-r--r-- | minifiers/config_test.go | 6 | ||||
-rw-r--r-- | minifiers/minifiers_test.go | 15 |
3 files changed, 12 insertions, 13 deletions
diff --git a/minifiers/config.go b/minifiers/config.go index fc707ce37..675e5d2b8 100644 --- a/minifiers/config.go +++ b/minifiers/config.go @@ -99,10 +99,10 @@ func decodeConfig(cfg config.Provider) (conf minifyConfig, err error) { // Handle upstream renames. if td, found := m["tdewolff"]; found { - tdm := cast.ToStringMap(td) + tdm := maps.ToStringMap(td) for _, key := range []string{"css", "svg"} { if v, found := tdm[key]; found { - vm := cast.ToStringMap(v) + vm := maps.ToStringMap(v) if vv, found := vm["decimal"]; found { vvi := cast.ToInt(vv) if vvi > 0 { diff --git a/minifiers/config_test.go b/minifiers/config_test.go index 851863842..fca56b7f1 100644 --- a/minifiers/config_test.go +++ b/minifiers/config_test.go @@ -16,14 +16,14 @@ package minifiers import ( "testing" - "github.com/spf13/viper" + "github.com/gohugoio/hugo/config" qt "github.com/frankban/quicktest" ) func TestConfig(t *testing.T) { c := qt.New(t) - v := viper.New() + v := config.New() v.Set("minify", map[string]interface{}{ "disablexml": true, @@ -53,7 +53,7 @@ func TestConfig(t *testing.T) { func TestConfigLegacy(t *testing.T) { c := qt.New(t) - v := viper.New() + v := config.New() // This was a bool < Hugo v0.58. v.Set("minify", true) diff --git a/minifiers/minifiers_test.go b/minifiers/minifiers_test.go index 97fe4e465..37e017420 100644 --- a/minifiers/minifiers_test.go +++ b/minifiers/minifiers_test.go @@ -19,16 +19,15 @@ import ( "strings" "testing" - "github.com/gohugoio/hugo/media" - qt "github.com/frankban/quicktest" + "github.com/gohugoio/hugo/config" + "github.com/gohugoio/hugo/media" "github.com/gohugoio/hugo/output" - "github.com/spf13/viper" ) func TestNew(t *testing.T) { c := qt.New(t) - v := viper.New() + v := config.New() m, _ := New(media.DefaultTypes, output.DefaultFormats, v) var rawJS string @@ -76,7 +75,7 @@ func TestNew(t *testing.T) { func TestConfigureMinify(t *testing.T) { c := qt.New(t) - v := viper.New() + v := config.New() v.Set("minify", map[string]interface{}{ "disablexml": true, "tdewolff": map[string]interface{}{ @@ -110,7 +109,7 @@ func TestConfigureMinify(t *testing.T) { func TestJSONRoundTrip(t *testing.T) { c := qt.New(t) - v := viper.New() + v := config.New() m, _ := New(media.DefaultTypes, output.DefaultFormats, v) for _, test := range []string{`{ @@ -148,7 +147,7 @@ func TestJSONRoundTrip(t *testing.T) { func TestBugs(t *testing.T) { c := qt.New(t) - v := viper.New() + v := config.New() m, _ := New(media.DefaultTypes, output.DefaultFormats, v) for _, test := range []struct { @@ -171,7 +170,7 @@ func TestBugs(t *testing.T) { // Renamed to Precision in v2.7.0. Check that we support both. func TestDecodeConfigDecimalIsNowPrecision(t *testing.T) { c := qt.New(t) - v := viper.New() + v := config.New() v.Set("minify", map[string]interface{}{ "disablexml": true, "tdewolff": map[string]interface{}{ |