From c33e9555a187c9f30fd788210993a8072d5a370e Mon Sep 17 00:00:00 2001 From: Michael Ilsaas Date: Wed, 20 Jan 2016 19:38:03 +0100 Subject: [PATCH] Tester for url increment/decrement with zeroes --- qutebrowser/utils/urlutils.py | 2 +- tests/unit/utils/test_urlutils.py | 28 ++++++++++++++++++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/qutebrowser/utils/urlutils.py b/qutebrowser/utils/urlutils.py index f2b3f4557..cef5dfa57 100644 --- a/qutebrowser/utils/urlutils.py +++ b/qutebrowser/utils/urlutils.py @@ -528,7 +528,7 @@ def incdec_number(url, incdec, segments=None): if len(number) < len(str(val)): zeroes = zeroes[1:] if len(number) > len(str(val)): - zeroes = ''.join([zeroes,'0']) + zeroes = ''.join([zeroes, '0']) new_value = ''.join([pre, zeroes, str(val), post]) setter(new_value) diff --git a/tests/unit/utils/test_urlutils.py b/tests/unit/utils/test_urlutils.py index 4f85022b9..e44e4a9e3 100644 --- a/tests/unit/utils/test_urlutils.py +++ b/tests/unit/utils/test_urlutils.py @@ -586,6 +586,34 @@ class TestIncDecNumber: base_url, incdec, segments={'host', 'path', 'query', 'anchor'}) assert new_url == expected_url + @pytest.mark.parametrize('number, expected', [ + ('01', '02'), + ('09', '10'), + ('009', '010') + ]) + def test_increment_leading_zeroes(self, number, expected): + """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, 'increment', segments={'path'}) + assert new_url == expected_url + + @pytest.mark.parametrize('number, expected', [ + ('02', '01'), + ('10', '9'), + ('010', '009') + ]) + def test_decrement_leading_zeroes(self, number, expected): + """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, 'increment', segments={'path'}) + assert new_url == expected_url + @pytest.mark.parametrize('url, segments, expected', [ ('http://ex4mple.com/test_4?page=3#anchor2', {'host'}, 'http://ex5mple.com/test_4?page=3#anchor2'),