示例#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')
示例#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
示例#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
示例#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
示例#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
示例#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
示例#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
示例#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
示例#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
示例#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")
示例#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)
示例#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")
示例#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)
示例#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'})
示例#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)
示例#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")
示例#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')
示例#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)
示例#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")
示例#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'})
示例#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)
示例#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'})
示例#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")
示例#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")
示例#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"})
示例#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")
示例#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')
示例#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'})
示例#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)