(new): tgfmt package
(fix): formatting helpers (ci/cd): go checks (tests): tgfmt coverage
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
package tgfmt
|
||||
|
||||
import "testing"
|
||||
|
||||
func TestEscapeMarkdown(t *testing.T) {
|
||||
got := EscapeMarkdown("a_b*c[1]`x`")
|
||||
want := Markdown("a\\_b\\*c\\[1]\\`x\\`")
|
||||
|
||||
if got != want {
|
||||
t.Fatalf("EscapeMarkdown() = %q, want %q", got, want)
|
||||
}
|
||||
}
|
||||
|
||||
func TestMarkdownFormattingMethods(t *testing.T) {
|
||||
tests := []struct {
|
||||
name string
|
||||
got Markdown
|
||||
want Markdown
|
||||
}{
|
||||
{name: "bold", got: EscapeMarkdown("text").Bold(), want: "*text*"},
|
||||
{name: "italic", got: EscapeMarkdown("text").Italic(), want: "_text_"},
|
||||
{name: "link", got: EscapeMarkdown("Laniakea").Link("https://example.test"), want: "[Laniakea](https://example.test)"},
|
||||
{name: "mention", got: EscapeMarkdown("User").Mention(123), want: "[User](tg://user?id=123)"},
|
||||
{name: "inline code", got: EscapeMarkdown("text").InlineCode(), want: "`text`"},
|
||||
{name: "block code", got: EscapeMarkdown("text").BlockCode(), want: "```\ntext\n```"},
|
||||
{name: "block code language", got: EscapeMarkdown("text").BlockCodeLanguage("go"), want: "```go\ntext\n```"},
|
||||
}
|
||||
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
if tt.got != tt.want {
|
||||
t.Fatalf("formatted Markdown = %q, want %q", tt.got, tt.want)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user