shithub: hugo

Download patch

ref: 93f3a85bf8d13d0c8cb8844594c79a46d8bfa581
parent: 70544f9e62e5577d1daac1af8849739e4bef98ad
author: Bjørn Erik Pedersen <[email protected]>
date: Thu Aug 4 06:36:44 EDT 2016

Fix the time template func test

By making it not depend on the locale setup.

--- a/helpers/general.go
+++ b/helpers/general.go
@@ -467,3 +467,27 @@
 	}
 	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
+}
--- a/hugolib/site_show_plan_test.go
+++ b/hugolib/site_show_plan_test.go
@@ -57,7 +57,7 @@
 	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)
@@ -145,27 +145,4 @@
 		" alias-2/ => ../public/alias-2/index.html\n\n" +
 		"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
 }
--- a/tpl/template_funcs_test.go
+++ b/tpl/template_funcs_test.go
@@ -28,6 +28,8 @@
 	"testing"
 	"time"
 
+	"github.com/spf13/hugo/helpers"
+
 	"github.com/spf13/afero"
 	"github.com/spf13/cast"
 	"github.com/spf13/hugo/hugofs"
@@ -136,7 +138,7 @@
 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 }}
@@ -200,7 +202,7 @@
 substr: Bat
 substr: Man
 title: Bat Man
-time: 2015-01-21T00:00:00Z
+time: 2015
 trim: Batman
 upper: BATMAN
 urlize: bat-man
@@ -229,7 +231,9 @@
 	}
 
 	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))
 	}
 }