X-Git-Url: https://git.giacomolli.uk/onechat/blobdiff_plain/de170709599e849c6b409d247b800dc68b0c7ab7..6004a6d0f7af1ecf3d0ac976f50bb4f93c619887:/telegram_markdown_test.go diff --git a/telegram_markdown_test.go b/telegram_markdown_test.go index d80d575..98b1f75 100644 --- a/telegram_markdown_test.go +++ b/telegram_markdown_test.go @@ -249,42 +249,52 @@ func TestEscapeTags(t *testing.T) { { name: "tag in prose shows as text", markdown: "Use a
tag for the rest.", - escaped: `Use a \
tag for the rest.`, + escaped: "Use a <details> tag for the rest.", }, { name: "tag in inline code stays as written", - markdown: "Use `
` and `` a.", - escaped: "Use `
` and `` a.", + markdown: "Use `
` and `` a.", + escaped: "Use `
` and `` a.", }, { name: "tag in a code block stays as written", - markdown: "

\n\n```html\n

\n```\n\n

", - escaped: "\\

\n\n```html\n

\n```\n\n\\

", + markdown: "

\n\n```html\n

&\n```\n\n

", + escaped: "<p>\n\n```html\n

&\n```\n\n<p>", }, { name: "code block that does not close stays as written", markdown: "a \n```\n
", - escaped: "a \\\n```\n
", + escaped: "a <b>\n```\n
", }, { name: "tag in a table cell shows as text", markdown: "| Tag | Use |\n|-----|-----|\n|
| `
` |", - escaped: "| Tag | Use |\n|-----|-----|\n| \\
| `
` |", + escaped: "| Tag | Use |\n|-----|-----|\n| <br> | `
` |", }, { name: "autolink shows as text", markdown: "See .", - escaped: `See \.`, + escaped: "See <https://example.com>.", }, { - name: "backtick run that opens no code stays as text", - markdown: "a ``b` ", - escaped: "a ``b` \\", + name: "entity in prose shows as written", + markdown: "Write < or & for R&D.", + escaped: "Write &lt; or &amp; for R&D.", + }, + { + name: "backslash before a bracket gets no special case", + markdown: `a \ and \&c`, + escaped: `a \<b> and \&c`, }, { - name: "escaped bracket stays as written", - markdown: `a \ and \\`, - escaped: `a \ and \\\`, + name: "backtick after a backslash opens no code", + markdown: "a \\`\\` c", + escaped: "a \\`<b>\\` c", + }, + { + name: "backtick run that opens no code stays as text", + markdown: "a ``b` ", + escaped: "a ``b` <c>", }, { name: "dollar, pipe, and equals signs stay as written", @@ -296,6 +306,7 @@ func TestEscapeTags(t *testing.T) { for _, tc := range testCases { t.Run(tc.name, func(t *testing.T) { require.Equal(t, tc.escaped, telegramEscapeTags(tc.markdown)) + require.Equal(t, tc.markdown, telegramUnescapeTags(tc.escaped)) }) } }