Ejemplo n.º 1
0
 def test_incdec_port(self):
     """Test incdec_number with port."""
     base_url = QUrl('http://localhost:8000')
     new_url = urlutils.incdec_number(
         base_url, 'increment', segments={'port'})
     assert new_url == QUrl('http://localhost:8001')
     new_url = urlutils.incdec_number(
         base_url, 'decrement', segments={'port'})
     assert new_url == QUrl('http://localhost:7999')
Ejemplo n.º 2
0
 def test_incdec_leading_zeroes(self, number, expected, incdec):
     """Test incdec_number with leading zeroes."""
     url = "http://example.com/{}"
     base_url = QUrl(url.format(number))
     expected_url = QUrl(url.format(expected))
     new_url = urlutils.incdec_number(base_url, incdec, segments={"path"})
     assert new_url == expected_url
Ejemplo n.º 3
0
    def test_incdec_number_count(self, incdec, value, url, count):
        """Test incdec_number with valid URLs and a count."""
        base_value = value.format(20)
        if incdec == 'increment':
            expected_value = value.format(20 + count)
        else:
            expected_value = value.format(20 - count)

        base_url = QUrl(url.format(base_value))
        expected_url = QUrl(url.format(expected_value))
        new_url = urlutils.incdec_number(
            base_url, incdec, count,
            segments={'host', 'path', 'query', 'anchor'})
        assert new_url == expected_url
Ejemplo n.º 4
0
    def test_incdec_number_count(self, incdec, value, url, count):
        """Test incdec_number with valid URLs and a count."""
        base_value = value.format(20)
        if incdec == 'increment':
            expected_value = value.format(20 + count)
        else:
            expected_value = value.format(20 - count)

        base_url = QUrl(url.format(base_value))
        expected_url = QUrl(url.format(expected_value))
        new_url = urlutils.incdec_number(
            base_url, incdec, count,
            segments={'host', 'path', 'query', 'anchor'})
        assert new_url == expected_url
Ejemplo n.º 5
0
    def test_incdec_number(self, incdec, value, url):
        """Test incdec_number with valid URLs."""
        # The integer used should not affect test output, as long as it's
        # bigger than 1
        # 20 was chosen by dice roll, guaranteed to be random
        base_value = value.format(20)
        if incdec == "increment":
            expected_value = value.format(21)
        else:
            expected_value = value.format(19)

        base_url = QUrl(url.format(base_value))
        expected_url = QUrl(url.format(expected_value))
        new_url = urlutils.incdec_number(base_url, incdec, segments={"host", "path", "query", "anchor"})
        assert new_url == expected_url
Ejemplo n.º 6
0
    def test_incdec_number(self, incdec, value, url):
        """Test incdec_number with valid URLs."""
        # The integer used should not affect test output, as long as it's
        # bigger than 1
        # 20 was chosen by dice roll, guaranteed to be random
        base_value = value.format(20)
        if incdec == 'increment':
            expected_value = value.format(21)
        else:
            expected_value = value.format(19)

        base_url = QUrl(url.format(base_value))
        expected_url = QUrl(url.format(expected_value))
        new_url = urlutils.incdec_number(
            base_url, incdec, segments={'host', 'path', 'query', 'anchor'})
        assert new_url == expected_url
Ejemplo n.º 7
0
def incdec(url, inc_or_dec):
    """Helper method for :navigate when `where' is increment/decrement.

    Args:
        url: The current url.
        inc_or_dec: Either 'increment' or 'decrement'.
        tab: Whether to open the link in a new tab.
        background: Open the link in a new background tab.
        window: Open the link in a new window.
    """
    segments = set(config.get('general', 'url-incdec-segments'))
    try:
        new_url = urlutils.incdec_number(url, inc_or_dec, segments=segments)
    except urlutils.IncDecError as error:
        raise Error(error.msg)
    return new_url
Ejemplo n.º 8
0
def incdec(url, count, inc_or_dec):
    """Helper method for :navigate when `where' is increment/decrement.

    Args:
        url: The current url.
        count: How much to increment or decrement by.
        inc_or_dec: Either 'increment' or 'decrement'.
        tab: Whether to open the link in a new tab.
        background: Open the link in a new background tab.
        window: Open the link in a new window.
    """
    segments = set(config.get('general', 'url-incdec-segments'))
    try:
        new_url = urlutils.incdec_number(url, inc_or_dec, count,
                                         segments=segments)
    except urlutils.IncDecError as error:
        raise Error(error.msg)
    return new_url
Ejemplo n.º 9
0
    def test_incdec_number(self, incdec, value, url):
        """Test incdec_number with valid URLs."""
        if (value == '{}foo'
                and url == 'http://example.com/path with {} spaces'):
            pytest.xfail(
                "https://github.com/qutebrowser/qutebrowser/issues/4917")

        # The integer used should not affect test output, as long as it's
        # bigger than 1
        # 20 was chosen by dice roll, guaranteed to be random
        base_value = value.format(20)
        if incdec == 'increment':
            expected_value = value.format(21)
        else:
            expected_value = value.format(19)

        base_url = QUrl(url.format(base_value))
        expected_url = QUrl(url.format(expected_value))
        new_url = urlutils.incdec_number(
            base_url, incdec, segments={'host', 'path', 'query', 'anchor'})
        assert new_url == expected_url
Ejemplo n.º 10
0
 def test_invalid_url(self):
     """Test if incdec_number rejects an invalid URL."""
     with pytest.raises(urlutils.InvalidUrlError):
         urlutils.incdec_number(QUrl(""), "increment")
Ejemplo n.º 11
0
 def test_number_below_0(self, url, count):
     """Test incdec_number with a number <0 after decrementing."""
     with pytest.raises(urlutils.IncDecError):
         urlutils.incdec_number(QUrl(url), 'decrement', count=count)
Ejemplo n.º 12
0
 def test_no_number(self, url):
     """Test incdec_number with URLs that don't contain a number."""
     with pytest.raises(urlutils.IncDecError):
         urlutils.incdec_number(QUrl(url), "increment")
Ejemplo n.º 13
0
 def test_incdec_segment_ignored(self, url, segments, expected):
     new_url = urlutils.incdec_number(QUrl(url),
                                      'increment',
                                      segments=segments)
     assert new_url == QUrl(expected)
Ejemplo n.º 14
0
 def test_incdec_port_default(self):
     """Test that a default port (with url.port() == -1) is not touched."""
     base_url = QUrl('http://localhost')
     with pytest.raises(urlutils.IncDecError):
         urlutils.incdec_number(base_url, 'increment', segments={'port'})
Ejemplo n.º 15
0
 def test_incdec_number(self, url, incdec, output):
     """Test incdec_number with valid URLs."""
     new_url = urlutils.incdec_number(QUrl(url), incdec)
     assert new_url == QUrl(output)
Ejemplo n.º 16
0
 def test_wrong_mode(self):
     """Test if incdec_number rejects a wrong parameter for the incdec
     argument."""
     valid_url = QUrl("http://example.com/0")
     with pytest.raises(ValueError):
         urlutils.incdec_number(valid_url, "foobar")
Ejemplo n.º 17
0
 def test_number_below_0(self):
     """Test incdec_number with a number that would be below zero
     after decrementing."""
     with pytest.raises(urlutils.IncDecError):
         urlutils.incdec_number(QUrl('http://example.com/page_0.html'),
                 'decrement')
Ejemplo n.º 18
0
 def test_incdec_segment_ignored(self, url, segments, expected):
     new_url = urlutils.incdec_number(QUrl(url), 'increment',
                                      segments=segments)
     assert new_url == QUrl(expected)
Ejemplo n.º 19
0
 def test_wrong_mode(self):
     """Test if incdec_number rejects a wrong parameter for incdec."""
     valid_url = QUrl("http://example.com/0")
     with pytest.raises(ValueError):
         urlutils.incdec_number(valid_url, "foobar")
Ejemplo n.º 20
0
 def test_incdec_port_default(self):
     """Test that a default port (with url.port() == -1) is not touched."""
     base_url = QUrl('http://localhost')
     with pytest.raises(urlutils.IncDecError):
         urlutils.incdec_number(base_url, 'increment', segments={'port'})
Ejemplo n.º 21
0
 def test_incdec_number(self, url, incdec, output):
     """Test incdec_number with valid URLs."""
     new_url = urlutils.incdec_number(QUrl(url), incdec)
     assert new_url == QUrl(output)
Ejemplo n.º 22
0
 def test_wrong_segment(self):
     """Test if incdec_number rejects a wrong segment."""
     with pytest.raises(urlutils.IncDecError):
         urlutils.incdec_number(QUrl('http://example.com'),
                                'increment',
                                segments={'foobar'})
Ejemplo n.º 23
0
 def test_number_below_0(self):
     """Test incdec_number with a number <0 after decrementing."""
     with pytest.raises(urlutils.IncDecError):
         urlutils.incdec_number(QUrl("http://example.com/page_0.html"), "decrement")
Ejemplo n.º 24
0
 def test_no_number(self, url):
     """Test incdec_number with URLs that don't contain a number."""
     with pytest.raises(urlutils.IncDecError):
         urlutils.incdec_number(QUrl(url), "increment")
Ejemplo n.º 25
0
 def test_wrong_segment(self):
     """Test if incdec_number rejects a wrong segment."""
     with pytest.raises(urlutils.IncDecError):
         urlutils.incdec_number(QUrl("http://example.com"), "increment", segments={"foobar"})
Ejemplo n.º 26
0
 def test_invalid_url(self):
     """Test if incdec_number rejects an invalid URL."""
     with pytest.raises(urlutils.InvalidUrlError):
         urlutils.incdec_number(QUrl(""), "increment")
Ejemplo n.º 27
0
 def test_number_below_0(self):
     """Test incdec_number with a number <0 after decrementing."""
     with pytest.raises(urlutils.IncDecError):
         urlutils.incdec_number(QUrl('http://example.com/page_0.html'),
                                'decrement')
Ejemplo n.º 28
0
 def test_wrong_segment(self):
     """Test if incdec_number rejects a wrong segment"""
     with pytest.raises(urlutils.IncDecError):
         urlutils.incdec_number(QUrl('http://example.com'),
                                'increment', segments={'foobar'})
Ejemplo n.º 29
0
 def test_number_below_0(self, url, count):
     """Test incdec_number with a number <0 after decrementing."""
     with pytest.raises(urlutils.IncDecError):
         urlutils.incdec_number(QUrl(url), 'decrement', count=count)