ref: 49f5eb5c845b0978ac1227e5c6a2508d6cd93691
parent: 2b46f3e51ee64aa3611ddc76197abf40d4f3644c
author: Marek Stanley <marek.stanley@ymail.com>
date: Wed Jan 7 16:40:35 EST 2015
Moved a test regarding a content.go function to a new test file content_test.go. Added some tests for general helpers, especially as a way to document the expected behavior, and as a warm-up welcome contribution.
--- /dev/null
+++ b/helpers/content_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)+ }
+ }
+}
--- a/helpers/general_test.go
+++ b/helpers/general_test.go
@@ -1,22 +1,88 @@
package helpers
import (
+ "strings"
"testing"
)
-func TestStripHTML(t *testing.T) {+func TestInStringArrayCaseSensitive(t *testing.T) { type test struct {- input, expected string
+ input string
+ expected bool
}
+ array := []string{+ "Albert",
+ "Joe",
+ "Francis",
+ }
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"},+ {"Albert", true},+ {"ALBERT", false},}
- 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)+ for _, in := range data {+ output := InStringArray(array, in.input)
+ if output != in.expected {+ t.Errorf("TestInStringArrayCase failed. Expected %t. Got %t.", in.expected, output)}
+ }
+}
+
+func TestSliceToLowerStable(t *testing.T) {+ input := []string{+ "New York",
+ "BARCELONA",
+ "COffEE",
+ "FLOWer",
+ "CanDY",
+ }
+
+ output := SliceToLower(input)
+
+ for i, e := range output {+ if e != strings.ToLower(input[i]) {+ t.Errorf("Expected %s. Found %s.", strings.ToLower(input[i]), e)+ }
+ }
+}
+
+func TestSliceToLowerNil(t *testing.T) {+ var input []string
+
+ output := SliceToLower(input)
+
+ if output != nil {+ t.Errorf("Expected nil to be returned. Had %s.", output)+ }
+}
+
+func TestSliceToLowerNonDestructive(t *testing.T) {+ input := []string{+ "New York",
+ "BARCELONA",
+ "COffEE",
+ "FLOWer",
+ "CanDY",
+ }
+
+ // This assignment actually copies the content
+ // of input into a new object.
+ // Otherwise, the test would not make sense...
+ input_copy := input
+
+ SliceToLower(input)
+
+ for i, e := range input {+ if e != input_copy[i] {+ t.Errorf("TestSliceToLowerNonDestructive failed. Expected element #%d of input slice to be %s. Found %s.", i, input_copy[i], input[i])+ }
+ }
+}
+
+// Just make sure there is no error for empty-like strings
+func TestMd5StringEmpty(t *testing.T) {+ inputs := []string{"", " ", " "}+
+ for _, in := range inputs {+ Md5String(in)
}
}
--
⑨