From 3dbd496de8b6d358b657eada91acc6b71455ffbf Mon Sep 17 00:00:00 2001 From: Nathan Fritz Date: Sat, 23 Jan 2010 01:08:21 -0800 Subject: [PATCH] fixed presence['type'] w/ show value bug and added test to prove --- sleekxmpp/stanza/presence.py | 22 +++++++++++----------- testall.py | 4 +++- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/sleekxmpp/stanza/presence.py b/sleekxmpp/stanza/presence.py index 6a8247c5..2bf767d4 100644 --- a/sleekxmpp/stanza/presence.py +++ b/sleekxmpp/stanza/presence.py @@ -15,18 +15,18 @@ class Presence(RootStanza): return self.xml.find("{%s}show" % self.namespace) def setType(self, value): + show = self.getShowElement() if value in self.types: - show = self.getShowElement() - if value in self.types: - if show is not None: - self.xml.remove(show) - if value == 'available': - value = '' - self._setAttr('type', value) - elif value in self.showtypes: - if show is None: - show = ET.Element("{%s}show" % self.namespace) - show.text = value + if show is not None: + self.xml.remove(show) + if value == 'available': + value = '' + self._setAttr('type', value) + elif value in self.showtypes: + if show is None: + show = ET.Element("{%s}show" % self.namespace) + self.xml.append(show) + show.text = value return self def setPriority(self, value): diff --git a/testall.py b/testall.py index 982ad642..00c463b9 100644 --- a/testall.py +++ b/testall.py @@ -16,6 +16,7 @@ class testoverall(unittest.TestCase): """Invoking the tabnanny""" import tabnanny self.failIf(tabnanny.check("." + os.sep + 'sleekxmpp')) + #raise "Help!" def testMethodLength(self): """Testing for excessive method lengths""" @@ -62,4 +63,5 @@ if __name__ == '__main__': #sys.modules[modname].config = moduleconfig alltests.append(sys.modules[modname].suite) alltests_suite = unittest.TestSuite(alltests) - unittest.TextTestRunner(verbosity=2).run(alltests_suite) + result = unittest.TextTestRunner(verbosity=2).run(alltests_suite) + print("""""" % (result.testsRun, len(result.errors), len(result.failures), result.wasSuccessful()))