summaryrefslogtreecommitdiff
path: root/tests/unit/browser/test_history.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/unit/browser/test_history.py')
-rw-r--r--tests/unit/browser/test_history.py139
1 files changed, 69 insertions, 70 deletions
diff --git a/tests/unit/browser/test_history.py b/tests/unit/browser/test_history.py
index 20c76a23f..afa1acc62 100644
--- a/tests/unit/browser/test_history.py
+++ b/tests/unit/browser/test_history.py
@@ -22,7 +22,7 @@
import logging
import pytest
-from qutebrowser.qt.core import QUrl
+from qutebrowser.qt import webkit, core
from qutebrowser.browser import history
from qutebrowser.utils import urlutils, usertypes
@@ -40,7 +40,7 @@ class TestSpecialMethods:
def test_iter(self, web_history):
urlstr = 'http://www.example.com/'
- url = QUrl(urlstr)
+ url = core.QUrl(urlstr)
web_history.add_url(url, atime=12345)
assert list(web_history) == [(urlstr, '', 12345, False)]
@@ -48,13 +48,13 @@ class TestSpecialMethods:
def test_len(self, web_history):
assert len(web_history) == 0
- url = QUrl('http://www.example.com/')
+ url = core.QUrl('http://www.example.com/')
web_history.add_url(url)
assert len(web_history) == 1
def test_contains(self, web_history):
- web_history.add_url(QUrl('http://www.example.com/'),
+ web_history.add_url(core.QUrl('http://www.example.com/'),
title='Title', atime=12345)
assert 'http://www.example.com/' in web_history
assert 'www.example.com' not in web_history
@@ -65,34 +65,34 @@ class TestSpecialMethods:
class TestGetting:
def test_get_recent(self, web_history):
- web_history.add_url(QUrl('http://www.qutebrowser.org/'), atime=67890)
- web_history.add_url(QUrl('http://example.com/'), atime=12345)
+ web_history.add_url(core.QUrl('http://www.qutebrowser.org/'), atime=67890)
+ web_history.add_url(core.QUrl('http://example.com/'), atime=12345)
assert list(web_history.get_recent()) == [
('http://www.qutebrowser.org/', '', 67890, False),
('http://example.com/', '', 12345, False),
]
def test_entries_between(self, web_history):
- web_history.add_url(QUrl('http://www.example.com/1'), atime=12345)
- web_history.add_url(QUrl('http://www.example.com/2'), atime=12346)
- web_history.add_url(QUrl('http://www.example.com/3'), atime=12347)
- web_history.add_url(QUrl('http://www.example.com/4'), atime=12348)
- web_history.add_url(QUrl('http://www.example.com/5'), atime=12348)
- web_history.add_url(QUrl('http://www.example.com/6'), atime=12349)
- web_history.add_url(QUrl('http://www.example.com/7'), atime=12350)
+ web_history.add_url(core.QUrl('http://www.example.com/1'), atime=12345)
+ web_history.add_url(core.QUrl('http://www.example.com/2'), atime=12346)
+ web_history.add_url(core.QUrl('http://www.example.com/3'), atime=12347)
+ web_history.add_url(core.QUrl('http://www.example.com/4'), atime=12348)
+ web_history.add_url(core.QUrl('http://www.example.com/5'), atime=12348)
+ web_history.add_url(core.QUrl('http://www.example.com/6'), atime=12349)
+ web_history.add_url(core.QUrl('http://www.example.com/7'), atime=12350)
times = [x.atime for x in web_history.entries_between(12346, 12349)]
assert times == [12349, 12348, 12348, 12347]
def test_entries_before(self, web_history):
- web_history.add_url(QUrl('http://www.example.com/1'), atime=12346)
- web_history.add_url(QUrl('http://www.example.com/2'), atime=12346)
- web_history.add_url(QUrl('http://www.example.com/3'), atime=12347)
- web_history.add_url(QUrl('http://www.example.com/4'), atime=12348)
- web_history.add_url(QUrl('http://www.example.com/5'), atime=12348)
- web_history.add_url(QUrl('http://www.example.com/6'), atime=12348)
- web_history.add_url(QUrl('http://www.example.com/7'), atime=12349)
- web_history.add_url(QUrl('http://www.example.com/8'), atime=12349)
+ web_history.add_url(core.QUrl('http://www.example.com/1'), atime=12346)
+ web_history.add_url(core.QUrl('http://www.example.com/2'), atime=12346)
+ web_history.add_url(core.QUrl('http://www.example.com/3'), atime=12347)
+ web_history.add_url(core.QUrl('http://www.example.com/4'), atime=12348)
+ web_history.add_url(core.QUrl('http://www.example.com/5'), atime=12348)
+ web_history.add_url(core.QUrl('http://www.example.com/6'), atime=12348)
+ web_history.add_url(core.QUrl('http://www.example.com/7'), atime=12349)
+ web_history.add_url(core.QUrl('http://www.example.com/8'), atime=12349)
times = [x.atime for x in
web_history.entries_before(12348, limit=3, offset=2)]
@@ -102,8 +102,8 @@ class TestGetting:
class TestDelete:
def test_clear(self, qtbot, tmpdir, web_history, mocker):
- web_history.add_url(QUrl('http://example.com/'))
- web_history.add_url(QUrl('http://www.qutebrowser.org/'))
+ web_history.add_url(core.QUrl('http://example.com/'))
+ web_history.add_url(core.QUrl('http://www.qutebrowser.org/'))
m = mocker.patch('qutebrowser.browser.history.message.confirm_async',
new=mocker.Mock, spec=[])
@@ -111,8 +111,8 @@ class TestDelete:
assert m.called
def test_clear_force(self, qtbot, tmpdir, web_history):
- web_history.add_url(QUrl('http://example.com/'))
- web_history.add_url(QUrl('http://www.qutebrowser.org/'))
+ web_history.add_url(core.QUrl('http://example.com/'))
+ web_history.add_url(core.QUrl('http://www.qutebrowser.org/'))
history.history_clear(force=True)
assert not len(web_history)
assert not len(web_history.completion)
@@ -122,14 +122,14 @@ class TestDelete:
('http://example.com/1 2', 'http://example.com/1%202'),
])
def test_delete_url(self, web_history, raw, escaped):
- web_history.add_url(QUrl('http://example.com/'), atime=0)
- web_history.add_url(QUrl(escaped), atime=0)
- web_history.add_url(QUrl('http://example.com/2'), atime=0)
+ web_history.add_url(core.QUrl('http://example.com/'), atime=0)
+ web_history.add_url(core.QUrl(escaped), atime=0)
+ web_history.add_url(core.QUrl('http://example.com/2'), atime=0)
before = set(web_history)
completion_before = set(web_history.completion)
- web_history.delete_url(QUrl(raw))
+ web_history.delete_url(core.QUrl(raw))
diff = before.difference(set(web_history))
assert diff == {(escaped, '', 0, False)}
@@ -161,7 +161,7 @@ class TestAdd:
)
def test_add_url(self, qtbot, web_history,
url, atime, title, redirect, history_url, completion_url):
- web_history.add_url(QUrl(url), atime=atime, title=title,
+ web_history.add_url(core.QUrl(url), atime=atime, title=title,
redirect=redirect)
assert list(web_history) == [(history_url, title, atime, redirect)]
if completion_url is None:
@@ -172,13 +172,13 @@ class TestAdd:
def test_no_sql_web_history(self, web_history, monkeypatch):
monkeypatch.setattr(objects, 'debug_flags', {'no-sql-history'})
- web_history.add_url(QUrl('https://www.example.com/'), atime=12346,
+ web_history.add_url(core.QUrl('https://www.example.com/'), atime=12346,
title='Hello World', redirect=False)
assert not list(web_history)
def test_invalid(self, qtbot, web_history, caplog):
with caplog.at_level(logging.WARNING):
- web_history.add_url(QUrl())
+ web_history.add_url(core.QUrl())
assert not list(web_history)
assert not list(web_history.completion)
@@ -198,12 +198,12 @@ class TestAdd:
if known_error:
with caplog.at_level(logging.ERROR):
- web_history.add_url(QUrl('https://www.example.org/'))
+ web_history.add_url(core.QUrl('https://www.example.org/'))
msg = message_mock.getmsg(usertypes.MessageLevel.error)
assert msg.text == "Failed to write history: Error message"
else:
with pytest.raises(sql.BugError):
- web_history.add_url(QUrl('https://www.example.org/'))
+ web_history.add_url(core.QUrl('https://www.example.org/'))
@pytest.mark.parametrize('level, url, req_url, expected', [
(logging.DEBUG, 'a.com', 'a.com', [('a.com', 'title', 12345, False)]),
@@ -228,46 +228,46 @@ class TestAdd:
def test_from_tab(self, web_history, caplog, mock_time,
level, url, req_url, expected):
with caplog.at_level(level):
- web_history.add_from_tab(QUrl(url), QUrl(req_url), 'title')
+ web_history.add_from_tab(core.QUrl(url), core.QUrl(req_url), 'title')
assert set(web_history) == set(expected)
def test_exclude(self, web_history, config_stub):
"""Excluded URLs should be in the history but not completion."""
config_stub.val.completion.web_history.exclude = ['*.example.org']
- url = QUrl('http://www.example.org/')
+ url = core.QUrl('http://www.example.org/')
web_history.add_from_tab(url, url, 'title')
assert list(web_history)
assert not list(web_history.completion)
def test_no_immedate_duplicates(self, web_history, mock_time):
- url = QUrl("http://example.com")
- url2 = QUrl("http://example2.com")
- web_history.add_from_tab(QUrl(url), QUrl(url), 'title')
+ url = core.QUrl("http://example.com")
+ url2 = core.QUrl("http://example2.com")
+ web_history.add_from_tab(core.QUrl(url), core.QUrl(url), 'title')
hist = list(web_history)
assert hist
- web_history.add_from_tab(QUrl(url), QUrl(url), 'title')
+ web_history.add_from_tab(core.QUrl(url), core.QUrl(url), 'title')
assert list(web_history) == hist
- web_history.add_from_tab(QUrl(url2), QUrl(url2), 'title')
+ web_history.add_from_tab(core.QUrl(url2), core.QUrl(url2), 'title')
assert list(web_history) != hist
def test_delete_add_tab(self, web_history, mock_time):
- url = QUrl("http://example.com")
- web_history.add_from_tab(QUrl(url), QUrl(url), 'title')
+ url = core.QUrl("http://example.com")
+ web_history.add_from_tab(core.QUrl(url), core.QUrl(url), 'title')
hist = list(web_history)
assert hist
- web_history.delete_url(QUrl(url))
+ web_history.delete_url(core.QUrl(url))
assert len(web_history) == 0
- web_history.add_from_tab(QUrl(url), QUrl(url), 'title')
+ web_history.add_from_tab(core.QUrl(url), core.QUrl(url), 'title')
assert list(web_history) == hist
def test_clear_add_tab(self, web_history, mock_time):
- url = QUrl("http://example.com")
- web_history.add_from_tab(QUrl(url), QUrl(url), 'title')
+ url = core.QUrl("http://example.com")
+ web_history.add_from_tab(core.QUrl(url), core.QUrl(url), 'title')
hist = list(web_history)
assert hist
history.history_clear(force=True)
assert len(web_history) == 0
- web_history.add_from_tab(QUrl(url), QUrl(url), 'title')
+ web_history.add_from_tab(core.QUrl(url), core.QUrl(url), 'title')
assert list(web_history) == hist
@@ -280,7 +280,7 @@ class TestHistoryInterface:
from qutebrowser.browser.webkit import webkithistory
QWebHistoryInterface = QtWebKit.QWebHistoryInterface
# pylint: enable=invalid-name
- web_history.add_url(url=QUrl('http://www.example.com/'),
+ web_history.add_url(url=core.QUrl('http://www.example.com/'),
title='example')
interface = webkithistory.WebHistoryInterface(web_history)
QWebHistoryInterface.setDefaultInterface(interface)
@@ -304,8 +304,7 @@ class TestInit:
history.web_history.setParent(None)
history.web_history = None
try:
- from qutebrowser.qt.webkit import QWebHistoryInterface
- QWebHistoryInterface.setDefaultInterface(None)
+ webkit.QWebHistoryInterface.setDefaultInterface(None)
except ImportError:
pass
@@ -322,19 +321,19 @@ class TestInit:
assert history.web_history.parent() is qapp
try:
- from qutebrowser.qt.webkit import QWebHistoryInterface
+ pass
except ImportError:
QWebHistoryInterface = None
if backend == usertypes.Backend.QtWebKit:
- default_interface = QWebHistoryInterface.defaultInterface()
+ default_interface = webkit.QWebHistoryInterface.defaultInterface()
assert default_interface._history is history.web_history
else:
assert backend == usertypes.Backend.QtWebEngine
- if QWebHistoryInterface is None:
+ if webkit.QWebHistoryInterface is None:
default_interface = None
else:
- default_interface = QWebHistoryInterface.defaultInterface()
+ default_interface = webkit.QWebHistoryInterface.defaultInterface()
# For this to work, nothing can ever have called
# setDefaultInterface before (so we need to test webengine before
# webkit)
@@ -344,13 +343,13 @@ class TestInit:
class TestDump:
def test_debug_dump_history(self, web_history, tmpdir):
- web_history.add_url(QUrl('http://example.com/1'),
+ web_history.add_url(core.QUrl('http://example.com/1'),
title="Title1", atime=12345)
- web_history.add_url(QUrl('http://example.com/2'),
+ web_history.add_url(core.QUrl('http://example.com/2'),
title="Title2", atime=12346)
- web_history.add_url(QUrl('http://example.com/3'),
+ web_history.add_url(core.QUrl('http://example.com/3'),
title="Title3", atime=12347)
- web_history.add_url(QUrl('http://example.com/4'),
+ web_history.add_url(core.QUrl('http://example.com/4'),
title="Title4", atime=12348, redirect=True)
histfile = tmpdir / 'history'
history.debug_dump_history(str(histfile))
@@ -371,8 +370,8 @@ class TestRebuild:
def test_user_version(self, database, stubs, monkeypatch):
"""Ensure that completion is regenerated if user_version changes."""
web_history = history.WebHistory(database, stubs.FakeHistoryProgress())
- web_history.add_url(QUrl('example.com/1'), redirect=False, atime=1)
- web_history.add_url(QUrl('example.com/2'), redirect=False, atime=2)
+ web_history.add_url(core.QUrl('example.com/1'), redirect=False, atime=1)
+ web_history.add_url(core.QUrl('example.com/2'), redirect=False, atime=2)
web_history.completion.delete('url', 'example.com/2')
hist2 = history.WebHistory(database, progress=stubs.FakeHistoryProgress())
@@ -391,8 +390,8 @@ class TestRebuild:
def test_force_rebuild(self, database, stubs):
"""Ensure that completion is regenerated if we force a rebuild."""
web_history = history.WebHistory(database, stubs.FakeHistoryProgress())
- web_history.add_url(QUrl('example.com/1'), redirect=False, atime=1)
- web_history.add_url(QUrl('example.com/2'), redirect=False, atime=2)
+ web_history.add_url(core.QUrl('example.com/1'), redirect=False, atime=1)
+ web_history.add_url(core.QUrl('example.com/2'), redirect=False, atime=2)
web_history.completion.delete('url', 'example.com/2')
hist2 = history.WebHistory(web_history.database,
@@ -415,9 +414,9 @@ class TestRebuild:
"""
config_stub.val.completion.web_history.exclude = ['*.example.org']
- web_history.add_url(QUrl('http://example.com'),
+ web_history.add_url(core.QUrl('http://example.com'),
redirect=False, atime=1)
- web_history.add_url(QUrl('http://example.org'),
+ web_history.add_url(core.QUrl('http://example.org'),
redirect=False, atime=2)
hist2 = history.WebHistory(web_history.database,
@@ -428,9 +427,9 @@ class TestRebuild:
"""Ensure that completion is rebuilt when exclude patterns change."""
config_stub.val.completion.web_history.exclude = ['*.example.org']
- web_history.add_url(QUrl('http://example.com'),
+ web_history.add_url(core.QUrl('http://example.com'),
redirect=False, atime=1)
- web_history.add_url(QUrl('http://example.org'),
+ web_history.add_url(core.QUrl('http://example.org'),
redirect=False, atime=2)
hist2 = history.WebHistory(web_history.database,
@@ -449,8 +448,8 @@ class TestRebuild:
]
def test_progress(self, monkeypatch, web_history, config_stub, stubs):
- web_history.add_url(QUrl('example.com/1'), redirect=False, atime=1)
- web_history.add_url(QUrl('example.com/2'), redirect=False, atime=2)
+ web_history.add_url(core.QUrl('example.com/1'), redirect=False, atime=1)
+ web_history.add_url(core.QUrl('example.com/2'), redirect=False, atime=2)
# Trigger a completion rebuild
monkeypatch.setattr(web_history.database, 'user_version_changed', lambda: True)
@@ -464,7 +463,7 @@ class TestRebuild:
def test_interrupted(self, stubs, database, monkeypatch):
"""If we interrupt the rebuilding process, force_rebuild should still be set."""
web_history = history.WebHistory(database, stubs.FakeHistoryProgress())
- web_history.add_url(QUrl('example.com/1'), redirect=False, atime=1)
+ web_history.add_url(core.QUrl('example.com/1'), redirect=False, atime=1)
web_history.completion.delete('url', 'example.com/1')
progress = stubs.FakeHistoryProgress(raise_on_tick=True)