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