incdec_number: add support for port
This commit is contained in:
parent
d62cb58f7d
commit
6a40cbf160
@ -742,7 +742,9 @@ This tries to automatically click on typical _Previous Page_ or _Next Page_ link
|
|||||||
- `next`: Open a _next_ link.
|
- `next`: Open a _next_ link.
|
||||||
- `up`: Go up a level in the current URL.
|
- `up`: Go up a level in the current URL.
|
||||||
- `increment`: Increment the last number in the URL.
|
- `increment`: Increment the last number in the URL.
|
||||||
|
Uses the link:settings.html#url.incdec_segments[url.incdec_segments] config option.
|
||||||
- `decrement`: Decrement the last number in the URL.
|
- `decrement`: Decrement the last number in the URL.
|
||||||
|
Uses the link:settings.html#url.incdec_segments[url.incdec_segments] config option.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -2993,6 +2993,7 @@ Type: <<types,FlagList>>
|
|||||||
Valid values:
|
Valid values:
|
||||||
|
|
||||||
* +host+
|
* +host+
|
||||||
|
* +port+
|
||||||
* +path+
|
* +path+
|
||||||
* +query+
|
* +query+
|
||||||
* +anchor+
|
* +anchor+
|
||||||
|
@ -638,7 +638,9 @@ class CommandDispatcher:
|
|||||||
- `next`: Open a _next_ link.
|
- `next`: Open a _next_ link.
|
||||||
- `up`: Go up a level in the current URL.
|
- `up`: Go up a level in the current URL.
|
||||||
- `increment`: Increment the last number in the URL.
|
- `increment`: Increment the last number in the URL.
|
||||||
|
Uses the link:settings.html#url.incdec_segments[url.incdec_segments] config option.
|
||||||
- `decrement`: Decrement the last number in the URL.
|
- `decrement`: Decrement the last number in the URL.
|
||||||
|
Uses the link:settings.html#url.incdec_segments[url.incdec_segments] config option.
|
||||||
|
|
||||||
tab: Open in a new tab.
|
tab: Open in a new tab.
|
||||||
bg: Open in a background tab.
|
bg: Open in a background tab.
|
||||||
|
@ -1418,7 +1418,7 @@ url.default_page:
|
|||||||
url.incdec_segments:
|
url.incdec_segments:
|
||||||
type:
|
type:
|
||||||
name: FlagList
|
name: FlagList
|
||||||
valid_values: [host, path, query, anchor]
|
valid_values: [host, port, path, query, anchor]
|
||||||
default: [path, query]
|
default: [path, query]
|
||||||
desc: URL segments where `:navigate increment/decrement` will search for
|
desc: URL segments where `:navigate increment/decrement` will search for
|
||||||
a number.
|
a number.
|
||||||
|
@ -537,7 +537,7 @@ def incdec_number(url, incdec, count=1, segments=None):
|
|||||||
incdec: Either 'increment' or 'decrement'
|
incdec: Either 'increment' or 'decrement'
|
||||||
count: The number to increment or decrement by
|
count: The number to increment or decrement by
|
||||||
segments: A set of URL segments to search. Valid segments are:
|
segments: A set of URL segments to search. Valid segments are:
|
||||||
'host', 'path', 'query', 'anchor'.
|
'host', 'port', 'path', 'query', 'anchor'.
|
||||||
Default: {'path', 'query'}
|
Default: {'path', 'query'}
|
||||||
|
|
||||||
Return:
|
Return:
|
||||||
@ -550,7 +550,7 @@ def incdec_number(url, incdec, count=1, segments=None):
|
|||||||
|
|
||||||
if segments is None:
|
if segments is None:
|
||||||
segments = {'path', 'query'}
|
segments = {'path', 'query'}
|
||||||
valid_segments = {'host', 'path', 'query', 'anchor'}
|
valid_segments = {'host', 'port', 'path', 'query', 'anchor'}
|
||||||
if segments - valid_segments:
|
if segments - valid_segments:
|
||||||
extra_elements = segments - valid_segments
|
extra_elements = segments - valid_segments
|
||||||
raise IncDecError("Invalid segments: {}".format(
|
raise IncDecError("Invalid segments: {}".format(
|
||||||
@ -561,6 +561,7 @@ def incdec_number(url, incdec, count=1, segments=None):
|
|||||||
# Order as they appear in a URL
|
# Order as they appear in a URL
|
||||||
segment_modifiers = [
|
segment_modifiers = [
|
||||||
('host', url.host, url.setHost),
|
('host', url.host, url.setHost),
|
||||||
|
('port', lambda: str(url.port()), lambda x: url.setPort(int(x))),
|
||||||
('path', url.path, url.setPath),
|
('path', url.path, url.setPath),
|
||||||
('query', url.query, url.setQuery),
|
('query', url.query, url.setQuery),
|
||||||
('anchor', url.fragment, url.setFragment),
|
('anchor', url.fragment, url.setFragment),
|
||||||
|
@ -622,6 +622,17 @@ class TestIncDecNumber:
|
|||||||
base_url, incdec, segments={'host', 'path', 'query', 'anchor'})
|
base_url, incdec, segments={'host', 'path', 'query', 'anchor'})
|
||||||
assert new_url == expected_url
|
assert new_url == expected_url
|
||||||
|
|
||||||
|
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')
|
||||||
|
|
||||||
@pytest.mark.parametrize('incdec', ['increment', 'decrement'])
|
@pytest.mark.parametrize('incdec', ['increment', 'decrement'])
|
||||||
@pytest.mark.parametrize('value', [
|
@pytest.mark.parametrize('value', [
|
||||||
'{}foo', 'foo{}', 'foo{}bar', '42foo{}'
|
'{}foo', 'foo{}', 'foo{}bar', '42foo{}'
|
||||||
|
Loading…
Reference in New Issue
Block a user