def test_identity_info(self):
        """Test the IdentityInfo class"""

        db = ContentDB(tempfile.NamedTemporaryFile().name)
        id_a = dandelion.identity.generate()
        db.add_identities([id_a])

        # Test creation
        id_info_a = IdentityInfo(db, id_a)
        self.assertEqual(id_info_a.db, db)
        self.assertEqual(id_info_a.id.fingerprint, id_a.fingerprint)
        self.assertIsNone(id_info_a.nick)
        self.assertTrue(id_info_a.is_private())
        self.assertFalse(IdentityInfo(db, id_a.public_identity()).is_private())

        # Test nick set/get
        id_info_a.nick = "me"
        self.assertEqual(id_info_a.nick, "me")
        id_info_a.nick = "you"
        self.assertEqual(id_info_a.nick, "you")
        id_info_a.nick = None
        self.assertIsNone(id_info_a.nick)

        # Test bad input
        self.assertRaises(TypeError, id_info_a.nick, 0)
        self.assertRaises(TypeError, id_info_a.nick, b'')
Пример #2
0
    def set_nick(self, *event):
        """
        insert an edited line from the entry widget
        back into the listbox
        """

        if self._selected_identity:
            id_info = IdentityInfo(self._db, self._selected_identity)
            newnick = self.editnick.get()
            id_info.nick = newnick
            
            self.show_identities()

        self._selected_identity = None
        self.editnick.delete(0, 50)

        self.save_nickname.config(state=DISABLED)