From a10b2cd372798c4e4b862f0ec03010d2aea2ff1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Pedersen?= Date: Mon, 24 Oct 2016 13:45:30 +0200 Subject: Avoid reading from Viper for path and URL funcs The gain, given the "real sites benchmark" below, is obvious: ``` benchmark old ns/op new ns/op delta BenchmarkHugo-4 14497594101 13084156335 -9.75% benchmark old allocs new allocs delta BenchmarkHugo-4 57404335 48282002 -15.89% benchmark old bytes new bytes delta BenchmarkHugo-4 9933505624 9721984424 -2.13% ``` Fixes #2495 --- helpers/url_test.go | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'helpers/url_test.go') diff --git a/helpers/url_test.go b/helpers/url_test.go index 2cf93b859..5394e9573 100644 --- a/helpers/url_test.go +++ b/helpers/url_test.go @@ -24,6 +24,10 @@ import ( ) func TestURLize(t *testing.T) { + initCommonTestConfig() + + p := NewPathSpecFromConfig(viper.GetViper()) + tests := []struct { input string expected string @@ -37,7 +41,7 @@ func TestURLize(t *testing.T) { } for _, test := range tests { - output := URLize(test.input) + output := p.URLize(test.input) if output != test.expected { t.Errorf("Expected %#v, got %#v\n", test.expected, output) } @@ -83,7 +87,8 @@ func doTestAbsURL(t *testing.T, defaultInSubDir, addLanguage, multilingual bool, for _, test := range tests { viper.Set("BaseURL", test.baseURL) - output := AbsURL(test.input, addLanguage) + p := NewPathSpecFromConfig(viper.GetViper()) + output := p.AbsURL(test.input, addLanguage) expected := test.expected if multilingual && addLanguage { if !defaultInSubDir && lang == "en" { @@ -159,8 +164,9 @@ func doTestRelURL(t *testing.T, defaultInSubDir, addLanguage, multilingual bool, for i, test := range tests { viper.Set("BaseURL", test.baseURL) viper.Set("canonifyURLs", test.canonify) + p := NewPathSpecFromConfig(viper.GetViper()) - output := RelURL(test.input, addLanguage) + output := p.RelURL(test.input, addLanguage) expected := test.expected if multilingual && addLanguage { -- cgit v1.2.3