From 93ca7c9e958e34469a337e4efcc7c75774ec50fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Pedersen?= Date: Sun, 5 Feb 2017 10:20:06 +0700 Subject: all: Refactor to nonglobal Viper, i18n etc. This is a final rewrite that removes all the global state in Hugo, which also enables the use if `t.Parallel` in tests. Updates #2701 Fixes #3016 --- transform/livereloadinject.go | 31 +++++++++++++++---------------- transform/livereloadinject_test.go | 5 +---- 2 files changed, 16 insertions(+), 20 deletions(-) (limited to 'transform') diff --git a/transform/livereloadinject.go b/transform/livereloadinject.go index 95608185d..83fe7c106 100644 --- a/transform/livereloadinject.go +++ b/transform/livereloadinject.go @@ -16,24 +16,23 @@ package transform import ( "bytes" "fmt" - - "github.com/spf13/viper" ) -func LiveReloadInject(ct contentTransformer) { - endBodyTag := "" - match := []byte(endBodyTag) - port := viper.Get("port") - replaceTemplate := `%s` - replace := []byte(fmt.Sprintf(replaceTemplate, port, endBodyTag)) - - newcontent := bytes.Replace(ct.Content(), match, replace, 1) - if len(newcontent) == len(ct.Content()) { - endBodyTag = "" - replace := []byte(fmt.Sprintf(replaceTemplate, port, endBodyTag)) +func LiveReloadInject(port int) func(ct contentTransformer) { + return func(ct contentTransformer) { + endBodyTag := "" match := []byte(endBodyTag) - newcontent = bytes.Replace(ct.Content(), match, replace, 1) - } + replaceTemplate := `%s` + replace := []byte(fmt.Sprintf(replaceTemplate, port, endBodyTag)) + + newcontent := bytes.Replace(ct.Content(), match, replace, 1) + if len(newcontent) == len(ct.Content()) { + endBodyTag = "" + replace := []byte(fmt.Sprintf(replaceTemplate, port, endBodyTag)) + match := []byte(endBodyTag) + newcontent = bytes.Replace(ct.Content(), match, replace, 1) + } - ct.Write(newcontent) + ct.Write(newcontent) + } } diff --git a/transform/livereloadinject_test.go b/transform/livereloadinject_test.go index 9f28e05e2..3337243bd 100644 --- a/transform/livereloadinject_test.go +++ b/transform/livereloadinject_test.go @@ -18,8 +18,6 @@ import ( "fmt" "strings" "testing" - - "github.com/spf13/viper" ) func TestLiveReloadInject(t *testing.T) { @@ -28,11 +26,10 @@ func TestLiveReloadInject(t *testing.T) { } func doTestLiveReloadInject(t *testing.T, bodyEndTag string) { - viper.Set("port", 1313) out := new(bytes.Buffer) in := strings.NewReader(bodyEndTag) - tr := NewChain(LiveReloadInject) + tr := NewChain(LiveReloadInject(1313)) tr.Apply(out, in, []byte("path")) expected := fmt.Sprintf(`%s`, bodyEndTag) -- cgit v1.2.3