mirror of
https://github.com/rwinkhart/glamour-temp-MUTN.git
synced 2026-09-06 17:07:15 -04:00
Test TermRenderer with testdata/readme.markdown.in
This commit is contained in:
+36
-8
@@ -1,35 +1,63 @@
|
||||
package gold
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"io/ioutil"
|
||||
"testing"
|
||||
|
||||
"github.com/charmbracelet/gold/ansi"
|
||||
)
|
||||
|
||||
const (
|
||||
generate = false
|
||||
markdown = "testdata/readme.markdown.in"
|
||||
testFile = "testdata/readme.test"
|
||||
)
|
||||
|
||||
func TestTermRenderer(t *testing.T) {
|
||||
r, err := NewTermRenderer("notty", ansi.Options{
|
||||
r, err := NewTermRenderer("styles/dark.json", ansi.Options{
|
||||
WordWrap: 80,
|
||||
})
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
expLen := 166
|
||||
_, err = r.Write([]byte("# Test"))
|
||||
in, err := ioutil.ReadFile(markdown)
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
_, err = r.Write(in)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
err = r.Close()
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
b, err := ioutil.ReadAll(r)
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
t.Fatal(err)
|
||||
}
|
||||
if len(b) != expLen {
|
||||
t.Errorf("Expected rendered content with a length of %d, got %d!", expLen, len(b))
|
||||
|
||||
// generate
|
||||
if generate {
|
||||
err := ioutil.WriteFile(testFile, b, 0644)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// verify
|
||||
td, err := ioutil.ReadFile(testFile)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
if !bytes.Equal(td, b) {
|
||||
t.Errorf("Rendered output doesn't match!\nExpected: `\n%s`\nGot: `\n%s`\n",
|
||||
string(td), b)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user