diff --git a/util/discord_test.go b/util/discord_test.go new file mode 100644 index 0000000..6d4460b --- /dev/null +++ b/util/discord_test.go @@ -0,0 +1,36 @@ +package util + +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) + } +}