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.py53
1 files changed, 27 insertions, 26 deletions
diff --git a/tests/unit/browser/test_history.py b/tests/unit/browser/test_history.py
index c1990de0d..b64741592 100644
--- a/tests/unit/browser/test_history.py
+++ b/tests/unit/browser/test_history.py
@@ -402,30 +402,12 @@ class TestRebuild:
('example.com/2', '', 2),
]
- def test_force_rebuild(self, web_history, stubs):
- """Ensure that completion is regenerated if we force a rebuild."""
- 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.completion.delete('url', 'example.com/2')
-
- hist2 = history.WebHistory(progress=stubs.FakeHistoryProgress())
- assert list(hist2.completion) == [('example.com/1', '', 1)]
- hist2.metainfo['force_rebuild'] = True
-
- hist3 = history.WebHistory(progress=stubs.FakeHistoryProgress())
- assert list(hist3.completion) == [
- ('example.com/1', '', 1),
- ('example.com/2', '', 2),
- ]
- assert not hist3.metainfo['force_rebuild']
-
def test_exclude(self, config_stub, web_history, stubs):
"""Ensure that patterns in completion.web_history.exclude are ignored.
This setting should only be used for the completion.
"""
config_stub.val.completion.web_history.exclude = ['*.example.org']
- assert web_history.metainfo['force_rebuild']
web_history.add_url(QUrl('http://example.com'),
redirect=False, atime=1)
@@ -435,16 +417,35 @@ class TestRebuild:
hist2 = history.WebHistory(progress=stubs.FakeHistoryProgress())
assert list(hist2.completion) == [('http://example.com', '', 1)]
- def test_unrelated_config_change(self, config_stub, web_history):
- config_stub.val.history_gap_interval = 1234
- assert not web_history.metainfo['force_rebuild']
+ def test_pattern_change_rebuild(self, config_stub, web_history, stubs):
+ """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'),
+ redirect=False, atime=1)
+ web_history.add_url(QUrl('http://example.org'),
+ redirect=False, atime=2)
+
+ hist2 = history.WebHistory(progress=stubs.FakeHistoryProgress())
+ assert list(hist2.completion) == [
+ ('http://example.com', '', 1),
+ ]
+
+ config_stub.val.completion.web_history.exclude = []
+
+ hist3 = history.WebHistory(progress=stubs.FakeHistoryProgress())
+ assert list(hist3.completion) == [
+ ('http://example.com', '', 1),
+ ('http://example.org', '', 2)
+ ]
@pytest.mark.parametrize('patch_threshold', [True, False])
def test_progress(self, web_history, config_stub, monkeypatch, stubs,
patch_threshold):
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.metainfo['force_rebuild'] = True
+ # Change cached patterns to trigger a completion rebuild
+ web_history.metainfo['excluded_patterns'] = 'http://example.org'
if patch_threshold:
monkeypatch.setattr(history.WebHistory, '_PROGRESS_THRESHOLD', 1)
@@ -476,12 +477,12 @@ class TestCompletionMetaInfo:
metainfo['does_not_exist'] = 42
def test_contains(self, metainfo):
- assert 'force_rebuild' in metainfo
+ assert 'excluded_patterns' in metainfo
def test_modify(self, metainfo):
- assert not metainfo['force_rebuild']
- metainfo['force_rebuild'] = True
- assert metainfo['force_rebuild']
+ assert not metainfo['excluded_patterns']
+ metainfo['excluded_patterns'] = 'https://example.com/'
+ assert metainfo['excluded_patterns']
class TestHistoryProgress: