diff options
author | Marek Stanley <marek.stanley@ymail.com> | 2015-01-07 21:40:35 +0100 |
---|---|---|
committer | bep <bjorn.erik.pedersen@gmail.com> | 2015-01-09 12:42:13 +0100 |
commit | 49f5eb5c845b0978ac1227e5c6a2508d6cd93691 (patch) | |
tree | bc1697f60f9c905641bdcbf78f86546dbf7d5790 /helpers/general_test.go | |
parent | 2b46f3e51ee64aa3611ddc76197abf40d4f3644c (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.go | 86 |
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) + } +} |