summaryrefslogtreecommitdiffstats
path: root/helpers/general_test.go
diff options
context:
space:
mode:
authorMarek Stanley <marek.stanley@ymail.com>2015-01-07 21:40:35 +0100
committerbep <bjorn.erik.pedersen@gmail.com>2015-01-09 12:42:13 +0100
commit49f5eb5c845b0978ac1227e5c6a2508d6cd93691 (patch)
treebc1697f60f9c905641bdcbf78f86546dbf7d5790 /helpers/general_test.go
parent2b46f3e51ee64aa3611ddc76197abf40d4f3644c (diff)
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.
Diffstat (limited to 'helpers/general_test.go')
-rw-r--r--helpers/general_test.go86
1 files changed, 76 insertions, 10 deletions
diff --git a/helpers/general_test.go b/helpers/general_test.go
index 18cdfcc5d..687a56b4d 100644
--- 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"},
- }
- 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)
+ {"Albert", true},
+ {"ALBERT", false},
+ }
+ 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)
+ }
+}