def test_missing(self): ''' Test missing counts. ''' s = blist.BuddyListSorter() s.addSorter(blist.ByGroup(False, 2)) s.addSorter(blist.ByService(True)) s.addSorter(blist.ByOnline(True, True)) cmps = [ blist.CustomOrder, blist.Service, blist.UserOrdering, blist.UserOrdering ] s.setComparators(cmps) p = Protocol('digsby01', 'aim') p2 = Protocol('steve', 'digsby') def show(root_group): s.set_root(root_group) g = s._gather() try: print dump_elem_tree(g) finally: s._done_gather(g) root_group = Group( 'root', p, 'root', RootGroup( 'root1', p, 'root1', Group('aim group', p, 'aim group', Buddy('abc', p, status='available'), Buddy('abc', p, status='away'), Buddy('def', p, status='offline'), Buddy('def', p, status='offline'), Buddy('ghi', p, status='away')), Buddy('12345', p, service='icq', status='offline'), Buddy('12345', p, service='aim', status='offline'), Buddy('fadjkls', p, status='mobile'), Group('group #2', p, 'group #2', Buddy('wut', p, status='mobile')), RootGroup( 'root2', p2, 'root2', Group( 'digsby group', p2, 'digsby group', Buddy('ninjadigsby', p2, status='away'), )))) leakcheck(show, root_group)
def test_group_ownership(self): s = blist.BuddyListSorter() s.addSorter(blist.ByGroup(True)) p = Protocol('aim', 'digsby01') s.set_root( Group('root', p, 'root', Group('subgroup', p, 'root', Buddy('abc', p)))) root = s._gather() assert root.name == 'root' subgroup = root[0] assert subgroup.name == 'subgroup' assert subgroup[0].name == 'abc' s._done_gather(root)
def Connect(self, invisible=False): self.change_state(self.Statuses.ONLINE) g1 = Group('Foo', self, 'Foo') g2 = Group('Bar', self, 'Bar') self.buddies['foobar'] = FakeBuddy('foobar', self) #g1.append(Contact(self.buddies['foobar'], 'foobar')) self.root_group.append(g1) self.root_group.append(g2) for i in range(int(self.NUM_BUDDIES)): g = random.choice((g1, g2)) buddy = FakeBuddy('FakeBuddy #%d' % (i % 3), self) buddy.status = random.choice(('away', 'available', 'offline')) g.append(buddy) self.root_group.notify()
def __init__(self, username, password, hub, server=None, **options): common.protocol.__init__(self, username, password, hub) self.root_group = Group('Root', self, 'Root') self.buddies = ObservableDict() self.self_buddy = FakeBuddy('self', self) self.buddies['self'] = self.self_buddy self.conversations = {}
def foo(): s = blist.BuddyListSorter() s.addSorter(blist.ByFakeRoot('Contacts')) s.addSorter(blist.ByGroup(True, 2)) # s.addSorter(blist.ByMobile(False)) # s.addSorter(blist.ByOnline(False)) p = Protocol('aim', 'digsby01') root = Group( 'root', p, 'root', Group('root1', p, 'root1', Group('Contacts', p, 'subgroup'), Buddy('abc', p)), ) root_ref = ref(root) proto_ref = ref(p) sorter_ref = ref(s) s.set_root(root) gathered = s._gather() gathered_ref = ref(gathered) protocols, ids = gathered._protocol_ids #assert protocols == [p] #assert ids == ['root'], repr(ids) assert not sip.ispyowned(gathered) s._done_gather(gathered) del gathered del s del protocols, ids del p, root assert root_ref() is None assert proto_ref() is None assert sorter_ref() is None assert gathered_ref() is None '''
def __init__(self, username, password, msgHub, server=None, login_as='online', *a, **k): super(SkyLibProtocol, self).__init__(username, password, msgHub) self.skylib = None self.skyacct = None self.root_group = Group('Root', self, 'Root') self.buddies = observable_dict() self.conversations = observable_dict()
def test_group_counts(self): sorter = blist.BuddyListSorter() sorter.addSorter(blist.ByFakeRoot("Contacts")) sorter.addSorter(blist.ByGroup(True, 2)) sorter.addSorter(blist.ByOnline(True, True)) p = Protocol('aim', 'digsby01') sorter.set_root( Group( 'root', p, 'root', Group('root1', p, 'root1', Buddy('abc', p), Buddy('def', p), Group( 'Contacts', p, 'Contacts', )))) n = sorter._gather() try: # TODO: make 0 and 2 properties here. assert '0/2' in n[0].display_string finally: sorter._done_gather(n)
def test_filter_offline(self): s = blist.BuddyListSorter() s.addSorter(blist.ByGroup(True)) s.addSorter(blist.ByMobile(True)) s.addSorter(blist.ByOnline(False, False)) s.setComparators([blist.Name]) p = Protocol('aim', 'digsby01') s.set_root( Group('root', p, 'root', Buddy('abc', p, status='available'), Buddy('def', p, status='offline'))) root = s._gather() s._done_gather(root) del s
def __init__(self, username, password, msg_hub, server=('irc.penultimatefire.com', 6667)): common.protocol.__init__(self, username, password, msg_hub) assert isinstance(server, tuple) self.server = server self.nick = username self.rooms = dict() self.privates = dict() self.buddies = IrcBuddies(self) self.cmds = IRCCommander(self) self.socket = IrcSocket() self.socket.bind_event('connected', self._on_connected) self.socket.bind_event('incoming_line', self.incoming_line) self.root_group = Group('Root', self, 'Root')
if before_ref > after_ref: failures.append(' -%d: %s' % (before_ref - after_ref, objrepr(args[i]))) elif after_ref > before_ref: failures.append(' +%d: %s' % (after_ref - before_ref, objrepr(args[i]))) if failures: raise AssertionError('\n'.join(['%r leaked:' % func.__name__] + failures)) test_protocol = Protocol(u'digsby01', u'aim') test_buddy = Buddy(u'digsby13', test_protocol) test_root_group = Group( u'root', test_protocol, 'root', Group(u'buddies', test_protocol, 'buddies', test_buddy)) class TestSorter(TestCase): def test_sorts_by(self): import blist s = blist.BuddyListSorter() assert s.sortsBy(blist.Name) assert not s.sortsBy(blist.LogSize) def test_leaks(self): ''' test that python conversion methods don't leak refcounts '''