{
struct channel_nick *cn;
PyNetworkNickObject *py_nick;
+ char *modestr = NULL;
- if (!PyArg_ParseTuple(args, "O", &py_nick))
+ if (!PyArg_ParseTuple(args, "O|s", &py_nick, &modestr))
return NULL;
if (!PyObject_TypeCheck(py_nick, &PyNetworkNickType)) {
cn = g_new0(struct channel_nick,1);
g_assert(cn != NULL);
+ string2mode(modestr, cn->modes);
cn->channel = self->parent->state;
cn->global_nick = py_nick->nick;
cn->channel->nicks = g_list_append(cn->channel->nicks, cn);
self.assertEquals(1, len(s.nicks))
self.assertEquals("me", s.nicks["me"].nick)
+ def test_add_nick_mode(self):
+ s = irc.ChannelState("#foo")
+ s.nicks.add(irc.Nick("me!foo@bar"), "+o")
+ self.assertEquals(1, len(s.nicks))
+ self.assertEquals("me", s.nicks["me"].nick)
+ self.assertEquals("+o", s.nicks.nick_mode("me"))
+
def test_set_key(self):
s = irc.ChannelState("#foo")
self.assertRaises(KeyError, lambda:s.mode_option['k'])