diff options
Diffstat (limited to '_pytest')
-rw-r--r-- | _pytest/test_render_blocks.py | 247 |
1 files changed, 247 insertions, 0 deletions
diff --git a/_pytest/test_render_blocks.py b/_pytest/test_render_blocks.py new file mode 100644 index 0000000..258fc49 --- /dev/null +++ b/_pytest/test_render_blocks.py @@ -0,0 +1,247 @@ +from __future__ import print_function, unicode_literals + +import pytest + +import wee_slack + + +@pytest.mark.parametrize( + "case", + [ + { + "blocks": [ + { + "type": "rich_text", + "block_id": "dhGA", + "elements": [ + { + "type": "rich_text_section", + "elements": [ + {"type": "text", "text": "normal "}, + { + "type": "text", + "text": "bold", + "style": {"bold": True}, + }, + {"type": "text", "text": " "}, + { + "type": "text", + "text": "italic", + "style": {"italic": True}, + }, + {"type": "text", "text": " "}, + { + "type": "text", + "text": "strikethrough", + "style": {"strike": True}, + }, + {"type": "text", "text": " "}, + { + "type": "text", + "text": "bold-italic-strikethrough", + "style": { + "bold": True, + "italic": True, + "strike": True, + }, + }, + {"type": "text", "text": " "}, + { + "type": "link", + "url": "https://vg.no", + "text": "link", + }, + {"type": "text", "text": "\n"}, + ], + }, + { + "type": "rich_text_list", + "elements": [ + { + "type": "rich_text_section", + "elements": [{"type": "text", "text": "number"}], + }, + { + "type": "rich_text_section", + "elements": [{"type": "text", "text": "list"}], + }, + ], + "style": "ordered", + "indent": 0, + "border": 0, + }, + { + "type": "rich_text_quote", + "elements": [ + {"type": "text", "text": "some quote\nmore quote"} + ], + }, + { + "type": "rich_text_section", + "elements": [ + { + "type": "text", + "text": "inline code", + "style": {"code": True}, + }, + {"type": "text", "text": "\n"}, + ], + }, + { + "type": "rich_text_preformatted", + "elements": [ + {"type": "text", "text": "block code\nmore code"} + ], + "border": 0, + }, + { + "type": "rich_text_section", + "elements": [ + {"type": "user", "user_id": "U407ABLLW"}, + {"type": "text", "text": ": "}, + { + "type": "emoji", + "name": "open_mouth", + "unicode": "1f62e", + }, + ], + }, + ], + } + ], + "rendered": [ + "normal <[color bold]>*bold*<[color -bold]> <[color italic]>_italic_<[color -italic]> ~strikethrough~ <[color bold]><[color italic]>*_~bold-italic-strikethrough~_*<[color -bold]><[color -italic]> https://vg.no (link)", + "1. number", + "2. list", + "> some quote", + "> more quote", + "`inline code`", + "```\nblock code\nmore code\n```", + "@alice: :open_mouth:", + ], + }, + { + "blocks": [ + { + "type": "rich_text", + "block_id": "D=pkP", + "elements": [ + { + "type": "rich_text_list", + "elements": [ + { + "type": "rich_text_section", + "elements": [{"type": "text", "text": "number"}], + } + ], + "style": "ordered", + "indent": 0, + "border": 0, + }, + { + "type": "rich_text_list", + "elements": [ + { + "type": "rich_text_section", + "elements": [{"type": "text", "text": "list"}], + } + ], + "style": "ordered", + "indent": 1, + "border": 0, + }, + { + "type": "rich_text_list", + "elements": [ + { + "type": "rich_text_section", + "elements": [{"type": "text", "text": "third"}], + } + ], + "style": "ordered", + "indent": 2, + "border": 0, + }, + { + "type": "rich_text_list", + "elements": [ + { + "type": "rich_text_section", + "elements": [ + {"type": "text", "text": "end number list"} + ], + } + ], + "style": "ordered", + "indent": 0, + "offset": 1, + "border": 0, + }, + { + "type": "rich_text_list", + "elements": [ + { + "type": "rich_text_section", + "elements": [{"type": "text", "text": "bullet"}], + } + ], + "style": "bullet", + "indent": 0, + "border": 0, + }, + { + "type": "rich_text_list", + "elements": [ + { + "type": "rich_text_section", + "elements": [{"type": "text", "text": "list"}], + } + ], + "style": "bullet", + "indent": 1, + "border": 0, + }, + { + "type": "rich_text_list", + "elements": [ + { + "type": "rich_text_section", + "elements": [{"type": "text", "text": "third"}], + } + ], + "style": "bullet", + "indent": 2, + "border": 0, + }, + { + "type": "rich_text_list", + "elements": [ + { + "type": "rich_text_section", + "elements": [ + {"type": "text", "text": "end bullet list"} + ], + } + ], + "style": "bullet", + "indent": 0, + "border": 0, + }, + ], + } + ], + "rendered": [ + "1. number", + " a. list", + " i. third", + "2. end number list", + "• bullet", + " ◦ list", + " ▪︎ third", + "• end bullet list", + ], + }, + ], +) +def test_render_blocks(case): + assert wee_slack.unfurl_blocks(case["blocks"]) == case["rendered"] |