mirror of https://github.com/dirtbags/moth.git
40 lines
825 B
Go
40 lines
825 B
Go
package main
|
|
|
|
import (
|
|
"io/ioutil"
|
|
"testing"
|
|
|
|
"github.com/spf13/afero"
|
|
)
|
|
|
|
func NewTestTheme() *Theme {
|
|
return NewTheme(new(afero.MemMapFs))
|
|
}
|
|
|
|
func TestTheme(t *testing.T) {
|
|
s := NewTestTheme()
|
|
|
|
filename := "/index.html"
|
|
index := "this is the index"
|
|
afero.WriteFile(s.Fs, filename, []byte(index), 0644)
|
|
fileInfo, err := s.Fs.Stat(filename)
|
|
if err != nil {
|
|
t.Error(err)
|
|
}
|
|
|
|
if f, timestamp, err := s.Open("/index.html"); err != nil {
|
|
t.Error(err)
|
|
} else if buf, err := ioutil.ReadAll(f); err != nil {
|
|
t.Error(err)
|
|
} else if string(buf) != index {
|
|
t.Error("Read wrong value from index")
|
|
} else if !timestamp.Equal(fileInfo.ModTime()) {
|
|
t.Error("Timestamp compared wrong")
|
|
}
|
|
|
|
if f, _, err := s.Open("nofile"); err == nil {
|
|
f.Close()
|
|
t.Error("Opening non-existent file didn't return an error")
|
|
}
|
|
}
|