def test_is_url(urlutils_config_stub, fake_dns, is_url, is_url_no_autosearch, uses_dns, url, auto_search): """Test is_url(). Args: is_url: Whether the given string is a URL with auto-search dns/naive. is_url_no_autosearch: Whether the given string is a URL with auto-search false. uses_dns: Whether the given string should fire a DNS request for the given URL. url: The URL to test, as a string. auto_search: With which auto-search setting to test """ if (url == '31c3' and auto_search == 'dns' and qtutils.version_check('5.6.1')): pytest.xfail("Qt behavior changed") urlutils_config_stub.data['general']['auto-search'] = auto_search if auto_search == 'dns': if uses_dns: fake_dns.answer = True result = urlutils.is_url(url) assert fake_dns.used assert result fake_dns.reset() fake_dns.answer = False result = urlutils.is_url(url) assert fake_dns.used assert not result else: result = urlutils.is_url(url) assert not fake_dns.used assert result == is_url elif auto_search == 'naive': urlutils_config_stub.data['general']['auto-search'] = 'naive' assert urlutils.is_url(url) == is_url assert not fake_dns.used elif not auto_search: urlutils_config_stub.data['general']['auto-search'] = False assert urlutils.is_url(url) == is_url_no_autosearch assert not fake_dns.used else: raise ValueError("Invalid value {!r} for auto-search!".format( auto_search))
def test_is_url(urlutils_config_stub, fake_dns, is_url, is_url_no_autosearch, uses_dns, url, auto_search): """Test is_url(). Args: is_url: Whether the given string is a URL with auto-search dns/naive. is_url_no_autosearch: Whether the given string is a URL with auto-search false. uses_dns: Whether the given string should fire a DNS request for the given URL. url: The URL to test, as a string. auto_search: With which auto-search setting to test """ if (url == '31c3' and auto_search == 'dns' and qtutils.version_check('5.6.1')): pytest.xfail("Qt behavior changed") urlutils_config_stub.data['general']['auto-search'] = auto_search if auto_search == 'dns': if uses_dns: fake_dns.answer = True result = urlutils.is_url(url) assert fake_dns.used assert result fake_dns.reset() fake_dns.answer = False result = urlutils.is_url(url) assert fake_dns.used assert not result else: result = urlutils.is_url(url) assert not fake_dns.used assert result == is_url elif auto_search == 'naive': urlutils_config_stub.data['general']['auto-search'] = 'naive' assert urlutils.is_url(url) == is_url assert not fake_dns.used elif not auto_search: urlutils_config_stub.data['general']['auto-search'] = False assert urlutils.is_url(url) == is_url_no_autosearch assert not fake_dns.used else: raise ValueError( "Invalid value {!r} for auto-search!".format(auto_search))
def test_is_url(config_stub, fake_dns, is_url, is_url_no_autosearch, uses_dns, url, auto_search): """Test is_url(). Args: is_url: Whether the given string is a URL with auto_search dns/naive. is_url_no_autosearch: Whether the given string is a URL with auto_search false. uses_dns: Whether the given string should fire a DNS request for the given URL. url: The URL to test, as a string. auto_search: With which auto_search setting to test """ config_stub.val.url.auto_search = auto_search if auto_search == 'dns': if uses_dns: fake_dns.answer = True result = urlutils.is_url(url) assert fake_dns.used assert result fake_dns.reset() fake_dns.answer = False result = urlutils.is_url(url) assert fake_dns.used assert not result else: result = urlutils.is_url(url) assert not fake_dns.used assert result == is_url elif auto_search == 'naive': assert urlutils.is_url(url) == is_url assert not fake_dns.used elif auto_search == 'never': assert urlutils.is_url(url) == is_url_no_autosearch assert not fake_dns.used else: raise ValueError( "Invalid value {!r} for auto_search!".format(auto_search))
def test_is_url(config_stub, fake_dns, is_url, is_url_no_autosearch, uses_dns, url, auto_search): """Test is_url(). Args: is_url: Whether the given string is a URL with auto_search dns/naive. is_url_no_autosearch: Whether the given string is a URL with auto_search false. uses_dns: Whether the given string should fire a DNS request for the given URL. url: The URL to test, as a string. auto_search: With which auto_search setting to test """ config_stub.val.url.auto_search = auto_search if auto_search == 'dns': if uses_dns: fake_dns.answer = True result = urlutils.is_url(url) assert fake_dns.used assert result fake_dns.reset() fake_dns.answer = False result = urlutils.is_url(url) assert fake_dns.used assert not result else: result = urlutils.is_url(url) assert not fake_dns.used assert result == is_url elif auto_search == 'naive': assert urlutils.is_url(url) == is_url assert not fake_dns.used elif auto_search == 'never': assert urlutils.is_url(url) == is_url_no_autosearch assert not fake_dns.used else: raise ValueError("Invalid value {!r} for auto_search!".format( auto_search))
def test_is_url(urlutils_config_stub, fake_dns, is_url, is_url_no_autosearch, uses_dns, url): """Test is_url(). Args: is_url: Whether the given string is an URL with auto-search dns/naive. is_url_no_autosearch: Whether the given string is an URL with auto-search false. uses_dns: Whether the given string should fire a DNS request for the given URL. url: The URL to test, as a string. """ urlutils_config_stub.data['general']['auto-search'] = 'dns' if uses_dns: fake_dns.answer = True result = urlutils.is_url(url) assert fake_dns.used assert result fake_dns.reset() fake_dns.answer = False result = urlutils.is_url(url) assert fake_dns.used assert not result else: result = urlutils.is_url(url) assert not fake_dns.used assert result == is_url fake_dns.reset() urlutils_config_stub.data['general']['auto-search'] = 'naive' assert urlutils.is_url(url) == is_url assert not fake_dns.used fake_dns.reset() urlutils_config_stub.data['general']['auto-search'] = False assert urlutils.is_url(url) == is_url_no_autosearch assert not fake_dns.used
def test_is_url(config_stub, fake_dns, auto_search, url_params): """Test is_url(). Args: auto_search: With which auto_search setting to test url_params: instance of UrlParams; each containing the following attrs * url: The URL to test, as a string. * is_url: Whether the given string is considered a URL when auto_search is either dns or naive. [default: True] * is_url_no_autosearch: Whether the given string is a URL with auto_search false. [default: True] * use_dns: Whether the given string should fire a DNS request for the given URL. [default: True] * is_url_in_schemeless: Whether the given string is treated as a URL when auto_search=schemeless. [default: False] """ url = url_params.url is_url = url_params.is_url is_url_no_autosearch = url_params.is_url_no_autosearch use_dns = url_params.use_dns is_url_in_schemeless = url_params.is_url_in_schemeless config_stub.val.url.auto_search = auto_search if auto_search == 'dns': if use_dns: fake_dns.answer = True result = urlutils.is_url(url) assert fake_dns.used assert result fake_dns.reset() fake_dns.answer = False result = urlutils.is_url(url) assert fake_dns.used assert not result else: result = urlutils.is_url(url) assert not fake_dns.used assert result == is_url elif auto_search == 'schemeless': assert urlutils.is_url(url) == is_url_in_schemeless assert not fake_dns.used elif auto_search == 'naive': assert urlutils.is_url(url) == is_url assert not fake_dns.used elif auto_search == 'never': assert urlutils.is_url(url) == is_url_no_autosearch assert not fake_dns.used else: raise ValueError( "Invalid value {!r} for auto_search!".format(auto_search))
def test_search_no_autosearch(self): """Test explicit search with auto-search=False.""" self.assertFalse(urlutils.is_url('test foo'))
def test_not_urls(self): """Test things which are not URLs.""" for url in self.NOT_URLS: with self.subTest(url=url): self.assertFalse(urlutils.is_url(url), url)
def test_urls(self): """Test things which are URLs.""" for url in self.URLS: with self.subTest(url=url): self.assertTrue(urlutils.is_url(url), url)
def test_searchengine_is_url(config_stub, auto_search, open_base_url, is_url): config_stub.val.url.auto_search = auto_search config_stub.val.url.open_base_url = open_base_url assert urlutils.is_url('test') == is_url
def test_not_urls(self, mocker, stubs, url): """Test things which are not URLs.""" mocker.patch('qutebrowser.utils.urlutils.config', new=stubs.ConfigStub( get_config_stub('naive'))) assert not urlutils.is_url(url), url
def test_search_autosearch(self, monkeypatch, config_stub, autosearch): """Test explicit search with auto-search=True.""" init_config_stub(config_stub, autosearch) monkeypatch.setattr('qutebrowser.utils.urlutils.config', config_stub) assert not urlutils.is_url('test foo')
def test_not_urls(self, monkeypatch, config_stub, url): """Test things which are not URLs.""" init_config_stub(config_stub, 'naive') monkeypatch.setattr('qutebrowser.utils.urlutils.config', config_stub) assert not urlutils.is_url(url), url
def test_not_urls(self, configmock): """Test things which are not URLs.""" configmock.return_value = 'naive' for url in self.NOT_URLS: with self.subTest(url=url): self.assertFalse(urlutils.is_url(url), url)
def test_search_autosearch(self, mocker, stubs, autosearch): """Test explicit search with auto-search=True.""" mocker.patch('qutebrowser.utils.urlutils.config', new=stubs.ConfigStub( get_config_stub(autosearch))) assert not urlutils.is_url('test foo')