ref: 8ad4fd05d8dff450c8ceffd58483497d9f0e6d88
parent: b155e8b4cbde764f326ac989b060c805da26e176
author: bep <bjorn.erik.pedersen@gmail.com>
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)+ }
+ }
+}
--
⑨