mirror of
https://github.com/gohugoio/hugo.git
synced 2025-08-21 21:35:28 +02:00
Introduce source.Filesystem
This provides an abstraction over how files are processed by Hugo. This allows for alternatives like CMS systems or Dropbox, etc.
This commit is contained in:
32
source/filesystem_test.go
Normal file
32
source/filesystem_test.go
Normal file
@@ -0,0 +1,32 @@
|
||||
package source
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestEmptySourceFilesystem(t *testing.T) {
|
||||
src := new(Filesystem)
|
||||
if len(src.Files()) != 0 {
|
||||
t.Errorf("new filesystem should contain 0 files.")
|
||||
}
|
||||
}
|
||||
|
||||
func TestAddFile(t *testing.T) {
|
||||
src := new(Filesystem)
|
||||
src.add("foobar", bytes.NewReader([]byte("aaa")))
|
||||
if len(src.Files()) != 1 {
|
||||
t.Errorf("Files() should return 1 file")
|
||||
}
|
||||
|
||||
f := src.Files()[0]
|
||||
if f.Name != "foobar" {
|
||||
t.Errorf("File name should be 'foobar', got: %s", f.Name)
|
||||
}
|
||||
|
||||
b := new(bytes.Buffer)
|
||||
b.ReadFrom(f.Contents)
|
||||
if b.String() != "aaa" {
|
||||
t.Errorf("File contents should be 'aaa', got: %s", b.String())
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user