hugo/source/filesystem_test.go
Noah Campbell 610c06e658 Introduce source.Filesystem
This provides an abstraction over how files are processed by Hugo.  This
allows for alternatives like CMS systems or Dropbox, etc.
2013-09-04 22:42:52 -07:00

33 lines
643 B
Go

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