def test_tab_completion(stubs, qtbot, app_stub, win_registry, tabbed_browser_stubs): tabbed_browser_stubs[0].tabs = [ stubs.FakeWebView(QUrl('https://github.com'), 'GitHub', 0), stubs.FakeWebView(QUrl('https://wikipedia.org'), 'Wikipedia', 1), stubs.FakeWebView(QUrl('https://duckduckgo.com'), 'DuckDuckGo', 2) ] tabbed_browser_stubs[1].tabs = [ stubs.FakeWebView(QUrl('https://wiki.archlinux.org'), 'ArchWiki', 0), ] actual = _get_completions(miscmodels.TabCompletionModel()) assert actual == [('0', [('0/1', 'https://github.com', 'GitHub'), ('0/2', 'https://wikipedia.org', 'Wikipedia'), ('0/3', 'https://duckduckgo.com', 'DuckDuckGo')]), ('1', [ ('1/1', 'https://wiki.archlinux.org', 'ArchWiki'), ])]
def test_tab_completion_delete(stubs, qtbot, app_stub, win_registry, tabbed_browser_stubs): """Verify closing a tab by deleting it from the completion widget.""" tabbed_browser_stubs[0].tabs = [ stubs.FakeWebView(QUrl('https://github.com'), 'GitHub', 0), stubs.FakeWebView(QUrl('https://wikipedia.org'), 'Wikipedia', 1), stubs.FakeWebView(QUrl('https://duckduckgo.com'), 'DuckDuckGo', 2) ] tabbed_browser_stubs[1].tabs = [ stubs.FakeWebView(QUrl('https://wiki.archlinux.org'), 'ArchWiki', 0), ] model = miscmodels.TabCompletionModel() view = _mock_view_index(model, 0, 1, qtbot) qtbot.add_widget(view) model.delete_cur_item(view) actual = [tab.url() for tab in tabbed_browser_stubs[0].tabs] assert actual == [ QUrl('https://github.com'), QUrl('https://duckduckgo.com') ]
def test_tab_completion_delete(qtmodeltester, fake_web_tab, qtbot, app_stub, win_registry, tabbed_browser_stubs): """Verify closing a tab by deleting it from the completion widget.""" tabbed_browser_stubs[0].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) ] tabbed_browser_stubs[1].tabs = [ fake_web_tab(QUrl('https://wiki.archlinux.org'), 'ArchWiki', 0), ] model = miscmodels.TabCompletionModel() qtmodeltester.data_display_may_return_none = True qtmodeltester.check(model) view = _mock_view_index(model, 0, 1, qtbot) qtbot.add_widget(view) model.delete_cur_item(view) actual = [tab.url() for tab in tabbed_browser_stubs[0].tabs] assert actual == [QUrl('https://github.com'), QUrl('https://duckduckgo.com')]
def test_tab_completion(qtmodeltester, fake_web_tab, app_stub, win_registry, tabbed_browser_stubs): tabbed_browser_stubs[0].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), ] tabbed_browser_stubs[1].tabs = [ fake_web_tab(QUrl('https://wiki.archlinux.org'), 'ArchWiki', 0), ] model = miscmodels.TabCompletionModel() qtmodeltester.data_display_may_return_none = True qtmodeltester.check(model) _check_completions( model, { '0': [('0/1', 'https://github.com', 'GitHub'), ('0/2', 'https://wikipedia.org', 'Wikipedia'), ('0/3', 'https://duckduckgo.com', 'DuckDuckGo')], '1': [ ('1/1', 'https://wiki.archlinux.org', 'ArchWiki'), ] })
def _init_tab_completion(): """Initialize the tab completion model.""" log.completion.debug("Initializing tab completion.") with debug.log_time(log.completion, 'tab completion init'): model = miscmodels.TabCompletionModel() _instances[usertypes.Completion.tab] = model