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"]