test_basechat.py 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. # Copyright (c) Twisted Matrix Laboratories.
  2. # See LICENSE for details.
  3. """
  4. Tests for L{twisted.words.im.basechat}.
  5. """
  6. from twisted.trial import unittest
  7. from twisted.words.im import basechat, basesupport
  8. class ChatUITests(unittest.TestCase):
  9. """
  10. Tests for the L{basechat.ChatUI} chat client.
  11. """
  12. def setUp(self):
  13. self.ui = basechat.ChatUI()
  14. self.account = basesupport.AbstractAccount("fooAccount", False, "foo",
  15. "password", "host", "port")
  16. self.person = basesupport.AbstractPerson("foo", self.account)
  17. def test_contactChangedNickNoKey(self):
  18. """
  19. L{basechat.ChatUI.contactChangedNick} on an
  20. L{twisted.words.im.interfaces.IPerson} who doesn't have an account
  21. associated with the L{basechat.ChatUI} instance has no effect.
  22. """
  23. self.assertEqual(self.person.name, "foo")
  24. self.assertEqual(self.person.account, self.account)
  25. self.ui.contactChangedNick(self.person, "bar")
  26. self.assertEqual(self.person.name, "foo")
  27. self.assertEqual(self.person.account, self.account)
  28. def test_contactChangedNickNoConversation(self):
  29. """
  30. L{basechat.ChatUI.contactChangedNick} changes the name for an
  31. L{twisted.words.im.interfaces.IPerson}.
  32. """
  33. self.ui.persons[self.person.name, self.person.account] = self.person
  34. self.assertEqual(self.person.name, "foo")
  35. self.assertEqual(self.person.account, self.account)
  36. self.ui.contactChangedNick(self.person, "bar")
  37. self.assertEqual(self.person.name, "bar")
  38. self.assertEqual(self.person.account, self.account)
  39. def test_contactChangedNickHasConversation(self):
  40. """
  41. If an L{twisted.words.im.interfaces.IPerson} is in a
  42. L{basechat.Conversation}, L{basechat.ChatUI.contactChangedNick} causes a
  43. name change for that person in both the L{basechat.Conversation} and the
  44. L{basechat.ChatUI}.
  45. """
  46. self.ui.persons[self.person.name, self.person.account] = self.person
  47. conversation = basechat.Conversation(self.person, self.ui)
  48. self.ui.conversations[self.person] = conversation
  49. self.assertEqual(self.person.name, "foo")
  50. self.assertEqual(self.person.account, self.account)
  51. self.ui.contactChangedNick(self.person, "bar")
  52. self.assertEqual(self.person.name, "bar")
  53. self.assertEqual(self.person.account, self.account)