Add more state tests.
authorJelmer Vernooij <jelmer@samba.org>
Mon, 13 Apr 2009 12:07:03 +0000 (14:07 +0200)
committerJelmer Vernooij <jelmer@samba.org>
Mon, 13 Apr 2009 12:07:03 +0000 (14:07 +0200)
python/tests/test_irc.py

index bde8c3daebdd2b85f49a17705d83cf6612f66899..20baf05996e84fd058bdec2c01dfdde6fa32ffe9 100644 (file)
@@ -529,6 +529,30 @@ class ClientSendStateTests(unittest.TestCase):
         self.assertLines([])
 
 
+class NetworkStateDiffTests(unittest.TestCase):
+
+    def setUp(self):
+        super(NetworkStateDiffTests, self).setUp()
+        self.transport = DummyTransport()
+        self.client = irc.Client(self.transport, "myorigin", "description")
+        self.state1 = irc.NetworkState("nick", "user", "host")
+        self.state2 = irc.NetworkState("nick", "user", "host")
+
+    def assertLines(self, lines):
+        self.assertEquals(lines, self.transport.str_lines())
+
+    def test_new_channel(self):
+        self.state2.add(irc.ChannelState("#foo"))
+        self.client.send_state_diff(self.state1, self.state2)
+        self.assertLines(['JOIN #foo', 
+            ':myorigin 366 * #foo :End of /NAMES list'])
+
+    def test_leave_channel(self):
+        self.state1.add(irc.ChannelState("#foo"))
+        self.client.send_state_diff(self.state1, self.state2)
+        self.assertLines(['PART #foo'])
+
+
 class ChannelStateDiffTests(unittest.TestCase):
 
     def setUp(self):