added test for unsolicided unavailable presence and fixed bug to make it pass

This commit is contained in:
Nathan Fritz
2010-05-13 09:07:20 +08:00
committed by Tom Nichols
parent 4c410dd48a
commit 7522839141
2 changed files with 20 additions and 3 deletions
+4 -3
View File
@@ -271,12 +271,13 @@ class basexmpp(object):
name = self.roster[jid].get('name', '')
if show == 'unavailable':
logging.debug("%s %s got offline" % (jid, resource))
if len(self.roster[jid]['presence']):
del self.roster[jid]['presence'][resource]
else:
del self.roster[jid]['presence'][resource]
if len(self.roster[jid]['presence']) == 0 and not self.roster[jid]['in_roster']:
del self.roster[jid]
if not wasoffline:
self.event("got_offline", presence)
else:
return False
self.event("changed_status", presence)
name = ''
if name: