Daniel Brötzmann pushed to branch master at gajim / gajim
Commits:
6e1b928d by wurstsalat at 2022-06-22T20:54:16+02:00
chore: Fix test for GroupChatNickCompletion
- - - - -
2 changed files:
- gajim/gtk/groupchat_nick_completion.py
- test/no_gui/test_nick_completion.py
Changes:
=====================================
gajim/gtk/groupchat_nick_completion.py
=====================================
@@ -39,14 +39,12 @@ def __init__(self,
message_input: MessageInputTextView
) -> None:
self._account = account
- self._client = app.get_client(account)
self._contact = contact
self._contact.connect(
'user-nickname-changed', self._on_user_nickname_changed)
- self._message_input = message_input
- self._message_input.connect('key-press-event', self._on_key_press)
+ message_input.connect('key-press-event', self._on_key_press)
self._sender_list: list[str] = []
self._attention_list: list[str] = []
@@ -174,7 +172,7 @@ def _on_key_press(self,
text.endswith(gc_refer_to_nick_char + ' ')):
with_refer_to_nick_char = True
after_nick_len = len(gc_refer_to_nick_char + ' ')
- if (self._nick_hits and self._last_key_tab and
+ if (self._nick_hits and self._last_key_tab and
text[:-after_nick_len].endswith(self._nick_hits[0])):
# we should cycle
# Previous nick in list may had a space inside, so we check text
@@ -219,7 +217,8 @@ def _on_key_press(self,
else:
start_iter.backward_chars(len(begin))
- self._client.get_module('Chatstate').block_chatstates(
+ client = app.get_client(self._account)
+ client.get_module('Chatstate').block_chatstates(
self._contact, True)
message_buffer.delete(start_iter, end_iter)
@@ -252,7 +251,7 @@ def _on_key_press(self,
completion = self._nick_hits[0]
message_buffer.insert_at_cursor(completion + add)
- self._client.get_module('Chatstate').block_chatstates(
+ client.get_module('Chatstate').block_chatstates(
self._contact, False)
self._last_key_tab = True
=====================================
test/no_gui/test_nick_completion.py
=====================================
@@ -1,50 +1,62 @@
import unittest
+from unittest.mock import MagicMock
from gajim import gui
gui.init('gtk')
-from gajim.gui.util import NickCompletionGenerator
+
+from gajim.gui.groupchat_nick_completion import GroupChatNickCompletion
+
class Test(unittest.TestCase):
def test_generate_suggestions(self):
- gen = NickCompletionGenerator('meeeee')
+ contact = MagicMock()
+ message_input = MagicMock()
+ gen = GroupChatNickCompletion('testacc', contact, message_input)
- l = ['aaaa', 'meeeee', 'fooo', 'xxxxz', 'xaaaz']
+ l = ['aaaa', 'fooo', 'xxxxz', 'xaaaz']
for n in l:
gen.record_message(n, False)
l2 = ['xxx'] + l
- r = gen.generate_suggestions(nicks=l2, beginning='x')
+ r = gen._generate_suggestions(nicks=l2, beginning='x')
self.assertEqual(r, ['xaaaz', 'xxxxz', 'xxx'])
- r = gen.generate_suggestions(
+ r = gen._generate_suggestions(
nicks=l2,
beginning='m'
- )
+ )
self.assertEqual(r, [])
for n in ['xaaaz', 'xxxxz']:
gen.record_message(n, True)
- r = gen.generate_suggestions(
+ r = gen._generate_suggestions(
nicks=l2,
beginning='x'
- )
+ )
self.assertEqual(r, ['xxxxz', 'xaaaz', 'xxx'])
- r = gen.generate_suggestions(
+ r = gen._generate_suggestions(
nicks=l2,
beginning=''
- )
+ )
self.assertEqual(r, ['xxxxz', 'xaaaz', 'aaaa', 'fooo', 'xxx'])
l2[1] = 'bbbb'
- gen.contact_renamed('aaaa', 'bbbb')
- r = gen.generate_suggestions(
+
+ old_name = 'aaaa'
+ new_name = 'bbbb'
+
+ for lst in (gen._attention_list, gen._sender_list):
+ for idx, contact in enumerate(lst):
+ if contact == old_name:
+ lst[idx] = new_name
+
+ r = gen._generate_suggestions(
nicks=l2,
beginning=''
- )
+ )
self.assertEqual(r, ['xxxxz', 'xaaaz', 'bbbb', 'fooo', 'xxx'])
-
-if __name__ == "__main__":
+if __name__ == '__main__':
unittest.main()
View it on GitLab:
https://dev.gajim.org/gajim/gajim/-/commit/6e1b928dd68c30ec0402bfc7c48683e53a3bf82e
--
View it on GitLab:
https://dev.gajim.org/gajim/gajim/-/commit/6e1b928dd68c30ec0402bfc7c48683e53a3bf82e
You're receiving this email because of your account on dev.gajim.org.
_______________________________________________
Commits mailing list
[email protected]
https://lists.gajim.org/cgi-bin/listinfo/commits