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)
+ }
}
}