diff --git a/qutebrowser/mainwindow/statusbar/url.py b/qutebrowser/mainwindow/statusbar/url.py index 817953d9d..b9a9d86aa 100644 --- a/qutebrowser/mainwindow/statusbar/url.py +++ b/qutebrowser/mainwindow/statusbar/url.py @@ -138,6 +138,8 @@ class UrlText(textbase.TextBase): """ if url is None: self._normal_url = None + elif not url.isValid(): + self._normal_url = "Invalid URL!" else: self._normal_url = urlutils.safe_display_url(url) self._normal_url_type = UrlType.normal diff --git a/tests/unit/mainwindow/statusbar/test_url.py b/tests/unit/mainwindow/statusbar/test_url.py index 97f09840d..696b2be9f 100644 --- a/tests/unit/mainwindow/statusbar/test_url.py +++ b/tests/unit/mainwindow/statusbar/test_url.py @@ -71,12 +71,12 @@ def test_set_url(url_widget, url_text, expected, which): """Test text when hovering over a percent encoded link.""" qurl = QUrl(url_text) if which == 'normal': - if not qurl.isValid(): - with pytest.raises(urlutils.InvalidUrlError): - url_widget.set_url(qurl) + if url_text is None: return - else: - url_widget.set_url(qurl) + if not qurl.isValid(): + # Special case for the invalid URL above + expected = "Invalid URL!" + url_widget.set_url(qurl) else: url_widget.set_hover_url(url_text)