diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2016-02-06 18:28:26 +0100 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2016-02-06 18:28:26 +0100 |
commit | dd1db334ac15f3bdb67b40973668d1d7b9ca7f08 (patch) | |
tree | 2bf53f06577643217670c5bc4cb08f2776371c50 | |
parent | 96e990456b65c7744819000f67f226c34d487d99 (diff) |
transform: Add missing test case in livereloadinject
* Test for both </body> and </BODY>
* This also cosmetically changes the behaviour, as the case of the end body tag is kept.
-rw-r--r-- | transform/livereloadinject.go | 11 | ||||
-rw-r--r-- | transform/livereloadinject_test.go | 10 |
2 files changed, 16 insertions, 5 deletions
diff --git a/transform/livereloadinject.go b/transform/livereloadinject.go index 789ff9d22..9eab45f78 100644 --- a/transform/livereloadinject.go +++ b/transform/livereloadinject.go @@ -15,15 +15,20 @@ package transform import ( "bytes" + "fmt" ) func LiveReloadInject(ct contentTransformer) { - match := []byte("</body>") - replace := []byte(`<script data-no-instant>document.write('<script src="/livereload.js?mindelay=10"></' + 'script>')</script></body>`) + endBodyTag := "</body>" + match := []byte(endBodyTag) + replaceTemplate := `<script data-no-instant>document.write('<script src="/livereload.js?mindelay=10"></' + 'script>')</script>%s` + replace := []byte(fmt.Sprintf(replaceTemplate, endBodyTag)) newcontent := bytes.Replace(ct.Content(), match, replace, -1) if len(newcontent) == len(ct.Content()) { - match := []byte("</BODY>") + endBodyTag = "</BODY>" + replace := []byte(fmt.Sprintf(replaceTemplate, endBodyTag)) + match := []byte(endBodyTag) newcontent = bytes.Replace(ct.Content(), match, replace, -1) } diff --git a/transform/livereloadinject_test.go b/transform/livereloadinject_test.go index 0c47cb109..5aea8689c 100644 --- a/transform/livereloadinject_test.go +++ b/transform/livereloadinject_test.go @@ -15,18 +15,24 @@ package transform import ( "bytes" + "fmt" "github.com/spf13/hugo/helpers" "testing" ) func TestLiveReloadInject(t *testing.T) { + doTestLiveReloadInject(t, "</body>") + doTestLiveReloadInject(t, "</BODY>") +} + +func doTestLiveReloadInject(t *testing.T, bodyEndTag string) { out := new(bytes.Buffer) - in := helpers.StringToReader("</body>") + in := helpers.StringToReader(bodyEndTag) tr := NewChain(LiveReloadInject) tr.Apply(out, in, []byte("path")) - expected := `<script data-no-instant>document.write('<script src="/livereload.js?mindelay=10"></' + 'script>')</script></body>` + expected := fmt.Sprintf(`<script data-no-instant>document.write('<script src="/livereload.js?mindelay=10"></' + 'script>')</script>%s`, bodyEndTag) if string(out.Bytes()) != expected { t.Errorf("Expected %s got %s", expected, string(out.Bytes())) } |