diff options
Diffstat (limited to 'tests/unit/completion/test_models.py')
-rw-r--r-- | tests/unit/completion/test_models.py | 110 |
1 files changed, 54 insertions, 56 deletions
diff --git a/tests/unit/completion/test_models.py b/tests/unit/completion/test_models.py index 2c00acf68..360ee9f8a 100644 --- a/tests/unit/completion/test_models.py +++ b/tests/unit/completion/test_models.py @@ -31,11 +31,8 @@ from unittest import mock import hypothesis import hypothesis.strategies as hst import pytest -from PyQt5.QtCore import QUrl, QDateTime, QProcess try: - from PyQt5.QtWebEngineWidgets import ( - QWebEngineHistory, QWebEngineHistoryItem - ) + pass except ImportError: pass @@ -46,6 +43,7 @@ from qutebrowser.completion.models import ( from qutebrowser.config import configdata, configtypes from qutebrowser.utils import usertypes from qutebrowser.mainwindow import tabbedbrowser +from qutebrowser.qt import QtWebEngineWidgets, QtCore def _check_completions(model, expected): @@ -211,17 +209,17 @@ def local_files_path(tmp_path): def web_history_populated(web_history): """Pre-populate the web-history database.""" web_history.add_url( - url=QUrl('http://qutebrowser.org'), + url=QtCore.QUrl('http://qutebrowser.org'), title='qutebrowser', atime=datetime(2015, 9, 5).timestamp() ) web_history.add_url( - url=QUrl('https://python.org'), + url=QtCore.QUrl('https://python.org'), title='Welcome to Python.org', atime=datetime(2016, 3, 8).timestamp() ) web_history.add_url( - url=QUrl('https://github.com'), + url=QtCore.QUrl('https://github.com'), title='https://github.com', atime=datetime(2016, 5, 1).timestamp() ) @@ -711,7 +709,7 @@ def test_url_completion_pattern(web_history, quickmark_manager_stub, bookmark_manager_stub, info, url, title, pattern, rowcount): """Test that url completion filters by url and title.""" - web_history.add_url(QUrl(url), title) + web_history.add_url(QtCore.QUrl(url), title) model = urlmodel.url(info=info) model.set_pattern(pattern) # 2, 0 is History @@ -816,12 +814,12 @@ def test_session_completion(qtmodeltester, session_manager_stub): def test_tab_completion(qtmodeltester, fake_web_tab, win_registry, tabbed_browser_stubs): tabbed_browser_stubs[0].widget.tabs = [ - fake_web_tab(QUrl('https://github.com'), 'GitHub', 0), - fake_web_tab(QUrl('https://wikipedia.org'), 'Wikipedia', 1), - fake_web_tab(QUrl('https://duckduckgo.com'), 'DuckDuckGo', 2), + fake_web_tab(QtCore.QUrl('https://github.com'), 'GitHub', 0), + fake_web_tab(QtCore.QUrl('https://wikipedia.org'), 'Wikipedia', 1), + fake_web_tab(QtCore.QUrl('https://duckduckgo.com'), 'DuckDuckGo', 2), ] tabbed_browser_stubs[1].widget.tabs = [ - fake_web_tab(QUrl('https://wiki.archlinux.org'), 'ArchWiki', 0), + fake_web_tab(QtCore.QUrl('https://wiki.archlinux.org'), 'ArchWiki', 0), ] model = miscmodels.tabs() model.set_pattern('') @@ -843,12 +841,12 @@ def test_tab_completion_delete(qtmodeltester, fake_web_tab, win_registry, tabbed_browser_stubs): """Verify closing a tab by deleting it from the completion widget.""" tabbed_browser_stubs[0].widget.tabs = [ - fake_web_tab(QUrl('https://github.com'), 'GitHub', 0), - fake_web_tab(QUrl('https://wikipedia.org'), 'Wikipedia', 1), - fake_web_tab(QUrl('https://duckduckgo.com'), 'DuckDuckGo', 2) + fake_web_tab(QtCore.QUrl('https://github.com'), 'GitHub', 0), + fake_web_tab(QtCore.QUrl('https://wikipedia.org'), 'Wikipedia', 1), + fake_web_tab(QtCore.QUrl('https://duckduckgo.com'), 'DuckDuckGo', 2) ] tabbed_browser_stubs[1].widget.tabs = [ - fake_web_tab(QUrl('https://wiki.archlinux.org'), 'ArchWiki', 0), + fake_web_tab(QtCore.QUrl('https://wiki.archlinux.org'), 'ArchWiki', 0), ] model = miscmodels.tabs() model.set_pattern('') @@ -863,20 +861,20 @@ def test_tab_completion_delete(qtmodeltester, fake_web_tab, win_registry, model.delete_cur_item(idx) actual = [tab.url() for tab in tabbed_browser_stubs[0].widget.tabs] - assert actual == [QUrl('https://github.com'), - QUrl('https://duckduckgo.com')] + assert actual == [QtCore.QUrl('https://github.com'), + QtCore.QUrl('https://duckduckgo.com')] def test_tab_focus_completion_delete(qtmodeltester, fake_web_tab, win_registry, tabbed_browser_stubs, info): """Verify closing a tab by deleting it from the completion widget.""" tabbed_browser_stubs[0].widget.tabs = [ - fake_web_tab(QUrl('https://github.com'), 'GitHub', 0), - fake_web_tab(QUrl('https://wikipedia.org'), 'Wikipedia', 1), - fake_web_tab(QUrl('https://duckduckgo.com'), 'DuckDuckGo', 2) + fake_web_tab(QtCore.QUrl('https://github.com'), 'GitHub', 0), + fake_web_tab(QtCore.QUrl('https://wikipedia.org'), 'Wikipedia', 1), + fake_web_tab(QtCore.QUrl('https://duckduckgo.com'), 'DuckDuckGo', 2) ] tabbed_browser_stubs[1].widget.tabs = [ - fake_web_tab(QUrl('https://wiki.archlinux.org'), 'ArchWiki', 0), + fake_web_tab(QtCore.QUrl('https://wiki.archlinux.org'), 'ArchWiki', 0), ] model = miscmodels.tab_focus(info=info) model.set_pattern('') @@ -891,8 +889,8 @@ def test_tab_focus_completion_delete(qtmodeltester, fake_web_tab, win_registry, model.delete_cur_item(idx) actual = [tab.url() for tab in tabbed_browser_stubs[0].widget.tabs] - assert actual == [QUrl('https://github.com'), - QUrl('https://duckduckgo.com')] + assert actual == [QtCore.QUrl('https://github.com'), + QtCore.QUrl('https://duckduckgo.com')] def test_tab_completion_not_sorted(qtmodeltester, fake_web_tab, win_registry, @@ -909,7 +907,7 @@ def test_tab_completion_not_sorted(qtmodeltester, fake_web_tab, win_registry, expected.append(("0/{}".format(idx), url, title)) tabbed_browser_stubs[0].widget.tabs = [ - fake_web_tab(QUrl(tab[1]), tab[2], idx) + fake_web_tab(QtCore.QUrl(tab[1]), tab[2], idx) for idx, tab in enumerate(expected) ] model = miscmodels.tabs() @@ -927,12 +925,12 @@ def test_tab_completion_tabs_are_windows(qtmodeltester, fake_web_tab, config_stub): """Verify tabs across all windows are listed under a single category.""" tabbed_browser_stubs[0].widget.tabs = [ - fake_web_tab(QUrl('https://github.com'), 'GitHub', 0), - fake_web_tab(QUrl('https://wikipedia.org'), 'Wikipedia', 1), - fake_web_tab(QUrl('https://duckduckgo.com'), 'DuckDuckGo', 2), + fake_web_tab(QtCore.QUrl('https://github.com'), 'GitHub', 0), + fake_web_tab(QtCore.QUrl('https://wikipedia.org'), 'Wikipedia', 1), + fake_web_tab(QtCore.QUrl('https://duckduckgo.com'), 'DuckDuckGo', 2), ] tabbed_browser_stubs[1].widget.tabs = [ - fake_web_tab(QUrl('https://wiki.archlinux.org'), 'ArchWiki', 0), + fake_web_tab(QtCore.QUrl('https://wiki.archlinux.org'), 'ArchWiki', 0), ] config_stub.val.tabs.tabs_are_windows = True @@ -953,12 +951,12 @@ def test_tab_completion_tabs_are_windows(qtmodeltester, fake_web_tab, def test_other_tabs_completion(qtmodeltester, fake_web_tab, win_registry, tabbed_browser_stubs, info): tabbed_browser_stubs[0].widget.tabs = [ - fake_web_tab(QUrl('https://github.com'), 'GitHub', 0), - fake_web_tab(QUrl('https://wikipedia.org'), 'Wikipedia', 1), - fake_web_tab(QUrl('https://duckduckgo.com'), 'DuckDuckGo', 2), + fake_web_tab(QtCore.QUrl('https://github.com'), 'GitHub', 0), + fake_web_tab(QtCore.QUrl('https://wikipedia.org'), 'Wikipedia', 1), + fake_web_tab(QtCore.QUrl('https://duckduckgo.com'), 'DuckDuckGo', 2), ] tabbed_browser_stubs[1].widget.tabs = [ - fake_web_tab(QUrl('https://wiki.archlinux.org'), 'ArchWiki', 0), + fake_web_tab(QtCore.QUrl('https://wiki.archlinux.org'), 'ArchWiki', 0), ] info.win_id = 1 model = miscmodels.other_tabs(info=info) @@ -977,12 +975,12 @@ def test_other_tabs_completion(qtmodeltester, fake_web_tab, win_registry, def test_other_tabs_completion_id0(qtmodeltester, fake_web_tab, win_registry, tabbed_browser_stubs, info): tabbed_browser_stubs[0].widget.tabs = [ - fake_web_tab(QUrl('https://github.com'), 'GitHub', 0), - fake_web_tab(QUrl('https://wikipedia.org'), 'Wikipedia', 1), - fake_web_tab(QUrl('https://duckduckgo.com'), 'DuckDuckGo', 2), + fake_web_tab(QtCore.QUrl('https://github.com'), 'GitHub', 0), + fake_web_tab(QtCore.QUrl('https://wikipedia.org'), 'Wikipedia', 1), + fake_web_tab(QtCore.QUrl('https://duckduckgo.com'), 'DuckDuckGo', 2), ] tabbed_browser_stubs[1].widget.tabs = [ - fake_web_tab(QUrl('https://wiki.archlinux.org'), 'ArchWiki', 0), + fake_web_tab(QtCore.QUrl('https://wiki.archlinux.org'), 'ArchWiki', 0), ] info.win_id = 0 model = miscmodels.other_tabs(info=info) @@ -999,12 +997,12 @@ def test_other_tabs_completion_id0(qtmodeltester, fake_web_tab, def test_tab_focus_completion(qtmodeltester, fake_web_tab, win_registry, tabbed_browser_stubs, info): tabbed_browser_stubs[0].widget.tabs = [ - fake_web_tab(QUrl('https://github.com'), 'GitHub', 0), - fake_web_tab(QUrl('https://wikipedia.org'), 'Wikipedia', 1), - fake_web_tab(QUrl('https://duckduckgo.com'), 'DuckDuckGo', 2), + fake_web_tab(QtCore.QUrl('https://github.com'), 'GitHub', 0), + fake_web_tab(QtCore.QUrl('https://wikipedia.org'), 'Wikipedia', 1), + fake_web_tab(QtCore.QUrl('https://duckduckgo.com'), 'DuckDuckGo', 2), ] tabbed_browser_stubs[1].widget.tabs = [ - fake_web_tab(QUrl('https://wiki.archlinux.org'), 'ArchWiki', 0), + fake_web_tab(QtCore.QUrl('https://wiki.archlinux.org'), 'ArchWiki', 0), ] info.win_id = 1 model = miscmodels.tab_focus(info=info) @@ -1034,12 +1032,12 @@ def test_tab_focus_completion(qtmodeltester, fake_web_tab, win_registry, def test_window_completion(qtmodeltester, fake_web_tab, tabbed_browser_stubs, info): tabbed_browser_stubs[0].widget.tabs = [ - fake_web_tab(QUrl('https://github.com'), 'GitHub', 0), - fake_web_tab(QUrl('https://wikipedia.org'), 'Wikipedia', 1), - fake_web_tab(QUrl('https://duckduckgo.com'), 'DuckDuckGo', 2) + fake_web_tab(QtCore.QUrl('https://github.com'), 'GitHub', 0), + fake_web_tab(QtCore.QUrl('https://wikipedia.org'), 'Wikipedia', 1), + fake_web_tab(QtCore.QUrl('https://duckduckgo.com'), 'DuckDuckGo', 2) ] tabbed_browser_stubs[1].widget.tabs = [ - fake_web_tab(QUrl('https://wiki.archlinux.org'), 'ArchWiki', 0) + fake_web_tab(QtCore.QUrl('https://wiki.archlinux.org'), 'ArchWiki', 0) ] info.win_id = 1 @@ -1349,7 +1347,7 @@ def test_url_completion_benchmark(benchmark, info, def tab_with_history(fake_web_tab, tabbed_browser_stubs, info, monkeypatch): """Returns a fake tab with some fake history items.""" pytest.importorskip('PyQt5.QtWebEngineWidgets') - tab = fake_web_tab(QUrl('https://github.com'), 'GitHub', 0) + tab = fake_web_tab(QtCore.QUrl('https://github.com'), 'GitHub', 0) current_idx = 2 monkeypatch.setattr( tab.history, 'current_idx', @@ -1365,13 +1363,13 @@ def tab_with_history(fake_web_tab, tabbed_browser_stubs, info, monkeypatch): ("http://example.com/thing3", "thing3 detail", now+15), ("http://example.com/thing4", "thing4 detail", now+20), ]: - entry = mock.Mock(spec=QWebEngineHistoryItem) - entry.url.return_value = QUrl(url) + entry = mock.Mock(spec=QtWebEngineWidgets.QWebEngineHistoryItem) + entry.url.return_value = QtCore.QUrl(url) entry.title.return_value = title - dt = QDateTime.fromMSecsSinceEpoch(int(ts * 1000)) + dt = QtCore.QDateTime.fromMSecsSinceEpoch(int(ts * 1000)) entry.lastVisited.return_value = dt history.append(entry) - tab.history._history = mock.Mock(spec=QWebEngineHistory) + tab.history._history = mock.Mock(spec=QtWebEngineWidgets.QWebEngineHistory) tab.history._history.items.return_value = history monkeypatch.setattr( tab.history, 'back_items', @@ -1423,13 +1421,13 @@ def test_forward_completion(tab_with_history, info): def test_undo_completion(tabbed_browser_stubs, info): """Test :undo completion.""" - entry1 = tabbedbrowser._UndoEntry(url=QUrl('https://example.org/'), + entry1 = tabbedbrowser._UndoEntry(url=QtCore.QUrl('https://example.org/'), history=None, index=None, pinned=None, created_at=datetime(2020, 1, 1)) - entry2 = tabbedbrowser._UndoEntry(url=QUrl('https://example.com/'), + entry2 = tabbedbrowser._UndoEntry(url=QtCore.QUrl('https://example.com/'), history=None, index=None, pinned=None, created_at=datetime(2020, 1, 2)) - entry3 = tabbedbrowser._UndoEntry(url=QUrl('https://example.net/'), + entry3 = tabbedbrowser._UndoEntry(url=QtCore.QUrl('https://example.net/'), history=None, index=None, pinned=None, created_at=datetime(2020, 1, 2)) @@ -1463,7 +1461,7 @@ def undo_completion_retains_sort_order(tabbed_browser_stubs, info): tabbed_browser_stubs[0].undo_stack = [ tabbedbrowser._UndoEntry( - url=QUrl(f'https://example.org/{idx}'), + url=QtCore.QUrl(f'https://example.org/{idx}'), history=None, index=None, pinned=None, created_at=created_dt, ) @@ -1490,7 +1488,7 @@ def test_process_completion(monkeypatch, stubs, info): p1.cmd = 'cmd1' p1.args = [] p1.outcome.running = False - p1.outcome.status = QProcess.NormalExit + p1.outcome.status = QtCore.QProcess.NormalExit p1.outcome.code = 0 p2.pid = 1002 @@ -1502,7 +1500,7 @@ def test_process_completion(monkeypatch, stubs, info): p3.cmd = 'cmd3' p3.args = [] p3.outcome.running = False - p3.outcome.status = QProcess.NormalExit + p3.outcome.status = QtCore.QProcess.NormalExit p3.outcome.code = 1 monkeypatch.setattr(guiprocess, 'all_processes', { |