diff options
Diffstat (limited to 'tests/unit/mainwindow/test_messageview.py')
-rw-r--r-- | tests/unit/mainwindow/test_messageview.py | 61 |
1 files changed, 36 insertions, 25 deletions
diff --git a/tests/unit/mainwindow/test_messageview.py b/tests/unit/mainwindow/test_messageview.py index 9e7627635..0f9dc9ea9 100644 --- a/tests/unit/mainwindow/test_messageview.py +++ b/tests/unit/mainwindow/test_messageview.py @@ -21,7 +21,7 @@ import pytest from PyQt5.QtCore import Qt from qutebrowser.mainwindow import messageview -from qutebrowser.utils import usertypes +from qutebrowser.utils import usertypes, message @pytest.fixture @@ -38,23 +38,23 @@ def view(qtbot, config_stub): @pytest.mark.flaky # on macOS def test_single_message(qtbot, view, level): with qtbot.wait_exposed(view, timeout=5000): - view.show_message(level, 'test') + view.show_message(message.MessageInfo(level, 'test')) assert view._messages[0].isVisible() def test_message_hiding(qtbot, view): """Messages should be hidden after the timer times out.""" with qtbot.wait_signal(view._clear_timer.timeout): - view.show_message(usertypes.MessageLevel.info, 'test') + view.show_message(message.MessageInfo(usertypes.MessageLevel.info, 'test')) assert not view._messages def test_size_hint(view): """The message height should increase with more messages.""" - view.show_message(usertypes.MessageLevel.info, 'test1') + view.show_message(message.MessageInfo(usertypes.MessageLevel.info, 'test1')) height1 = view.sizeHint().height() assert height1 > 0 - view.show_message(usertypes.MessageLevel.info, 'test2') + view.show_message(message.MessageInfo(usertypes.MessageLevel.info, 'test2')) height2 = view.sizeHint().height() assert height2 == height1 * 2 @@ -62,7 +62,7 @@ def test_size_hint(view): def test_word_wrap(view, qtbot): """A long message should be wrapped.""" with qtbot.wait_signal(view._clear_timer.timeout): - view.show_message(usertypes.MessageLevel.info, 'short') + view.show_message(message.MessageInfo(usertypes.MessageLevel.info, 'short')) height1 = view.sizeHint().height() assert height1 > 0 @@ -72,7 +72,7 @@ def test_word_wrap(view, qtbot): "for Odysseus, wise but ill fated, who suffers far from his friends on an " "island deep in the sea.") - view.show_message(usertypes.MessageLevel.info, text) + view.show_message(message.MessageInfo(usertypes.MessageLevel.info, text)) height2 = view.sizeHint().height() assert height2 > height1 @@ -81,26 +81,26 @@ def test_word_wrap(view, qtbot): def test_show_message_twice(view): """Show the same message twice -> only one should be shown.""" - view.show_message(usertypes.MessageLevel.info, 'test') - view.show_message(usertypes.MessageLevel.info, 'test') + view.show_message(message.MessageInfo(usertypes.MessageLevel.info, 'test')) + view.show_message(message.MessageInfo(usertypes.MessageLevel.info, 'test')) assert len(view._messages) == 1 def test_show_message_twice_after_first_disappears(qtbot, view): """Show the same message twice after the first is gone.""" with qtbot.wait_signal(view._clear_timer.timeout): - view.show_message(usertypes.MessageLevel.info, 'test') + view.show_message(message.MessageInfo(usertypes.MessageLevel.info, 'test')) # Just a sanity check assert not view._messages - view.show_message(usertypes.MessageLevel.info, 'test') + view.show_message(message.MessageInfo(usertypes.MessageLevel.info, 'test')) assert len(view._messages) == 1 def test_changing_timer_with_messages_shown(qtbot, view, config_stub): """When we change messages.timeout, the timer should be restarted.""" config_stub.val.messages.timeout = 900000 # 15s - view.show_message(usertypes.MessageLevel.info, 'test') + view.show_message(message.MessageInfo(usertypes.MessageLevel.info, 'test')) with qtbot.wait_signal(view._clear_timer.timeout): config_stub.val.messages.timeout = 100 @@ -113,8 +113,8 @@ def test_show_multiple_messages_longer(view, count, expected): There is an upper maximum to avoid messages never disappearing. """ for message_number in range(1, count+1): - view.show_message(usertypes.MessageLevel.info, - 'test ' + str(message_number)) + view.show_message(message.MessageInfo( + usertypes.MessageLevel.info, f"test {message_number}")) assert view._clear_timer.interval() == expected @@ -127,31 +127,40 @@ def test_show_multiple_messages_longer(view, count, expected): ]) def test_replaced_messages(view, replace1, replace2, length): """Show two stack=False messages which should replace each other.""" - view.show_message(usertypes.MessageLevel.info, 'test', replace=replace1) - view.show_message(usertypes.MessageLevel.info, 'test 2', replace=replace2) + view.show_message(message.MessageInfo( + usertypes.MessageLevel.info, 'test', replace=replace1)) + view.show_message(message.MessageInfo( + usertypes.MessageLevel.info, 'test 2', replace=replace2)) assert len(view._messages) == length def test_replacing_different_severity(view): - view.show_message(usertypes.MessageLevel.info, 'test', replace='testid') + view.show_message(message.MessageInfo( + usertypes.MessageLevel.info, 'test', replace='testid')) with pytest.raises(AssertionError): - view.show_message(usertypes.MessageLevel.error, 'test 2', replace='testid') + view.show_message(message.MessageInfo( + usertypes.MessageLevel.error, 'test 2', replace='testid')) def test_replacing_changed_text(view): - view.show_message(usertypes.MessageLevel.info, 'test', replace='testid') - view.show_message(usertypes.MessageLevel.info, 'test 2') - view.show_message(usertypes.MessageLevel.info, 'test 3', replace='testid') + view.show_message(message.MessageInfo( + usertypes.MessageLevel.info, 'test', replace='testid')) + view.show_message(message.MessageInfo( + usertypes.MessageLevel.info, 'test 2')) + view.show_message(message.MessageInfo( + usertypes.MessageLevel.info, 'test 3', replace='testid')) assert len(view._messages) == 2 assert view._messages[0].text() == 'test 3' assert view._messages[1].text() == 'test 2' def test_replacing_geometry(qtbot, view): - view.show_message(usertypes.MessageLevel.info, 'test', replace='testid') + view.show_message(message.MessageInfo( + usertypes.MessageLevel.info, 'test', replace='testid')) with qtbot.wait_signal(view.update_geometry): - view.show_message(usertypes.MessageLevel.info, 'test 2', replace='testid') + view.show_message(message.MessageInfo( + usertypes.MessageLevel.info, 'test 2', replace='testid')) @pytest.mark.parametrize('button, count', [ @@ -162,7 +171,9 @@ def test_replacing_geometry(qtbot, view): ]) def test_click_messages(qtbot, view, button, count): """Messages should disappear when we click on them.""" - view.show_message(usertypes.MessageLevel.info, 'test mouse click') - view.show_message(usertypes.MessageLevel.info, 'test mouse click 2') + view.show_message(message.MessageInfo( + usertypes.MessageLevel.info, 'test mouse click')) + view.show_message(message.MessageInfo( + usertypes.MessageLevel.info, 'test mouse click 2')) qtbot.mousePress(view, button) assert len(view._messages) == count |