shithub: hugo

Download patch

ref: 8ad4fd05d8dff450c8ceffd58483497d9f0e6d88
parent: b155e8b4cbde764f326ac989b060c805da26e176
author: bep <[email protected]>
date: Tue Jan 27 09:03:48 EST 2015

Split Windows and Unix specific path tests

--- a/helpers/path_test.go
+++ b/helpers/path_test.go
@@ -395,7 +395,6 @@
 	}
 	data := []test{
 		{os.TempDir(), filepath.FromSlash("/work"), filepath.Clean(os.TempDir())}, // TempDir has trailing slash
-		// todo bep breaks on Windows: {filepath.FromSlash("/banana/../dir/"), filepath.FromSlash("/work"), filepath.FromSlash("/dir")},
 		{"dir", filepath.FromSlash("/work"), filepath.FromSlash("/work/dir")},
 	}
 
--- /dev/null
+++ b/helpers/path_unix_test.go
@@ -1,0 +1,27 @@
+// +build !windows
+
+package helpers
+
+import (
+	"github.com/spf13/viper"
+	"testing"
+)
+
+func TestPlatformAbsPathify(t *testing.T) {
+	type test struct {
+		inPath, workingDir, expected string
+	}
+	data := []test{
+		{"/banana/../dir/", "/work", "/dir"},
+	}
+
+	for i, d := range data {
+		// todo see comment in AbsPathify
+		viper.Set("WorkingDir", d.workingDir)
+
+		expected := AbsPathify(d.inPath)
+		if d.expected != expected {
+			t.Errorf("Test %d failed. Expected %q but got %q", i, d.expected, expected)
+		}
+	}
+}
--- /dev/null
+++ b/helpers/path_windows_test.go
@@ -1,0 +1,27 @@
+package helpers
+
+import (
+	"github.com/spf13/viper"
+	"testing"
+)
+
+func TestPlatformAbsPathify(t *testing.T) {
+	type test struct {
+		inPath, workingDir, expected string
+	}
+	data := []test{
+		{"c:\\banana\\..\\dir", "c:\\foo", "c:\\dir"},
+		{"\\dir", "c:\\foo", "c:\\foo\\dir"},
+		{"c:\\", "c:\\foo", "c:\\"},
+	}
+
+	for i, d := range data {
+		// todo see comment in AbsPathify
+		viper.Set("WorkingDir", d.workingDir)
+
+		expected := AbsPathify(d.inPath)
+		if d.expected != expected {
+			t.Errorf("Test %d failed. Expected %q but got %q", i, d.expected, expected)
+		}
+	}
+}