notes-server/server/file_test.go

58 lines
867 B
Go

package server
import (
"fmt"
"io/ioutil"
"net/http/httptest"
"os"
"strings"
"testing"
)
func TestIsFile(t *testing.T) {
if ok := isFile("/tmp"); ok {
t.Fatal(ok)
}
if ok := isFile("/dev/null"); !ok {
t.Fatal(ok)
}
if ok := isFile("/proc/not/real/tho"); ok {
t.Fatal(ok)
}
}
func TestNotesFile(t *testing.T) {
f, err := ioutil.TempFile(os.TempDir(), "until*")
if err != nil {
t.Fatal(err)
}
defer os.Remove(f.Name())
fmt.Fprintln(f, `
# Hello
## World
* This
* is
* bullets
| My | table | goes |
|----|-------|------|
| h | e | n |
`)
f.Close()
w := httptest.NewRecorder()
notesFile(f.Name(), w, nil)
s := string(w.Body.Bytes())
shouldContain := []string{
"tbody",
"h1",
"h2",
}
for _, should := range shouldContain {
if !strings.Contains(s, should) {
t.Fatalf("%s: %s", should, s)
}
}
t.Logf("%s", s)
}