summaryrefslogtreecommitdiffstats
path: root/helpers/path_test.go
diff options
context:
space:
mode:
authorbep <bjorn.erik.pedersen@gmail.com>2015-01-27 23:01:32 +0100
committerbep <bjorn.erik.pedersen@gmail.com>2015-01-27 23:01:32 +0100
commite52a76f559b6c2f44a9dd32f7f01e7824f0246de (patch)
treec17a5d3ea76bc99063dac83ccea71618b6e7cbc5 /helpers/path_test.go
parent0b5f8c8cb3a27669df99ce281100f4596f033db3 (diff)
Use runtime.GOOS to identify Windows specific path tests
Diffstat (limited to 'helpers/path_test.go')
-rw-r--r--helpers/path_test.go32
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) {