Skip to content

Commit

Permalink
Merge pull request #655 from tdakkota/fix/html-allow-tg-spoiler-tag
Browse files Browse the repository at this point in the history
fix(html): support tg-spoiler tag too
  • Loading branch information
ernado committed Jan 1, 2022
2 parents 2a2238c + a34ebc2 commit 0a1c7e6
Show file tree
Hide file tree
Showing 2 changed files with 55 additions and 8 deletions.
21 changes: 13 additions & 8 deletions telegram/message/html/parser.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,14 +36,15 @@ func (p *htmlParser) fillAttrs() {
}

const (
pre = "pre"
code = "code"
em = "em"
ins = "ins"
strike = "strike"
del = "del"
strong = "strong"
span = "span"
pre = "pre"
code = "code"
em = "em"
ins = "ins"
strike = "strike"
del = "del"
strong = "strong"
span = "span"
tgSpoiler = "tg-spoiler"
)

func (p *htmlParser) tag(tn []byte) string {
Expand Down Expand Up @@ -75,6 +76,8 @@ func (p *htmlParser) tag(tn []byte) string {
return code
case span:
return span
case tgSpoiler:
return tgSpoiler
default:
return string(tn)
}
Expand Down Expand Up @@ -149,6 +152,8 @@ func (p *htmlParser) startTag() error {
if p.attr["class"] == "tg-spoiler" {
e.format = entity.Spoiler()
}
case tgSpoiler:
e.format = entity.Spoiler()
}

p.stack.push(e)
Expand Down
42 changes: 42 additions & 0 deletions telegram/message/html/tdlib_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -196,6 +196,48 @@ func tdlibHTMLTests() []htmlTestCase {
false,
"",
},
{
"➡️ ➡️<span class = \"tg-spoiler\">➡️ ➡️</span><b>➡️ ➡️</b>",
"➡️ ➡️➡️ ➡️➡️ ➡️",
entities(&tg.MessageEntitySpoiler{Offset: 5, Length: 5}, &tg.MessageEntityBold{Offset: 10, Length: 5}),
false,
"",
},
{
"🏟 🏟<span class=\"tg-spoiler\">🏟 &lt🏟</span>",
"🏟 🏟🏟 <🏟",
entities(&tg.MessageEntitySpoiler{Offset: 5, Length: 6}),
false,
"",
},
{
"🏟 🏟<span class=\"tg-spoiler\">🏟 &gt;<b aba = caba>&lt🏟</b></span>",
"🏟 🏟🏟 ><🏟",
entities(&tg.MessageEntitySpoiler{Offset: 5, Length: 7}, &tg.MessageEntityBold{Offset: 9, Length: 3}),
false,
"",
},
{
"➡️ ➡️<tg-spoiler>➡️ ➡️</tg-spoiler><b>➡️ ➡️</b>",
"➡️ ➡️➡️ ➡️➡️ ➡️",
entities(&tg.MessageEntitySpoiler{Offset: 5, Length: 5}, &tg.MessageEntityBold{Offset: 10, Length: 5}),
false,
"",
},
{
"🏟 🏟<tg-spoiler>🏟 &lt🏟</tg-spoiler>",
"🏟 🏟🏟 <🏟",
entities(&tg.MessageEntitySpoiler{Offset: 5, Length: 6}),
false,
"",
},
{
"🏟 🏟<tg-spoiler>🏟 &gt;<b aba = caba>&lt🏟</b></tg-spoiler>",
"🏟 🏟🏟 ><🏟",
entities(&tg.MessageEntitySpoiler{Offset: 5, Length: 7}, &tg.MessageEntityBold{Offset: 9, Length: 3}),
false,
"",
},
{
"<a href=telegram.org>\t</a>",
"\t",
Expand Down

0 comments on commit 0a1c7e6

Please sign in to comment.