mirror of
https://github.com/gohugoio/hugo.git
synced 2025-04-20 17:44:35 +00:00
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.
This commit is contained in:
parent
2b46f3e51e
commit
49f5eb5c84
2 changed files with 97 additions and 9 deletions
22
helpers/content_test.go
Normal file
22
helpers/content_test.go
Normal file
|
@ -0,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)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,22 +1,88 @@
|
||||||
package helpers
|
package helpers
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestStripHTML(t *testing.T) {
|
func TestInStringArrayCaseSensitive(t *testing.T) {
|
||||||
type test struct {
|
type test struct {
|
||||||
input, expected string
|
input string
|
||||||
|
expected bool
|
||||||
|
}
|
||||||
|
array := []string{
|
||||||
|
"Albert",
|
||||||
|
"Joe",
|
||||||
|
"Francis",
|
||||||
}
|
}
|
||||||
data := []test{
|
data := []test{
|
||||||
{"<h1>strip h1 tag <h1>", "strip h1 tag "},
|
{"Albert", true},
|
||||||
{"<p> strip p tag </p>", " strip p tag \n"},
|
{"ALBERT", false},
|
||||||
{"</br> strip br<br>", " strip br\n"},
|
|
||||||
}
|
}
|
||||||
for i, d := range data {
|
for _, in := range data {
|
||||||
output := StripHTML(d.input)
|
output := InStringArray(array, in.input)
|
||||||
if d.expected != output {
|
if output != in.expected {
|
||||||
t.Errorf("Test %d failed. Expected %q got %q", i, d.expected, output)
|
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)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue