By making it not depend on the locale setup.
}
return pflag.NormalizedName(name)
}
+
+// DiffStringSlices returns the difference between two string slices.
+// Useful in tests.
+// See:
+// http://stackoverflow.com/questions/19374219/how-to-find-the-difference-between-two-slices-of-strings-in-golang
+func DiffStringSlices(slice1 []string, slice2 []string) []string {
+ diffStr := []string{}
+ m := map[string]int{}
+
+ for _, s1Val := range slice1 {
+ m[s1Val] = 1
+ }
+ for _, s2Val := range slice2 {
+ m[s2Val] = m[s2Val] + 1
+ }
+
+ for mKey, mVal := range m {
+ if mVal == 1 {
+ diffStr = append(diffStr, mKey)
+ }
+ }
+
+ return diffStr
+}
gotList := strings.Split(got, "\n")
expectedList := strings.Split(expected, "\n")
- diff := DiffStringSlices(gotList, expectedList)
+ diff := helpers.DiffStringSlices(gotList, expectedList)
if len(diff) > 0 {
t.Errorf("Got diff in show plan: %s", diff)
"section/somecontent.html (renderer: n/a)\n canonical => ../public/section/somecontent/index.html\n\n"
checkShowPlanExpected(t, s, expected)
}
-
-// DiffStringSlices returns the difference between two string slices.
-// See:
-// http://stackoverflow.com/questions/19374219/how-to-find-the-difference-between-two-slices-of-strings-in-golang
-func DiffStringSlices(slice1 []string, slice2 []string) []string {
- diffStr := []string{}
- m := map[string]int{}
-
- for _, s1Val := range slice1 {
- m[s1Val] = 1
- }
- for _, s2Val := range slice2 {
- m[s2Val] = m[s2Val] + 1
- }
-
- for mKey, mVal := range m {
- if mVal == 1 {
- diffStr = append(diffStr, mKey)
- }
- }
-
- return diffStr
-}
"testing"
"time"
+ "github.com/spf13/hugo/helpers"
+
"github.com/spf13/afero"
"github.com/spf13/cast"
"github.com/spf13/hugo/hugofs"
substr: {{substr "BatMan" 0 -3}}
substr: {{substr "BatMan" 3 3}}
title: {{title "Bat man"}}
-time: {{ time "2015-01-21" }}
+time: {{ (time "2015-01-21").Year }}
trim: {{ trim "++Batman--" "+-" }}
upper: {{upper "BatMan"}}
urlize: {{ "Bat Man" | urlize }}
substr: Bat
substr: Man
title: Bat Man
-time: 2015-01-21T00:00:00Z
+time: 2015
trim: Batman
upper: BATMAN
urlize: bat-man
}
if b.String() != expected {
- t.Errorf("Got\n%q\nExpected\n%q", b.String(), expected)
+ sl1 := strings.Split(b.String(), "\n")
+ sl2 := strings.Split(expected, "\n")
+ t.Errorf("Diff:\n%q", helpers.DiffStringSlices(sl1, sl2))
}
}