shithub: hugo

Download patch

ref: 57cd9539978172dcfb539aa700aa1c1faeef9045
parent: b87402e8cd8a95cc0fcad5ab7ec06a1b765bf1cd
author: Owen Waller <[email protected]>
date: Wed Sep 10 14:30:03 EDT 2014

Added the general modules test files

Added the new general module's test file, general_test.go. This replaces the
helpers_test.go file.

There is also a minor defect fix in general.go's StripHTML function.
The correct xhtml tag for a break is <br /> not </br>. I've also removed
the unnecessary spaces before the replacement "\n".

The new test module also reflects this change.

Conflicts:
	helpers/general.go

--- a/helpers/content.go
+++ b/helpers/content.go
@@ -37,9 +37,9 @@
 		output = s
 	} else {
 		s = strings.Replace(s, "\n", " ", -1)
-		s = strings.Replace(s, "</p>", " \n", -1)
-		s = strings.Replace(s, "<br>", " \n", -1)
-		s = strings.Replace(s, "</br>", " \n", -1)
+		s = strings.Replace(s, "</p>", "\n", -1)
+		s = strings.Replace(s, "<br>", "\n", -1)
+		s = strings.Replace(s, "<br />", "\n", -1) // <br /> is the xhtml line break tag
 
 		// Walk through the string removing all tags
 		b := new(bytes.Buffer)
--- /dev/null
+++ b/helpers/general_test.go
@@ -1,0 +1,22 @@
+package helpers
+
+import (
+	"testing"
+)
+
+func TestStripHTML(t *testing.T) {
+	type test struct {
+		input, expected string
+	}
+	data := []test{
+		{"<h1>strip h1 tag <h1>", "strip h1 tag "},
+		{"<p> strip p tag </p>", " strip p tag \n"},
+		{"</br> strip br<br>", " strip br\n"},
+	}
+	for i, d := range data {
+		output := StripHTML(d.input)
+		if d.expected != output {
+			t.Errorf("Test %d failed. Expected %q got %q", i, d.expected, output)
+		}
+	}
+}