36 lines
1.2 KiB
Go
36 lines
1.2 KiB
Go
package ui
|
|
|
|
import (
|
|
"testing"
|
|
)
|
|
|
|
func TestParseMarkdown(t *testing.T) {
|
|
tests := []struct {
|
|
name string
|
|
in string
|
|
want string
|
|
}{
|
|
{"bold", "**test**", "[::b]test[::-]"},
|
|
{"italic", "*test*", "[::i]test[::-]"},
|
|
{"underline", "__test__", "[::u]test[::-]"},
|
|
{"strikethrough", "~~test~~", "[::s]test[::-]"},
|
|
}
|
|
|
|
for _, test := range tests {
|
|
t.Run(test.name, func(t *testing.T) {
|
|
if got := parseMarkdown(test.in); got != test.want {
|
|
t.Errorf("got: %s\nwant: %s", got, test.want)
|
|
}
|
|
})
|
|
}
|
|
}
|
|
|
|
func BenchmarkParseMarkdown(b *testing.B) {
|
|
in := `**Porro mollitia aut odio dolor rerum.** Saepe qui aut reiciendis illo nisi. Id illo et quo consequatur sint labore placeat maiores. __Commodi odio quae reprehenderit.__ Beatae illum est fugiat ut architecto itaque eveniet aut. ~~Consequuntur quas explicabo et impedit eum porro facere et.~~
|
|
|
|
Sit commodi sed iure et sed quae eveniet. *Sit non distinctio nihil sunt. Nesciunt cumque aspernatur *nulla* porro et earum quidem.* Sed omnis at commodi vel quasi. Fuga et **consequatur** molestias dicta vel provident et aspernatur. Dolorem molestias ipsa aut ~~facilis quae dolorem~~ eveniet dicta.`
|
|
|
|
for i := 0; i < b.N; i++ {
|
|
parseMarkdown(in)
|
|
}
|
|
}
|