summaryrefslogtreecommitdiff
path: root/tests/unit/browser/test_caret.py
diff options
context:
space:
mode:
authorFlorian Bruhin <me@the-compiler.org>2020-07-31 15:50:29 +0200
committerFlorian Bruhin <me@the-compiler.org>2020-07-31 15:50:29 +0200
commitc048a48b788af535d05ebb90288d76f2d3e308bf (patch)
treee47341a3a88c93fc5454985e26fb93e664fb450b /tests/unit/browser/test_caret.py
parent592735767f6062335c5853346f2ed5b82bf2040f (diff)
downloadqutebrowser-c048a48b788af535d05ebb90288d76f2d3e308bf.tar.gz
qutebrowser-c048a48b788af535d05ebb90288d76f2d3e308bf.zip
Add a test for ignoring _toggle_sel_translate
Diffstat (limited to 'tests/unit/browser/test_caret.py')
-rw-r--r--tests/unit/browser/test_caret.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/unit/browser/test_caret.py b/tests/unit/browser/test_caret.py
index 7d1325612..75d9fee09 100644
--- a/tests/unit/browser/test_caret.py
+++ b/tests/unit/browser/test_caret.py
@@ -99,6 +99,21 @@ def test_toggle(caret, selection, qtbot):
assert selection.toggle() == browsertab.SelectionState.none
+def test_selection_callback_wrong_mode(qtbot, caplog,
+ webengine_tab, mode_manager):
+ """Test what calling the selection callback outside of caret mode.
+
+ It should be ignored, as something could have left caret mode while the
+ async callback was happening, so we don't want to mess with the status bar.
+ """
+ assert mode_manager.mode == usertypes.KeyMode.normal
+ with qtbot.assertNotEmitted(webengine_tab.caret.selection_toggled):
+ webengine_tab.caret._toggle_sel_translate('normal')
+
+ msg = 'Ignoring caret selection callback in KeyMode.normal'
+ assert caplog.messages == [msg]
+
+
class TestDocument:
def test_selecting_entire_document(self, caret, selection):