From 3eb86b88693c272454e1972a894a96023b158491 Mon Sep 17 00:00:00 2001 From: Jeremy Fincher Date: Sat, 6 Sep 2003 02:01:44 +0000 Subject: [PATCH] Made PRIVMSG and NOTICE low-priority so TOPIC would happen before them. --- src/irclib.py | 2 +- test/test_irclib.py | 13 +++++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/irclib.py b/src/irclib.py index f1994b866..22448a973 100644 --- a/src/irclib.py +++ b/src/irclib.py @@ -123,7 +123,7 @@ class IrcMsgQueue(object): self.msgs.add(msg) if msg.command in ('MODE', 'KICK', 'PONG'): self.highpriority.enqueue(msg) - elif msg.command in ('PING', 'WHO'): + elif msg.command in ('PRIVMSG', 'PING', 'WHO', 'NOTICE'): self.lowpriority.enqueue(msg) else: self.normal.enqueue(msg) diff --git a/test/test_irclib.py b/test/test_irclib.py index b7e49a8f8..be75ee628 100644 --- a/test/test_irclib.py +++ b/test/test_irclib.py @@ -45,6 +45,7 @@ class IrcMsgQueueTestCase(unittest.TestCase): kick = ircmsgs.kick('#foo', 'PeterB') pong = ircmsgs.pong('123') ping = ircmsgs.ping('123') + topic = ircmsgs.topic('#foo') notice = ircmsgs.notice('jemfinch', 'supybot here') join = ircmsgs.join('#foo') who = ircmsgs.who('#foo') @@ -77,10 +78,7 @@ class IrcMsgQueueTestCase(unittest.TestCase): q.enqueue(self.msg) q.enqueue(self.kick) self.assertEqual(self.kick, q.dequeue()) - q.enqueue(self.ping) - q.enqueue(self.msg) self.assertEqual(self.msg, q.dequeue()) - self.assertEqual(self.ping, q.dequeue()) q.enqueue(self.ping) q.enqueue(self.msgs[0]) q.enqueue(self.kick) @@ -88,9 +86,9 @@ class IrcMsgQueueTestCase(unittest.TestCase): q.enqueue(self.mode) self.assertEqual(self.kick, q.dequeue()) self.assertEqual(self.mode, q.dequeue()) + self.assertEqual(self.ping, q.dequeue()) self.assertEqual(self.msgs[0], q.dequeue()) self.assertEqual(self.msgs[1], q.dequeue()) - self.assertEqual(self.ping, q.dequeue()) def testNoIdenticals(self): q = irclib.IrcMsgQueue() @@ -110,6 +108,13 @@ class IrcMsgQueueTestCase(unittest.TestCase): self.assertEqual(self.join, q.dequeue()) self.assertEqual(self.who, q.dequeue()) + def testTopicBeforePrivmsg(self): + q = irclib.IrcMsgQueue() + q.enqueue(self.msg) + q.enqueue(self.topic) + self.assertEqual(self.topic, q.dequeue()) + self.assertEqual(self.msg, q.dequeue()) + class ChannelTestCase(unittest.TestCase): def testPickleCopy(self):