From 5f8de423f190bbb79a62f804151bc24824fa32d8 Mon Sep 17 00:00:00 2001 From: "Matt A. Tobin" Date: Fri, 2 Feb 2018 04:16:08 -0500 Subject: Add m-esr52 at 52.6.0 --- .../test/browser_console_error_source_click.js | 79 ++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 devtools/client/webconsole/test/browser_console_error_source_click.js (limited to 'devtools/client/webconsole/test/browser_console_error_source_click.js') diff --git a/devtools/client/webconsole/test/browser_console_error_source_click.js b/devtools/client/webconsole/test/browser_console_error_source_click.js new file mode 100644 index 000000000..5839f20d5 --- /dev/null +++ b/devtools/client/webconsole/test/browser_console_error_source_click.js @@ -0,0 +1,79 @@ +/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ +/* vim: set ft=javascript ts=2 et sw=2 tw=80: */ +/* Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/publicdomain/zero/1.0/ */ + +// Check that JS errors and CSS warnings open view source when their source link +// is clicked in the Browser Console. See bug 877778. + +"use strict"; + +const TEST_URI = "data:text/html;charset=utf8,

hello world from bug 877778 " + + ""; + +add_task(function* () { + yield new Promise(resolve => { + SpecialPowers.pushPrefEnv({"set": [ + ["devtools.browserconsole.filter.cssparser", true] + ]}, resolve); + }); + + yield loadTab(TEST_URI); + let hud = yield HUDService.toggleBrowserConsole(); + ok(hud, "browser console opened"); + + // On e10s, the exception is triggered in child process + // and is ignored by test harness + if (!Services.appinfo.browserTabsRemoteAutostart) { + expectUncaughtException(); + } + + info("generate exception and wait for the message"); + ContentTask.spawn(gBrowser.selectedBrowser, {}, function* () { + let button = content.document.querySelector("button"); + button.click(); + }); + + let results = yield waitForMessages({ + webconsole: hud, + messages: [ + { + text: "ReferenceError: foobar is not defined", + category: CATEGORY_JS, + severity: SEVERITY_ERROR, + }, + { + text: "Unknown property \u2018test-color\u2019", + category: CATEGORY_CSS, + severity: SEVERITY_WARNING, + }, + ], + }); + + let viewSourceCalled = false; + + let viewSource = hud.viewSource; + hud.viewSource = () => { + viewSourceCalled = true; + }; + + for (let result of results) { + viewSourceCalled = false; + + let msg = [...result.matched][0]; + ok(msg, "message element found for: " + result.text); + ok(!msg.classList.contains("filtered-by-type"), "message element is not filtered"); + let selector = ".message .message-location .frame-link-source"; + let locationNode = msg.querySelector(selector); + ok(locationNode, "message location element found"); + + locationNode.click(); + + ok(viewSourceCalled, "view source opened"); + } + + hud.viewSource = viewSource; + + yield finishTest(); +}); -- cgit v1.2.3