about summary refs log tree commit diff stats
path: root/src
Commit message (Expand)AuthorAgeFilesLines
...
* Set mucuser in carbon caseMichael Vetter2019-10-291-0/+8
* Actually log MUC PM messagesMichael Vetter2019-10-285-28/+33
* Remove not neede freeMichael Vetter2019-10-251-1/+0
* Remove /leave commandMichael Vetter2019-10-222-27/+0
* Make prof_identifier constMichael Vetter2019-10-221-1/+1
* Display ownership of connection_get_profanity_identifierMichael Vetter2019-10-222-2/+2
* Use UUID in origin-id and idMichael Vetter2019-10-222-11/+11
* Change default text colors to default (#1213)Martin2019-10-221-8/+8
* Make sure date vars are initializedMichael Vetter2019-10-211-3/+3
* Properly display chatwin historyMichael Vetter2019-10-212-5/+10
* Remove old commentMichael Vetter2019-10-211-1/+0
* Merge pull request #1209 from jubalh/feature/xep-0359Michael Vetter2019-10-2118-117/+263
|\
| * Set prof_ident to NULL after freeMichael Vetter2019-10-211-1/+2
| * Rename _calculate_identifier to _compute_identifierMichael Vetter2019-10-201-3/+3
| * Rename random_bytes to profanity_instance_idMichael Vetter2019-10-191-6/+6
| * Fix which message we want to logMichael Vetter2019-10-191-5/+3
| * Free hmac and msgidMichael Vetter2019-10-192-3/+7
| * Free prof_identifier in case of reconnectMichael Vetter2019-10-191-0/+3
| * Move ProfMessage and message_is_sent_by_us to xmppMichael Vetter2019-10-192-23/+24
| * Change origin-id/id algoMichael Vetter2019-10-182-14/+29
| * Move message sent by us logic in own functionMichael Vetter2019-10-183-12/+21
| * sv_ev_room_message: log in all cases if not our clientMichael Vetter2019-10-181-14/+13
| * sv_ev_room_message: check if message->id is not NULLMichael Vetter2019-10-181-1/+1
| * Add connection_get_profanity_identifier stubMichael Vetter2019-10-183-3/+3
| * Add XEP-0359 to capabilitiesMichael Vetter2019-10-181-0/+1
| * Log incoming MUC messages if origin-id sais they dont come from usMichael Vetter2019-10-183-12/+29
| * Remove prefix from stanza idMichael Vetter2019-10-1710-64/+64
| * Change algo for connection_create_stanza_id()Michael Vetter2019-10-171-7/+11
| * Change connection_create_stanza_id()Michael Vetter2019-10-171-11/+11
| * Calculate identifier upon connectMichael Vetter2019-10-161-5/+28
| * Rename identification fileMichael Vetter2019-10-162-2/+4
| * Use random string for random-bytes identifierMichael Vetter2019-10-161-4/+5
| * Move code from jid_random_resource() into own functionMichael Vetter2019-10-163-12/+26
| * Create random-bytes fileMichael Vetter2019-10-162-0/+54
* | plugins/python: fix double _XOPEN_SOURCE definitionDmitry Podgorny2019-10-152-0/+2
|/
* Null-set account structMichael Vetter2019-10-141-0/+1
* Fix memory leak in cmd_join()Dmitry Podgorny2019-10-141-1/+3
* Add option to hilight unread rooms in /wins commandMichael Vetter2019-10-123-1/+8
* Make cmd_account saferMichael Vetter2019-10-101-2/+6
* Sort includes in python_api.cMichael Vetter2019-10-071-5/+2
* Improve MUC 1:1 loggingMichael Vetter2019-10-073-25/+84
* Fix typo handel -> handleMichael Vetter2019-10-061-3/+3
* Revert "Fix memleak in cmd_join"Michael Vetter2019-10-061-5/+0
* Don't log own messages on incoming MUCMichael Vetter2019-10-061-4/+7
* Add account clear example to helpMichael Vetter2019-10-061-1/+3
* Free strings in autocomplete_param_no_with_funcMichael Vetter2019-10-061-0/+7
* Fix invalid read in muc codeMichael Vetter2019-10-061-2/+4
* Fix memleak in cmd_joinMichael Vetter2019-10-061-0/+5
* Free strings in all cases in cmd_roomsMichael Vetter2019-10-061-0/+3
* Free list in error case in parse_optionsMichael Vetter2019-10-061-0/+3
ass="p">(**self.initdict) for x in range(5)): d2.add_child(obj) d3 = DisplayableContainer(**self.initdict) for obj in (Displayable(**self.initdict) for x in range(5)): d3.add_child(obj) for obj in (d1, d2, d3): self.disc.add_child(obj) d3.container[3].focused = True self.assertEqual(self.disc._get_focused_obj(), d3.container[3]) d3.container[3].focused = False d2.container[0].focused = True self.assertEqual(self.disc._get_focused_obj(), d2.container[0]) gWin = None class TestDisplayableWithCurses(unittest.TestCase): def setUp(self): global gWin if not gWin: gWin = curses.initscr() self.win = gWin curses.cbreak() curses.noecho() curses.start_color() curses.use_default_colors() self.fm = Fake() self.env = Fake() self.settings = Fake() self.initdict = {'win': self.win, 'settings': self.settings, 'fm': self.fm, 'env': self.env} self.disp = Displayable(**self.initdict) self.disc = DisplayableContainer(**self.initdict) self.disc.add_child(self.disp) self.env.termsize = self.win.getmaxyx() def tearDown(self): self.disp.destroy() curses.nocbreak() curses.echo() curses.endwin() def test_boundaries(self): disp = self.disp hei, wid = self.env.termsize self.assertRaises(ValueError, disp.resize, 0, 0, hei + 1, wid) self.assertRaises(ValueError, disp.resize, 0, 0, hei, wid + 1) self.assertRaises(ValueError, disp.resize, -1, 0, hei, wid) self.assertRaises(ValueError, disp.resize, 0, -1, hei, wid) for i in range(1000): box = [int(randint(0, hei) * 0.2), int(randint(0, wid) * 0.2)] box.append(randint(0, hei - box[0])) box.append(randint(0, wid - box[1])) def in_box(y, x): return (y >= box[1] and y < box[1] + box[3]) and \ (x >= box[0] and x < box[0] + box[2]) disp.resize(*box) self.assertEqual(box, [disp.y, disp.x, disp.hei, disp.wid], "Resizing failed for some reason on loop " + str(i)) for y, x in zip(range(10), range(10)): is_in_box = in_box(y, x) point1 = (y, x) self.assertEqual(is_in_box, point1 in disp) point2 = Fake() point2.x = x point2.y = y self.assertEqual(is_in_box, point2 in disp) def test_click(self): self.disp.click = raise_ok hei, wid = self.env.termsize for i in range(50): winwid = randint(2, wid-1) winhei = randint(2, hei-1) self.disc.resize(0, 0, hei, wid) self.disp.resize(0, 0, winhei, winwid) fakepos = Fake() fakepos.x = winwid - 2 fakepos.y = winhei - 2 self.assertRaises(OK, self.disc.click, fakepos) fakepos.x = winwid fakepos.y = winhei self.disc.click(fakepos) if __name__ == '__main__': unittest.main()