From 9f14ae184ff5f2a782424627e552e4feb8c10539 Mon Sep 17 00:00:00 2001 From: Daniel Hahler Date: Mon, 22 Jan 2018 21:48:21 +0100 Subject: [PATCH] fixup! incdec_number: add support for port --- qutebrowser/utils/urlutils.py | 2 +- tests/unit/utils/test_urlutils.py | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/qutebrowser/utils/urlutils.py b/qutebrowser/utils/urlutils.py index 46bdee15c..88853483e 100644 --- a/qutebrowser/utils/urlutils.py +++ b/qutebrowser/utils/urlutils.py @@ -561,7 +561,7 @@ def incdec_number(url, incdec, count=1, segments=None): # Order as they appear in a URL segment_modifiers = [ ('host', url.host, url.setHost), - ('port', lambda: str(url.port()), lambda x: url.setPort(int(x))), + ('port', lambda: str(url.port()) if url.port() > 0 else '', lambda x: url.setPort(int(x))), ('path', url.path, url.setPath), ('query', url.query, url.setQuery), ('anchor', url.fragment, url.setFragment), diff --git a/tests/unit/utils/test_urlutils.py b/tests/unit/utils/test_urlutils.py index 6b005f402..de83ba7bf 100644 --- a/tests/unit/utils/test_urlutils.py +++ b/tests/unit/utils/test_urlutils.py @@ -633,6 +633,12 @@ class TestIncDecNumber: base_url, 'decrement', segments={'port'}) assert new_url == QUrl('http://localhost:7999') + 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'}) + @pytest.mark.parametrize('incdec', ['increment', 'decrement']) @pytest.mark.parametrize('value', [ '{}foo', 'foo{}', 'foo{}bar', '42foo{}'