Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/gohugoio/hugo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbep <bjorn.erik.pedersen@gmail.com>2015-01-27 12:15:57 +0300
committerbep <bjorn.erik.pedersen@gmail.com>2015-01-27 12:15:57 +0300
commit5f9596e68c55830d046de3faa88ab0a8f68fcf76 (patch)
tree14a8979d33e6385f3aa24190a63aa8011b06003f
parentde76d4a84ef38ed92887ddd78da639000d6e6371 (diff)
Add more tests to helper
-rw-r--r--helpers/content_test.go11
-rw-r--r--helpers/path.go1
-rw-r--r--helpers/path_test.go48
3 files changed, 52 insertions, 8 deletions
diff --git a/helpers/content_test.go b/helpers/content_test.go
index 18cdfcc5d..63ef82f2f 100644
--- a/helpers/content_test.go
+++ b/helpers/content_test.go
@@ -1,6 +1,8 @@
package helpers
import (
+ "github.com/stretchr/testify/assert"
+ "html/template"
"testing"
)
@@ -20,3 +22,12 @@ func TestStripHTML(t *testing.T) {
}
}
}
+
+func TestStripEmptyNav(t *testing.T) {
+ cleaned := StripEmptyNav([]byte("do<nav>\n</nav>\n\nbedobedo"))
+ assert.Equal(t, []byte("dobedobedo"), cleaned)
+}
+
+func TestBytesToHTML(t *testing.T) {
+ assert.Equal(t, template.HTML("dobedobedo"), BytesToHTML([]byte("dobedobedo")))
+}
diff --git a/helpers/path.go b/helpers/path.go
index 165ce2314..f236f30aa 100644
--- a/helpers/path.go
+++ b/helpers/path.go
@@ -131,6 +131,7 @@ func AbsPathify(inPath string) string {
return filepath.Clean(inPath)
}
+ // todo consider move workingDir to argument list
return filepath.Clean(filepath.Join(viper.GetString("WorkingDir"), inPath))
}
diff --git a/helpers/path_test.go b/helpers/path_test.go
index 603723c27..0da8835a2 100644
--- a/helpers/path_test.go
+++ b/helpers/path_test.go
@@ -2,6 +2,7 @@ package helpers
import (
"fmt"
+ "github.com/spf13/viper"
"io/ioutil"
"os"
"path/filepath"
@@ -55,6 +56,37 @@ func TestMakePathToLower(t *testing.T) {
}
}
+func TestGetRelativePath(t *testing.T) {
+ tests := []struct {
+ path string
+ base string
+ expect interface{}
+ }{
+ {filepath.FromSlash("/a/b"), filepath.FromSlash("/a"), filepath.FromSlash("b")},
+ {filepath.FromSlash("/c"), filepath.FromSlash("/a/b"), filepath.FromSlash("../../c")},
+ {filepath.FromSlash("/c"), "", false},
+ }
+ for i, this := range tests {
+ // ultimately a fancy wrapper around filepath.Rel
+ result, err := GetRelativePath(this.path, this.base)
+
+ if b, ok := this.expect.(bool); ok && !b {
+ if err == nil {
+ t.Errorf("[%d] GetRelativePath didn't return an expected error", i)
+ }
+ } else {
+ if err != nil {
+ t.Errorf("[%d] GetRelativePath failed: %s", i, err)
+ continue
+ }
+ if result != this.expect {
+ t.Errorf("[%d] GetRelativePath got %v but expected %v", i, result, this.expect)
+ }
+ }
+
+ }
+}
+
func TestMakePathRelative(t *testing.T) {
type test struct {
inPath, path1, path2, output string
@@ -357,21 +389,21 @@ func TestExists(t *testing.T) {
}
-// TestAbsPathify cannot be tested further because it relies on the
-// viper.GetString("WorkingDir") which the test cannot know.
-// viper.GetString("WorkingDir") should be passed to AbsPathify as a
-// parameter.
func TestAbsPathify(t *testing.T) {
type test struct {
- input, expected string
+ inPath, workingDir, expected string
}
data := []test{
- {os.TempDir(), filepath.Clean(os.TempDir())}, // TempDir has trailing slash
- {filepath.FromSlash("/banana/../dir/"), filepath.FromSlash("/dir")},
+ {os.TempDir(), filepath.FromSlash("/work"), filepath.Clean(os.TempDir())}, // TempDir has trailing slash
+ {filepath.FromSlash("/banana/../dir/"), filepath.FromSlash("/work"), filepath.FromSlash("/dir")},
+ {"dir", filepath.FromSlash("/work"), filepath.FromSlash("/work/dir")},
}
for i, d := range data {
- expected := AbsPathify(d.input)
+ // 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 go %q", i, d.expected, expected)
}