summaryrefslogtreecommitdiff
path: root/tests/test_ibus_engine.py
diff options
context:
space:
mode:
authorYuval Adam <_@yuv.al>2026-07-24 16:13:38 +0200
committerYuval Adam <_@yuv.al>2026-07-24 16:13:38 +0200
commitced92a0eb1e0ca3e45ffd09133cd53a1ffa27b90 (patch)
tree7cec00320036f04427c00e08a93473101a0e8dd3 /tests/test_ibus_engine.py
parentc04544d4e98cd5e4a611255fa677d4453a2f9756 (diff)
Make IBus activation resilientHEADmain
Diffstat (limited to 'tests/test_ibus_engine.py')
-rw-r--r--tests/test_ibus_engine.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/test_ibus_engine.py b/tests/test_ibus_engine.py
index 18be819..e3bb825 100644
--- a/tests/test_ibus_engine.py
+++ b/tests/test_ibus_engine.py
@@ -4,6 +4,35 @@ from unittest.mock import MagicMock, patch
from parley.ibus_engine import IBusIntegration, ParleyIBusEngine
+class IBusSessionTests(unittest.TestCase):
+ def setUp(self) -> None:
+ self.integration = object.__new__(IBusIntegration)
+ self.integration._session_active = False
+ self.integration._restore_engine = None
+
+ def test_session_remembers_and_replaces_the_current_engine(self) -> None:
+ self.integration._current_engine_name = MagicMock(
+ return_value="xkb:il::heb"
+ )
+ self.integration._schedule_activation = MagicMock()
+
+ self.integration.begin_session()
+
+ self.assertTrue(self.integration._session_active)
+ self.assertEqual(self.integration._restore_engine, "xkb:il::heb")
+ self.integration._schedule_activation.assert_called_once_with(0)
+
+ def test_gnome_engine_change_is_reacquired_and_restored_later(self) -> None:
+ self.integration._session_active = True
+ self.integration._restore_engine = "xkb:us::eng"
+ self.integration._schedule_activation = MagicMock()
+
+ self.integration._on_global_engine_changed(MagicMock(), "xkb:il::heb")
+
+ self.assertEqual(self.integration._restore_engine, "xkb:il::heb")
+ self.integration._schedule_activation.assert_called_once_with()
+
+
class IBusSpinnerTests(unittest.TestCase):
def setUp(self) -> None:
self.integration = object.__new__(IBusIntegration)