Fixed nested hashtag, cashtag and email entnties parsing (#1263)

* Fixed nested hashtag, cashtag and email message entities not being parsed correctly when these entities are inside another entity.

* Tests coverage
This commit is contained in:
Alex Root Junior 2023-08-13 17:55:35 +03:00 committed by GitHub
parent 020db29e6d
commit a80031509e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 42 additions and 1 deletions

View file

@ -113,6 +113,14 @@ class TestTextDecoration:
):
assert decorator.apply_entity(entity, "test") == result
def test_unknown_apply_entity(self):
assert (
html_decoration.apply_entity(
MessageEntity(type="unknown", offset=0, length=5), "<test>"
)
== "&lt;test&gt;"
)
@pytest.mark.parametrize(
"decorator,before,after",
[
@ -243,6 +251,33 @@ class TestTextDecoration:
[MessageEntity(type="bold", offset=0, length=8, url=None, user=None)],
"<b>👋🏾 Hi!</b>",
],
[
html_decoration,
"#test",
[
MessageEntity(type="hashtag", offset=0, length=5),
MessageEntity(type="bold", offset=0, length=5),
],
"<b>#test</b>",
],
[
html_decoration,
"$TEST",
[
MessageEntity(type="cashtag", offset=0, length=5),
MessageEntity(type="bold", offset=0, length=5),
],
"<b>$TEST</b>",
],
[
html_decoration,
"test@example.com",
[
MessageEntity(type="email", offset=0, length=16),
MessageEntity(type="bold", offset=0, length=16),
],
"<b>test@example.com</b>",
],
],
)
def test_unparse(