From 84148988b39d023cb81e3b9026bc15fca9b4f8ee Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Wed, 26 Dec 2012 15:37:52 +0100 Subject: [PATCH] Fix tests broken by 6a06ca991. --- plugins/Admin/test.py | 4 ++++ src/irclib.py | 6 ++---- src/ircutils.py | 4 ++++ src/test.py | 3 +++ 4 files changed, 13 insertions(+), 4 deletions(-) diff --git a/plugins/Admin/test.py b/plugins/Admin/test.py index 717c1c77e..7260c5d1d 100644 --- a/plugins/Admin/test.py +++ b/plugins/Admin/test.py @@ -33,6 +33,8 @@ class AdminTestCase(PluginTestCase): plugins = ('Admin',) def testChannels(self): def getAfterJoinMessages(): + m = self.irc.takeMsg() + self.assertEqual(m.command, 'MODE') m = self.irc.takeMsg() self.assertEqual(m.command, 'MODE') m = self.irc.takeMsg() @@ -94,6 +96,8 @@ class AdminTestCase(PluginTestCase): def testPart(self): def getAfterJoinMessages(): + m = self.irc.takeMsg() + self.assertEqual(m.command, 'MODE') m = self.irc.takeMsg() self.assertEqual(m.command, 'MODE') m = self.irc.takeMsg() diff --git a/src/irclib.py b/src/irclib.py index 8f15b6578..767ed552e 100644 --- a/src/irclib.py +++ b/src/irclib.py @@ -506,10 +506,6 @@ class IrcState(IrcCommandDispatcher): self.channels[channel] = chan # I don't know why this assert was here. #assert msg.nick == irc.nick, msg - if msg.nick == irc.nick: - # Ask for the ban list - for channel in msg.args[0].split(','): - irc.queueMsg(ircmsgs.mode(channel, '+b')) def do367(self, irc, msg): # Example: @@ -1007,6 +1003,8 @@ class Irc(IrcCommandDispatcher): channel = msg.args[0] self.queueMsg(ircmsgs.who(channel)) # Ends with 315. self.queueMsg(ircmsgs.mode(channel)) # Ends with 329. + for channel in msg.args[0].split(','): + self.queueMsg(ircmsgs.mode(channel, '+b')) self.startedSync[channel] = time.time() def do315(self, msg): diff --git a/src/ircutils.py b/src/ircutils.py index 5d074c268..eced6641e 100644 --- a/src/ircutils.py +++ b/src/ircutils.py @@ -241,6 +241,10 @@ def separateModes(args): else: requireArguments = _minusRequireArguments if c in requireArguments: + if not args: + # It happens, for example with "MODE #channel +b", which + # is used for getting the list of all bans. + continue arg = args.pop(0) try: arg = int(arg) diff --git a/src/test.py b/src/test.py index a2885ae57..58f5e4fd7 100644 --- a/src/test.py +++ b/src/test.py @@ -401,6 +401,9 @@ class ChannelPluginTestCase(PluginTestCase): self.assertEqual(m.command, 'MODE') m = self.irc.takeMsg() self.failIf(m is None, 'No message back from joining channel.') + self.assertEqual(m.command, 'MODE') + m = self.irc.takeMsg() + self.failIf(m is None, 'No message back from joining channel.') self.assertEqual(m.command, 'WHO') def _feedMsg(self, query, timeout=None, to=None, frm=None, private=False,