Exemplo n.º 1
0
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))
Exemplo n.º 2
0
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))
Exemplo n.º 3
0
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))
Exemplo n.º 4
0
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))
Exemplo n.º 5
0
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
Exemplo n.º 6
0
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
Exemplo n.º 7
0
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))
Exemplo n.º 8
0
 def test_search_no_autosearch(self):
     """Test explicit search with auto-search=False."""
     self.assertFalse(urlutils.is_url('test foo'))
Exemplo n.º 9
0
 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)
Exemplo n.º 10
0
 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)
Exemplo n.º 11
0
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
Exemplo n.º 12
0
 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
Exemplo n.º 13
0
 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')
Exemplo n.º 14
0
 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
Exemplo n.º 15
0
 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)
Exemplo n.º 16
0
 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')
Exemplo n.º 17
0
 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)