diff options
author | Lance stout <lancestout@gmail.com> | 2010-05-31 13:31:11 -0400 |
---|---|---|
committer | Lance stout <lancestout@gmail.com> | 2010-05-31 13:31:11 -0400 |
commit | 109af1b1b65901883e8776b5d509dd5c87bda4a1 (patch) | |
tree | 966343f9d3b2d1ebf86d4fbc0eec189d71087642 /tests | |
parent | 82a3918aa475dbd4abc8941b8c5601f61ab2e508 (diff) | |
parent | 629f6e76a9c003ef8befdfdf023f2e5b9eadc718 (diff) | |
download | slixmpp-109af1b1b65901883e8776b5d509dd5c87bda4a1.tar.gz slixmpp-109af1b1b65901883e8776b5d509dd5c87bda4a1.tar.bz2 slixmpp-109af1b1b65901883e8776b5d509dd5c87bda4a1.tar.xz slixmpp-109af1b1b65901883e8776b5d509dd5c87bda4a1.zip |
Merge branch 'xep_0085' into develop
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test_chatstates.py | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/tests/test_chatstates.py b/tests/test_chatstates.py new file mode 100644 index 00000000..8878e318 --- /dev/null +++ b/tests/test_chatstates.py @@ -0,0 +1,47 @@ +import unittest +from xml.etree import cElementTree as ET +from sleekxmpp.xmlstream.matcher.stanzapath import StanzaPath +from . import xmlcompare + +import sleekxmpp.plugins.xep_0085 as cs + +def stanzaPlugin(stanza, plugin): + stanza.plugin_attrib_map[plugin.plugin_attrib] = plugin + stanza.plugin_tag_map["{%s}%s" % (plugin.namespace, plugin.name)] = plugin + +class testchatstates(unittest.TestCase): + + def setUp(self): + self.cs = cs + stanzaPlugin(self.cs.Message, self.cs.Active) + stanzaPlugin(self.cs.Message, self.cs.Composing) + stanzaPlugin(self.cs.Message, self.cs.Gone) + stanzaPlugin(self.cs.Message, self.cs.Inactive) + stanzaPlugin(self.cs.Message, self.cs.Paused) + + def try2Methods(self, xmlstring, msg): + msg2 = self.cs.Message(None, self.cs.ET.fromstring(xmlstring)) + self.failUnless(xmlstring == str(msg) == str(msg2), + "Two methods for creating stanza don't match") + + def testCreateChatState(self): + """Testing creating chat states.""" + xmlstring = """<message><%s xmlns="http://jabber.org/protocol/chatstates" /></message>""" + + msg = self.cs.Message() + msg['chat_state'].active() + self.try2Methods(xmlstring % 'active', msg) + + msg['chat_state'].composing() + self.try2Methods(xmlstring % 'composing', msg) + + msg['chat_state'].gone() + self.try2Methods(xmlstring % 'gone', msg) + + msg['chat_state'].inactive() + self.try2Methods(xmlstring % 'inactive', msg) + + msg['chat_state'].paused() + self.try2Methods(xmlstring % 'paused', msg) + +suite = unittest.TestLoader().loadTestsFromTestCase(testchatstates) |