ref: e52a76f559b6c2f44a9dd32f7f01e7824f0246de
parent: 0b5f8c8cb3a27669df99ce281100f4596f033db3
author: bep <[email protected]>
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)
- }
- }
-}