2010-01-08 07:01:19 +00:00
import unittest
2010-04-08 06:56:44 +00:00
from xml . etree import cElementTree as ET
2010-01-08 07:01:19 +00:00
class testmessagestanzas ( unittest . TestCase ) :
def setUp ( self ) :
import sleekxmpp . stanza . message as m
2010-07-19 17:58:53 +00:00
from sleekxmpp . basexmpp import registerStanzaPlugin
2010-04-08 06:56:44 +00:00
from sleekxmpp . stanza . htmlim import HTMLIM
2010-07-19 17:58:53 +00:00
registerStanzaPlugin ( m . Message , HTMLIM )
2010-01-08 07:01:19 +00:00
self . m = m
def testGroupchatReplyRegression ( self ) :
" Regression groupchat reply should be to barejid "
msg = self . m . Message ( )
msg [ ' to ' ] = ' me@myserver.tld '
msg [ ' from ' ] = ' room@someservice.someserver.tld/somenick '
msg [ ' type ' ] = ' groupchat '
msg [ ' body ' ] = " this is a message "
msg . reply ( )
self . failUnless ( str ( msg [ ' to ' ] ) == ' room@someservice.someserver.tld ' )
2010-03-26 20:27:13 +00:00
def testAttribProperty ( self ) :
" Test attrib property returning self "
msg = self . m . Message ( )
msg . attrib . attrib . attrib [ ' to ' ] = ' usr@server.tld '
self . failUnless ( str ( msg [ ' to ' ] ) == ' usr@server.tld ' )
2010-04-08 06:56:44 +00:00
def testHTMLPlugin ( self ) :
" Test message/html/html stanza "
msgtxt = """ <message to= " fritzy@netflint.net/sleekxmpp " type= " chat " ><body>this is the plaintext message</body><html xmlns= " http://jabber.org/protocol/xhtml-im " ><body xmlns= " http://www.w3.org/1999/xhtml " ><p>This is the htmlim message</p></body></html></message> """
msg = self . m . Message ( )
msg [ ' to ' ] = " fritzy@netflint.net/sleekxmpp "
msg [ ' body ' ] = " this is the plaintext message "
msg [ ' type ' ] = ' chat '
p = ET . Element ( ' { http://www.w3.org/1999/xhtml}p ' )
p . text = " This is the htmlim message "
msg [ ' html ' ] [ ' html ' ] = p
msg2 = self . m . Message ( )
values = msg . getValues ( )
msg2 . setValues ( values )
self . failUnless ( msgtxt == str ( msg ) == str ( msg2 ) )
2010-03-26 20:27:13 +00:00
2010-01-08 07:01:19 +00:00
suite = unittest . TestLoader ( ) . loadTestsFromTestCase ( testmessagestanzas )