summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Bruhin <git@the-compiler.org>2016-06-09 17:43:33 +0200
committerFlorian Bruhin <git@the-compiler.org>2016-06-09 17:43:33 +0200
commit089131c79dbc069c5c5ce30f70b4392d1bd7d80a (patch)
tree968ebab497aa8d7a3e3b217a4d9e49403a0dd863
parent86632804a9307951bd1e92974f3d5ea8608c08ff (diff)
downloadqutebrowser-089131c79dbc069c5c5ce30f70b4392d1bd7d80a.tar.gz
qutebrowser-089131c79dbc069c5c5ce30f70b4392d1bd7d80a.zip
Improve error message when clicking invalid link
-rw-r--r--qutebrowser/browser/webpage.py7
-rw-r--r--tests/end2end/data/invalid_link.html11
-rw-r--r--tests/end2end/features/hints.feature6
3 files changed, 20 insertions, 4 deletions
diff --git a/qutebrowser/browser/webpage.py b/qutebrowser/browser/webpage.py
index 6b01b8a29..21c8a4ea5 100644
--- a/qutebrowser/browser/webpage.py
+++ b/qutebrowser/browser/webpage.py
@@ -33,7 +33,7 @@ from qutebrowser.config import config
from qutebrowser.browser import http, tabhistory, pdfjs
from qutebrowser.browser.network import networkmanager
from qutebrowser.utils import (message, usertypes, log, jinja, qtutils, utils,
- objreg, debug)
+ objreg, debug, urlutils)
class BrowserPage(QWebPage):
@@ -570,9 +570,8 @@ class BrowserPage(QWebPage):
if typ != QWebPage.NavigationTypeLinkClicked:
return True
if not url.isValid():
- message.error(self._win_id, "Invalid link {} clicked!".format(
- urlstr))
- log.webview.debug(url.errorString())
+ msg = urlutils.get_errstring(url, "Invalid link clicked")
+ message.error(self._win_id, msg)
self.open_target = usertypes.ClickTarget.normal
return False
tabbed_browser = objreg.get('tabbed-browser', scope='window',
diff --git a/tests/end2end/data/invalid_link.html b/tests/end2end/data/invalid_link.html
new file mode 100644
index 000000000..f4e572b16
--- /dev/null
+++ b/tests/end2end/data/invalid_link.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+
+<html>
+ <head>
+ <meta charset="utf-8">
+ <title>Invalid link</title>
+ </head>
+ <body>
+ <a href="what://::">I'm broken</a>
+ </body>
+</html>
diff --git a/tests/end2end/features/hints.feature b/tests/end2end/features/hints.feature
index 274804744..5d7329fde 100644
--- a/tests/end2end/features/hints.feature
+++ b/tests/end2end/features/hints.feature
@@ -113,6 +113,12 @@ Feature: Using hints
And I run :follow-hint a
Then the message "http://localhost:(port)/data/hello.txt" should be shown
+ Scenario: Clicking an invalid link
+ When I open data/invalid_link.html
+ And I run :hint all
+ And I run :follow-hint a
+ Then the error "Invalid link clicked - *" should be shown
+
### iframes
Scenario: Using :follow-hint inside an iframe