Fix the time template func test
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Thu, 4 Aug 2016 08:36:44 +0000 (10:36 +0200)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Thu, 4 Aug 2016 08:36:44 +0000 (10:36 +0200)
By making it not depend on the locale setup.

helpers/general.go
hugolib/site_show_plan_test.go
tpl/template_funcs_test.go

index 731452d9d4ca24d8bcda0f9ee8625e5d5046aa21..2237125d7667c21056ebea092321cedff687407f 100644 (file)
@@ -467,3 +467,27 @@ func NormalizeHugoFlags(f *pflag.FlagSet, name string) pflag.NormalizedName {
        }
        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
+}
index 48edf563a9ac4d66b6fe60733ba6299b823ca6ed..4f1d8c4dd1430dd05fb0ddef1ae92d6992ddab22 100644 (file)
@@ -57,7 +57,7 @@ func checkShowPlanExpected(t *testing.T, s *Site, expected string) {
        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)
@@ -146,26 +146,3 @@ func TestFileTargetPublishDir(t *testing.T) {
                "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
-}
index 6246bba0ba1bcba3c6e29ea05b576c4f37f807d0..1a94adfc3d01097096192e6b9a0070529f998d1c 100644 (file)
@@ -28,6 +28,8 @@ import (
        "testing"
        "time"
 
+       "github.com/spf13/hugo/helpers"
+
        "github.com/spf13/afero"
        "github.com/spf13/cast"
        "github.com/spf13/hugo/hugofs"
@@ -136,7 +138,7 @@ sub: {{sub 3 2}}
 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 @@ sub: 1
 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 @@ 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))
        }
 }