47 lines
689 B
Go
47 lines
689 B
Go
package server
|
|
|
|
import (
|
|
"fmt"
|
|
"io/ioutil"
|
|
"net/http/httptest"
|
|
"os"
|
|
"strings"
|
|
"testing"
|
|
)
|
|
|
|
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()
|
|
p := Path{Local: f.Name()}
|
|
notesFile(p, 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)
|
|
}
|