Corrected test errors.

There was a bug in the XML compare method.
This commit is contained in:
Lance Stout 2010-10-07 19:42:28 -04:00
parent 42bfca1c87
commit e02ffe8547
6 changed files with 23 additions and 9 deletions

View file

@ -78,7 +78,9 @@ class Presence(RootStanza):
Arguments: Arguments:
show -- Must be one of: away, chat, dnd, or xa. show -- Must be one of: away, chat, dnd, or xa.
""" """
if show in self.showtypes: if show is None:
self._delSub('show')
elif show in self.showtypes:
self._setSubText('show', text=show) self._setSubText('show', text=show)
return self return self
@ -99,6 +101,14 @@ class Presence(RootStanza):
self['show'] = value self['show'] = value
return self return self
def delType(self):
"""
Remove both the type attribute and the <show> element.
"""
self._delAttr('type')
self._delSub('show')
def setPriority(self, value): def setPriority(self, value):
""" """
Set the entity's priority value. Some server use priority to Set the entity's priority value. Some server use priority to

View file

@ -423,7 +423,9 @@ class ElementBase(object):
self._delAttr(attrib) self._delAttr(attrib)
elif attrib in self.plugin_attrib_map: elif attrib in self.plugin_attrib_map:
if attrib in self.plugins: if attrib in self.plugins:
xml = self.plugins[attrib].xml
del self.plugins[attrib] del self.plugins[attrib]
self.xml.remove(xml)
return self return self
def _setAttr(self, name, value): def _setAttr(self, name, value):
@ -511,7 +513,7 @@ class ElementBase(object):
element = self.xml.find(name) element = self.xml.find(name)
if not text and not keep: if not text and not keep:
return self.__delitem__(name) return self._delSub(name)
if element is None: if element is None:
# We need to add the element. If the provided name was # We need to add the element. If the provided name was

0
tests/__init__.py Normal file
View file

View file

@ -607,7 +607,7 @@ class TestElementBase(SleekTest):
<foo xmlns="foo"> <foo xmlns="foo">
<foobar qux="a" /> <foobar qux="a" />
</foo> </foo>
""") """, use_values=False)
self.failUnless(len(stanza) == 1, self.failUnless(len(stanza) == 1,
"Incorrect stanza size with 1 substanza.") "Incorrect stanza size with 1 substanza.")
@ -617,7 +617,7 @@ class TestElementBase(SleekTest):
<foobar qux="a" /> <foobar qux="a" />
<foobar qux="b" /> <foobar qux="b" />
</foo> </foo>
""") """, use_values=False)
self.failUnless(len(stanza) == 2, self.failUnless(len(stanza) == 2,
"Incorrect stanza size with 2 substanzas.") "Incorrect stanza size with 2 substanzas.")
@ -627,7 +627,7 @@ class TestElementBase(SleekTest):
<foo xmlns="foo"> <foo xmlns="foo">
<foobar qux="b" /> <foobar qux="b" />
</foo> </foo>
""") """, use_values=False)
# Test iterating over substanzas # Test iterating over substanzas
stanza.append(substanza1) stanza.append(substanza1)

View file

@ -30,11 +30,13 @@ class TestErrorStanzas(SleekTest):
self.failUnless(msg['error']['condition'] == 'item-not-found', "Error condition doesn't match.") self.failUnless(msg['error']['condition'] == 'item-not-found', "Error condition doesn't match.")
del msg['error']['condition'] msg['error']['condition'] = 'resource-constraint'
self.check_message(msg, """ self.check_message(msg, """
<message type="error"> <message type="error">
<error type="cancel" /> <error type="cancel">
<resource-constraint xmlns="urn:ietf:params:xml:ns:xmpp-stanzas" />
</error>
</message> </message>
""") """)
@ -52,6 +54,6 @@ class TestErrorStanzas(SleekTest):
<text xmlns="urn:ietf:params:xml:ns:xmpp-stanzas">Error!</text> <text xmlns="urn:ietf:params:xml:ns:xmpp-stanzas">Error!</text>
</error> </error>
</message> </message>
""") """, use_values=False)
suite = unittest.TestLoader().loadTestsFromTestCase(TestErrorStanzas) suite = unittest.TestLoader().loadTestsFromTestCase(TestErrorStanzas)

View file

@ -25,7 +25,7 @@ class TestGmail(SleekTest):
newer-than-tid="11134623426430234" newer-than-tid="11134623426430234"
q="is:starred" /> q="is:starred" />
</iq> </iq>
""") """, use_values=False)
def testMailBox(self): def testMailBox(self):
"""Testing reading from Gmail mailbox result""" """Testing reading from Gmail mailbox result"""