Add the 'connecting' event
[slixmpp.git] / tests / test_stanza_xep_0085.py
blobd62d2e46e695b5c500b778dc27e75c0baddb9e56
1 import unittest
2 from slixmpp import Message
3 from slixmpp.test import SlixTest
4 import slixmpp.plugins.xep_0085 as xep_0085
5 from slixmpp.xmlstream import register_stanza_plugin
8 class TestChatStates(SlixTest):
10 def setUp(self):
11 register_stanza_plugin(Message, xep_0085.stanza.Active)
12 register_stanza_plugin(Message, xep_0085.stanza.Composing)
13 register_stanza_plugin(Message, xep_0085.stanza.Gone)
14 register_stanza_plugin(Message, xep_0085.stanza.Inactive)
15 register_stanza_plugin(Message, xep_0085.stanza.Paused)
17 def testCreateChatState(self):
18 """Testing creating chat states."""
20 xmlstring = """
21 <message>
22 <%s xmlns="http://jabber.org/protocol/chatstates" />
23 </message>
24 """
26 msg = self.Message()
28 self.assertEqual(msg['chat_state'], '')
29 self.check(msg, "<message />", use_values=False)
31 msg['chat_state'] = 'active'
32 self.check(msg, xmlstring % 'active', use_values=False)
34 msg['chat_state'] = 'composing'
35 self.check(msg, xmlstring % 'composing', use_values=False)
37 msg['chat_state'] = 'gone'
38 self.check(msg, xmlstring % 'gone', use_values=False)
40 msg['chat_state'] = 'inactive'
41 self.check(msg, xmlstring % 'inactive', use_values=False)
43 msg['chat_state'] = 'paused'
44 self.check(msg, xmlstring % 'paused', use_values=False)
46 del msg['chat_state']
47 self.check(msg, "<message />")
49 suite = unittest.TestLoader().loadTestsFromTestCase(TestChatStates)