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

Reply via email to