diff options
author | bep <bjorn.erik.pedersen@gmail.com> | 2015-01-27 23:01:32 +0100 |
---|---|---|
committer | bep <bjorn.erik.pedersen@gmail.com> | 2015-01-27 23:01:32 +0100 |
commit | e52a76f559b6c2f44a9dd32f7f01e7824f0246de (patch) | |
tree | c17a5d3ea76bc99063dac83ccea71618b6e7cbc5 /helpers/path_test.go | |
parent | 0b5f8c8cb3a27669df99ce281100f4596f033db3 (diff) |
Use runtime.GOOS to identify Windows specific path tests
Diffstat (limited to 'helpers/path_test.go')
-rw-r--r-- | helpers/path_test.go | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/helpers/path_test.go b/helpers/path_test.go index 366ed6e4c..bc0a54790 100644 --- a/helpers/path_test.go +++ b/helpers/path_test.go @@ -6,6 +6,7 @@ import ( "io/ioutil" "os" "path/filepath" + "runtime" "strconv" "strings" "testing" @@ -398,6 +399,16 @@ func TestAbsPathify(t *testing.T) { {"dir", filepath.FromSlash("/work"), filepath.FromSlash("/work/dir")}, } + windowsData := []test{ + {"c:\\banana\\..\\dir", "c:\\foo", "c:\\dir"}, + {"\\dir", "c:\\foo", "c:\\foo\\dir"}, + {"c:\\", "c:\\foo", "c:\\"}, + } + + unixData := []test{ + {"/banana/../dir/", "/work", "/dir"}, + } + for i, d := range data { // todo see comment in AbsPathify viper.Set("WorkingDir", d.workingDir) @@ -407,6 +418,27 @@ func TestAbsPathify(t *testing.T) { t.Errorf("Test %d failed. Expected %q but got %q", i, d.expected, expected) } } + t.Logf("Running platform specific path tests for %s", runtime.GOOS) + if runtime.GOOS == "windows" { + for i, d := range windowsData { + 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) + } + } + } else { + for i, d := range unixData { + 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) + } + } + } + } func TestFilename(t *testing.T) { |