from __future__ import print_function, unicode_literals import pytest import wee_slack @pytest.mark.parametrize( "case", ( { "type": "channel", "style": "default", "typing": False, "present": False, "name": "#general", }, { "type": "channel", "style": "default", "typing": True, "present": True, "name": "#general", }, { "type": "channel", "style": "long_default", "typing": False, "present": False, "name": "slack.weeslacktest.#general", }, { "type": "channel", "style": "long_default", "typing": True, "present": True, "name": "slack.weeslacktest.#general", }, { "type": "channel", "style": "sidebar", "typing": False, "present": False, "name": "#general", }, { "type": "channel", "style": "sidebar", "typing": True, "present": True, "name": ">general", }, { "type": "private", "style": "default", "typing": False, "present": False, "name": "&some-private-channel", }, { "type": "private", "style": "default", "typing": True, "present": True, "name": "&some-private-channel", }, { "type": "private", "style": "long_default", "typing": False, "present": False, "name": "slack.weeslacktest.&some-private-channel", }, { "type": "private", "style": "long_default", "typing": True, "present": True, "name": "slack.weeslacktest.&some-private-channel", }, { "type": "private", "style": "sidebar", "typing": False, "present": False, "name": "&some-private-channel", }, { "type": "private", "style": "sidebar", "typing": True, "present": True, "name": ">some-private-channel", }, { "type": "dm", "style": "default", "typing": False, "present": False, "name": "alice", }, { "type": "dm", "style": "default", "typing": True, "present": True, "name": "alice", }, { "type": "dm", "style": "long_default", "typing": False, "present": False, "name": "slack.weeslacktest.alice", }, { "type": "dm", "style": "long_default", "typing": True, "present": True, "name": "slack.weeslacktest.alice", }, { "type": "dm", "style": "sidebar", "typing": False, "present": False, "name": " alice", }, { "type": "dm", "style": "sidebar", "typing": False, "present": True, "name": "+alice", }, { "type": "dm", "style": "sidebar", "typing": True, "present": False, "name": ">alice", }, { "type": "dm", "style": "sidebar", "typing": True, "present": True, "name": ">alice", }, { "type": "mpdm", "style": "default", "typing": False, "present": False, "name": "CharlesTestuser,alice", }, { "type": "mpdm", "style": "default", "typing": True, "present": True, "name": "CharlesTestuser,alice", }, { "type": "mpdm", "style": "long_default", "typing": False, "present": False, "name": "slack.weeslacktest.CharlesTestuser,alice", }, { "type": "mpdm", "style": "long_default", "typing": True, "present": True, "name": "slack.weeslacktest.CharlesTestuser,alice", }, { "type": "mpdm", "style": "sidebar", "typing": False, "present": False, "name": "@CharlesTestuser,alice", }, { "type": "mpdm", "style": "sidebar", "typing": True, "present": True, "name": ">CharlesTestuser,alice", }, ), ) def test_formatted_name( case, channel_general, channel_private, channel_dm, channel_mpdm ): wee_slack.config.channel_name_typing_indicator = True wee_slack.config.show_buflist_presence = True channels = { "channel": channel_general, "private": channel_private, "dm": channel_dm, "mpdm": channel_mpdm, } name = channels[case["type"]].formatted_name( case["style"], case["typing"], case["present"] ) assert name == case["name"]