shithub: hugo

Download patch

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)
-		}
-	}
-}