ref: e52a76f559b6c2f44a9dd32f7f01e7824f0246de
parent: 0b5f8c8cb3a27669df99ce281100f4596f033db3
author: bep <bjorn.erik.pedersen@gmail.com>
date: Tue Jan 27 18:01:32 EST 2015
Use runtime.GOOS to identify Windows specific path tests
--- a/helpers/path_test.go
+++ b/helpers/path_test.go
@@ -6,6 +6,7 @@
"io/ioutil"
"os"
"path/filepath"
+ "runtime"
"strconv"
"strings"
"testing"
@@ -398,6 +399,16 @@
{"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 @@
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) {--- a/helpers/path_unix_test.go
+++ /dev/null
@@ -1,27 +1,0 @@
-// +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)- }
- }
-}
--- a/helpers/path_windows_test.go
+++ /dev/null
@@ -1,27 +1,0 @@
-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)- }
- }
-}
--
⑨