summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--qutebrowser/utils/urlmatch.py4
-rw-r--r--tests/unit/utils/test_urlmatch.py1
2 files changed, 4 insertions, 1 deletions
diff --git a/qutebrowser/utils/urlmatch.py b/qutebrowser/utils/urlmatch.py
index 5d9afc13e..888287ec2 100644
--- a/qutebrowser/utils/urlmatch.py
+++ b/qutebrowser/utils/urlmatch.py
@@ -140,7 +140,9 @@ class UrlPattern:
Deviation from Chromium:
- We assume * when no scheme has been given.
"""
- assert parsed.scheme, parsed
+ if not parsed.scheme:
+ raise ParseError("Missing scheme")
+
if parsed.scheme == 'any':
self._scheme = None
return
diff --git a/tests/unit/utils/test_urlmatch.py b/tests/unit/utils/test_urlmatch.py
index dcd703790..aa3ace903 100644
--- a/tests/unit/utils/test_urlmatch.py
+++ b/tests/unit/utils/test_urlmatch.py
@@ -84,6 +84,7 @@ from qutebrowser.utils import urlmatch
# Additional tests
("http://[", "Invalid IPv6 URL"),
+ ("://", "Missing scheme"),
])
def test_invalid_patterns(pattern, error):
with pytest.raises(urlmatch.ParseError, match=re.escape(error)):