diff options
| author | levlam <levlam@telegram.org> | 2024-01-10 14:36:27 +0300 |
|---|---|---|
| committer | levlam <levlam@telegram.org> | 2024-01-10 14:36:27 +0300 |
| commit | da031b3faa11c022558876ee7d1ce4b2b73418bf (patch) | |
| tree | de54af10a241a69b9918fb0d032d675f23c26a37 /test/message_entities.cpp | |
| parent | ce8a4b6d21616b94ef8fefa9038c56c0d8262f39 (diff) | |
Allow \r and other empty entities as a separator between MarkdownV2 blockquotes.
Diffstat (limited to 'test/message_entities.cpp')
| -rw-r--r-- | test/message_entities.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/test/message_entities.cpp b/test/message_entities.cpp index ec38ef7ca..d0ee0a79d 100644 --- a/test/message_entities.cpp +++ b/test/message_entities.cpp @@ -1424,6 +1424,7 @@ TEST(MessageEntities, parse_markdown) { check_parse_markdown("🏟 🏟", "Custom emoji URL must have an emoji identifier"); check_parse_markdown("🏟 🏟", "Invalid custom emoji identifier specified"); check_parse_markdown(">*b\n>ld \n>bo\nld*\nasd\ndef", "Can't find end of Bold entity at byte offset 1"); + check_parse_markdown(">\n*a*>2", "Character '>' is reserved and must be escaped with the preceding '\\'"); check_parse_markdown("", "", {}); check_parse_markdown("\\\\", "\\", {}); @@ -1493,6 +1494,8 @@ TEST(MessageEntities, parse_markdown) { check_parse_markdown("abc\n> \n> \n>\ndef", "abc\n \n \n\ndef", {{td::MessageEntity::Type::BlockQuote, 4, 5}}); check_parse_markdown(">", "", {}); check_parse_markdown(">a", "a", {{td::MessageEntity::Type::BlockQuote, 0, 1}}); + check_parse_markdown("\r>a", "\ra", {{td::MessageEntity::Type::BlockQuote, 1, 1}}); + check_parse_markdown("\r\r>\r\ra\r\n\r", "\r\r\r\ra\r\n\r", {{td::MessageEntity::Type::BlockQuote, 2, 5}}); check_parse_markdown( ">*bold _italic bold ~italic bold strikethrough ||italic bold strikethrough spoiler||~ __underline italic " "bold___ bold*", @@ -1513,6 +1516,22 @@ TEST(MessageEntities, parse_markdown) { {{td::MessageEntity::Type::Code, 0, 14}, {td::MessageEntity::Type::BlockQuote, 15, 4}}); check_parse_markdown(">1", "1", {{td::MessageEntity::Type::BlockQuote, 0, 1}}); check_parse_markdown(">\n1", "\n1", {{td::MessageEntity::Type::BlockQuote, 0, 1}}); + check_parse_markdown(">\n\r>2", "\n\r2", + {{td::MessageEntity::Type::BlockQuote, 0, 1}, {td::MessageEntity::Type::BlockQuote, 2, 1}}); + check_parse_markdown(">\n**>2", "\n2", + {{td::MessageEntity::Type::BlockQuote, 0, 1}, {td::MessageEntity::Type::BlockQuote, 1, 1}}); + // check_parse_markdown("*>abcd*", "abcd", + // {{td::MessageEntity::Type::BlockQuote, 0, 4}, {td::MessageEntity::Type::Bold, 0, 4}}); + check_parse_markdown(">*abcd*", "abcd", + {{td::MessageEntity::Type::BlockQuote, 0, 4}, {td::MessageEntity::Type::Bold, 0, 4}}); + // check_parse_markdown(">*abcd\n*", "abcd\n", + // {{td::MessageEntity::Type::BlockQuote, 0, 5}, {td::MessageEntity::Type::Bold, 0, 5}}); + check_parse_markdown(">*abcd*\n", "abcd\n", + {{td::MessageEntity::Type::BlockQuote, 0, 5}, {td::MessageEntity::Type::Bold, 0, 4}}); + check_parse_markdown("*>abcd\n*", "abcd\n", + {{td::MessageEntity::Type::BlockQuote, 0, 5}, {td::MessageEntity::Type::Bold, 0, 5}}); + check_parse_markdown("abc\n>def\n>def\n\r>ghi2\njkl", "abc\ndef\ndef\n\rghi2\njkl", + {{td::MessageEntity::Type::BlockQuote, 4, 8}, {td::MessageEntity::Type::BlockQuote, 13, 5}}); } static void check_parse_markdown_v3(td::string text, td::vector<td::MessageEntity> entities, |
