From 1a9b59fcfa73d1505834d8461ee166f07fb201cd Mon Sep 17 00:00:00 2001 From: mamg22 <45301823+mamg22@users.noreply.github.com> Date: Wed, 23 Dec 2020 21:36:28 -0400 Subject: Update tests in TestRebuild Remove or replace uses of "force_rebuild" Added test_pattern_change_rebuild --- tests/unit/browser/test_history.py | 45 +++++++++++++++++++------------------- 1 file changed, 23 insertions(+), 22 deletions(-) diff --git a/tests/unit/browser/test_history.py b/tests/unit/browser/test_history.py index 8ee24204b..e56298037 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 regenerated 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) -- cgit v1.2.3-54-g00ecf