26 lines
480 B
Go
26 lines
480 B
Go
|
|
package textedit_test
|
||
|
|
|
||
|
|
import (
|
||
|
|
"bytes"
|
||
|
|
"code.squareroundforest.org/arpio/textedit"
|
||
|
|
"testing"
|
||
|
|
)
|
||
|
|
|
||
|
|
func TestEscape(t *testing.T) {
|
||
|
|
t.Run("basic", func(t *testing.T) {
|
||
|
|
var b bytes.Buffer
|
||
|
|
w := textedit.New(&b, textedit.Escape('\\', '\n', '\t', '"'))
|
||
|
|
if _, err := w.Write([]byte("foo\nbar\t\"baz\"")); err != nil {
|
||
|
|
t.Fatal(err)
|
||
|
|
}
|
||
|
|
|
||
|
|
if err := w.Flush(); err != nil {
|
||
|
|
t.Fatal(err)
|
||
|
|
}
|
||
|
|
|
||
|
|
if b.String() != "foo\\\nbar\\\t\\\"baz\\\"" {
|
||
|
|
t.Fatal(b.String())
|
||
|
|
}
|
||
|
|
})
|
||
|
|
}
|