diff --git a/qutebrowser/browser/webengine/webenginetab.py b/qutebrowser/browser/webengine/webenginetab.py index ab0b866ca..e66ed50c1 100644 --- a/qutebrowser/browser/webengine/webenginetab.py +++ b/qutebrowser/browser/webengine/webenginetab.py @@ -735,6 +735,7 @@ class WebEngineTab(browsertab.AbstractTab): def _show_error_page(self, url, error): """Show an error page in the tab.""" + log.misc.debug("Showing error page for {}".format(error)) url_string = url.toDisplayString() error_page = jinja.render( 'error.html', diff --git a/tests/end2end/features/javascript.feature b/tests/end2end/features/javascript.feature index 8428306cb..392a291b5 100644 --- a/tests/end2end/features/javascript.feature +++ b/tests/end2end/features/javascript.feature @@ -167,3 +167,9 @@ Feature: Javascript stuff And I wait for "[*] JavaScript is enabled" in the log And I open data/javascript/enabled.html Then the page should contain the plaintext "JavaScript is disabled" + + @qtwebkit_skip + Scenario: Error pages without JS enabled + When I set content.javascript.enabled to false + And I open 500 + Then "Showing error page for* 500" should be logged diff --git a/tests/end2end/fixtures/webserver.py b/tests/end2end/fixtures/webserver.py index 2beb6fb95..46065b6c8 100644 --- a/tests/end2end/fixtures/webserver.py +++ b/tests/end2end/fixtures/webserver.py @@ -79,6 +79,7 @@ class Request(testprocess.Line): '/cookies/set': [http.client.FOUND], '/500-inline': [http.client.INTERNAL_SERVER_ERROR], + '/500': [http.client.INTERNAL_SERVER_ERROR], } for i in range(15): path_to_statuses['/redirect/{}'.format(i)] = [http.client.FOUND] diff --git a/tests/end2end/fixtures/webserver_sub.py b/tests/end2end/fixtures/webserver_sub.py index 75c080c34..1bd9e8a66 100644 --- a/tests/end2end/fixtures/webserver_sub.py +++ b/tests/end2end/fixtures/webserver_sub.py @@ -179,6 +179,14 @@ def internal_error_attachment(): return response +@app.route('/500') +def internal_error(): + """A normal 500 error.""" + r = flask.make_response() + r.status_code = 500 + return r + + @app.route('/cookies') def view_cookies(): """Show cookies."""