|
23 | 23 | import sys |
24 | 24 | import unittest |
25 | 25 | from datetime import datetime |
| 26 | +import functools |
26 | 27 |
|
27 | 28 | sys.path.append('.') |
28 | 29 |
|
29 | | -from telegram import Message, User, Chat |
| 30 | +from telegram import Message, User, Chat, MessageEntity |
30 | 31 | from telegram.ext import Filters |
31 | 32 | from tests.base import BaseTest |
32 | 33 |
|
@@ -150,6 +151,27 @@ def test_filters_status_update(self): |
150 | 151 | self.assertTrue(Filters.status_update(self.message)) |
151 | 152 | self.message.pinned_message = None |
152 | 153 |
|
| 154 | + def test_entities_filter(self): |
| 155 | + e = functools.partial(MessageEntity, offset=0, length=0) |
| 156 | + |
| 157 | + self.message.entities = [e(MessageEntity.MENTION)] |
| 158 | + self.assertTrue(Filters.entities([MessageEntity.MENTION])(self.message)) |
| 159 | + |
| 160 | + self.message.entities = [] |
| 161 | + self.assertFalse(Filters.entities([MessageEntity.MENTION])(self.message)) |
| 162 | + |
| 163 | + self.message.entities = [e(MessageEntity.BOLD)] |
| 164 | + self.assertFalse(Filters.entities([MessageEntity.MENTION])(self.message)) |
| 165 | + |
| 166 | + self.message.entities = [e(MessageEntity.MENTION)] |
| 167 | + self.assertTrue( |
| 168 | + Filters.entities([MessageEntity.MENTION, MessageEntity.BOLD])(self.message)) |
| 169 | + self.message.entities = [e(MessageEntity.BOLD)] |
| 170 | + self.assertTrue( |
| 171 | + Filters.entities([MessageEntity.MENTION, MessageEntity.BOLD])(self.message)) |
| 172 | + self.assertFalse( |
| 173 | + Filters.entities([MessageEntity.MENTION, MessageEntity.TEXT_MENTION])(self.message)) |
| 174 | + |
153 | 175 |
|
154 | 176 | if __name__ == '__main__': |
155 | 177 | unittest.main() |
0 commit comments