shithub: hugo

Download patch

ref: aae6fa0b6b6319187992231baf773768585820d6
parent: be37c0b37a244527a2c85b3f55e5aad5b5195a36
author: spf13 <[email protected]>
date: Tue Apr 8 17:57:25 EDT 2014

Fix test to not fail when order is different, but slice contents are the same.

--- a/hugolib/site_show_plan_test.go
+++ b/hugolib/site_show_plan_test.go
@@ -2,9 +2,11 @@
 
 import (
 	"bytes"
+	"strings"
+	"testing"
+
 	"github.com/spf13/hugo/source"
 	"github.com/spf13/hugo/target"
-	"testing"
 )
 
 const ALIAS_DOC_1 = "---\ntitle: alias doc\naliases:\n  - \"alias1/\"\n  - \"alias-2/\"\n---\naliases\n"
@@ -24,6 +26,15 @@
 	},
 }
 
+func stringInSlice(a string, list []string) bool {
+	for _, b := range list {
+		if b == a {
+			return true
+		}
+	}
+	return false
+}
+
 func checkShowPlanExpected(t *testing.T, s *Site, expected string) {
 	out := new(bytes.Buffer)
 	if err := s.ShowPlan(out); err != nil {
@@ -30,8 +41,20 @@
 		t.Fatalf("ShowPlan unexpectedly returned an error: %s", err)
 	}
 	got := out.String()
-	if got != expected {
-		t.Errorf("ShowPlan expected:\n%q\ngot\n%q", expected, got)
+
+	gotList := strings.Split(got, "\n")
+	expectedList := strings.Split(expected, "\n")
+
+	for _, x := range gotList {
+		if !stringInSlice(x, expectedList) {
+			t.Errorf("ShowPlan expected:\n%q\ngot\n%q", expected, got)
+		}
+	}
+
+	for _, x := range expectedList {
+		if !stringInSlice(x, gotList) {
+			t.Errorf("ShowPlan expected:\n%q\ngot\n%q", expected, got)
+		}
 	}
 }