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:
Diffstat (limited to 'source/filesystem_test.go')
-rw-r--r--source/filesystem_test.go66
1 files changed, 13 insertions, 53 deletions
diff --git a/source/filesystem_test.go b/source/filesystem_test.go
index 90512ce3f..25ce0268f 100644
--- a/source/filesystem_test.go
+++ b/source/filesystem_test.go
@@ -14,11 +14,13 @@
package source
import (
- "bytes"
- "path/filepath"
+ "os"
"runtime"
- "strings"
"testing"
+
+ "github.com/gohugoio/hugo/hugofs"
+
+ "github.com/spf13/viper"
)
func TestEmptySourceFilesystem(t *testing.T) {
@@ -37,54 +39,6 @@ type TestPath struct {
dir string
}
-func TestAddFile(t *testing.T) {
- ss := newTestSourceSpec()
- tests := platformPaths
- for _, test := range tests {
- base := platformBase
- srcDefault := ss.NewFilesystem("")
- srcWithBase := ss.NewFilesystem(base)
-
- for _, src := range []*Filesystem{srcDefault, srcWithBase} {
-
- p := test.filename
- if !filepath.IsAbs(test.filename) {
- p = filepath.Join(src.Base, test.filename)
- }
-
- if err := src.add(p, bytes.NewReader([]byte(test.content))); err != nil {
- if err.Error() == "source: missing base directory" {
- continue
- }
- t.Fatalf("%s add returned an error: %s", p, err)
- }
-
- if len(src.Files()) != 1 {
- t.Fatalf("%s Files() should return 1 file", p)
- }
-
- f := src.Files()[0]
- if f.LogicalName() != test.logical {
- t.Errorf("Filename (Base: %q) expected: %q, got: %q", src.Base, test.logical, f.LogicalName())
- }
-
- b := new(bytes.Buffer)
- b.ReadFrom(f.Contents)
- if b.String() != test.content {
- t.Errorf("File (Base: %q) contents should be %q, got: %q", src.Base, test.content, b.String())
- }
-
- if f.Section() != test.section {
- t.Errorf("File section (Base: %q) expected: %q, got: %q", src.Base, test.section, f.Section())
- }
-
- if f.Dir() != test.dir {
- t.Errorf("Dir path (Base: %q) expected: %q, got: %q", src.Base, test.dir, f.Dir())
- }
- }
- }
-}
-
func TestUnicodeNorm(t *testing.T) {
if runtime.GOOS != "darwin" {
// Normalization code is only for Mac OS, since it is not necessary for other OSes.
@@ -100,10 +54,11 @@ func TestUnicodeNorm(t *testing.T) {
}
ss := newTestSourceSpec()
+ var fi os.FileInfo
for _, path := range paths {
- src := ss.NewFilesystem("")
- _ = src.add(path.NFD, strings.NewReader(""))
+ src := ss.NewFilesystem("base")
+ _ = src.add(path.NFD, fi)
f := src.Files()[0]
if f.BaseFileName() != path.NFC {
t.Fatalf("file name in NFD form should be normalized (%s)", path.NFC)
@@ -111,3 +66,8 @@ func TestUnicodeNorm(t *testing.T) {
}
}
+
+func newTestSourceSpec() SourceSpec {
+ v := viper.New()
+ return SourceSpec{Fs: hugofs.NewMem(v), Cfg: v}
+}