author | Michael Ratcliffe <mratcliffe@mozilla.com> |
Wed, 14 Feb 2018 13:39:07 +0000 | |
changeset 404865 | 03fb2429290e50d577e049deef9d884ebb86561d |
parent 404864 | 2e44a7285ccddce48e794db74ce59cd98fd1ae9f |
child 404866 | 8ed76de9d7eb9f7cea825a4a2dca3a081da9a111 |
push id | 60021 |
push user | mratcliffe@mozilla.com |
push date | Thu, 22 Feb 2018 17:36:03 +0000 |
treeherder | autoland@03fb2429290e [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | nchevobbe |
bugs | 1437855 |
milestone | 60.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/devtools/client/webconsole/new-console-output/test/mochitest/browser.ini +++ b/devtools/client/webconsole/new-console-output/test/mochitest/browser.ini @@ -55,30 +55,30 @@ support-files = test-console-api-stackframe.html test-console-clear.html test-console-column.html test-console-count-external-file.js test-console-count.html test-console-extras.html test-console-filters.html test-console-group.html + test-console-iframes.html test-console-output-02.html test-console-output-03.html test-console-output-04.html test-console-output-dom-elements.html test-console-output-events.html test-console-replaced-api.html test-console-server-logging-array.sjs test-console-server-logging-backtrace.sjs test-console-server-logging.sjs test-console-table.html test-console-trace-async.html test-console-workers.html test-console.html - test-consoleiframes.html test-cu-reporterror.js test-data.json test-data.json^headers^ test-duplicate-error.html test-encoding-ISO-8859-1.html test-error.html test-eval-in-stackframe.html test-exception-stackframe.html @@ -184,17 +184,16 @@ skip-if = true # Bug 1437849 [browser_console_nsiconsolemessage.js] skip-if = true # Bug 1437850 [browser_console_open_or_focus.js] skip-if = true # Bug 1437851 [browser_console_restore.js] [browser_console_webconsole_ctrlw_close_tab.js] skip-if = true # Bug 1437854 [browser_console_webconsole_iframe_messages.js] -skip-if = true # Bug 1437855 [browser_console_webconsole_private_browsing.js] skip-if = true # Bug 1403188 # old console skip-if = e10s # Bug 1042253 - webconsole e10s tests [browser_jsterm_accessibility.js] [browser_jsterm_add_edited_input_to_history.js] [browser_jsterm_autocomplete_array_no_index.js] [browser_jsterm_autocomplete_cached_results.js] [browser_jsterm_autocomplete_crossdomain_iframe.js]
--- a/devtools/client/webconsole/new-console-output/test/mochitest/browser_console_webconsole_iframe_messages.js +++ b/devtools/client/webconsole/new-console-output/test/mochitest/browser_console_webconsole_iframe_messages.js @@ -1,114 +1,66 @@ /* -*- 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/ */ +/* import-globals-from head.js */ + // Check that cached messages from nested iframes are displayed in the // Web/Browser Console. "use strict"; const TEST_URI = "http://example.com/browser/devtools/client/webconsole/" + - "test/test-consoleiframes.html"; + "new-console-output/test/mochitest/test-console-iframes.html"; const expectedMessages = [ - { - text: "main file", - category: CATEGORY_WEBDEV, - severity: SEVERITY_LOG, - }, - { - text: "blah", - category: CATEGORY_JS, - severity: SEVERITY_ERROR - }, - { - text: "iframe 2", - category: CATEGORY_WEBDEV, - severity: SEVERITY_LOG - }, - { - text: "iframe 3", - category: CATEGORY_WEBDEV, - severity: SEVERITY_LOG - } + "main file", + "blah", + "iframe 2", + "iframe 3" ]; -// "iframe 1" console messages can be coalesced into one if they follow each -// other in the sequence of messages (depending on timing). If they do not, then -// they will be displayed in the console output independently, as separate -// messages. This is why we need to match any of the following two rules. -const expectedMessagesAny = [ - { - name: "iframe 1 (count: 2)", - text: "iframe 1", - category: CATEGORY_WEBDEV, - severity: SEVERITY_LOG, - count: 2 - }, - { - name: "iframe 1 (repeats: 2)", - text: "iframe 1", - category: CATEGORY_WEBDEV, - severity: SEVERITY_LOG, - repeats: 2 - }, -]; +const expectedDupedMessage = "iframe 1"; -add_task(function* () { +add_task(async function () { // On e10s, the exception is triggered in child process // and is ignored by test harness if (!Services.appinfo.browserTabsRemoteAutostart) { expectUncaughtException(); } - yield loadTab(TEST_URI); - let hud = yield openConsole(); - ok(hud, "web console opened"); + let hud = await openNewTabAndConsole(TEST_URI); - yield testWebConsole(hud); - yield closeConsole(); + await testMessages(hud); + await closeConsole(); info("web console closed"); - hud = yield HUDService.toggleBrowserConsole(); - yield testBrowserConsole(hud); - yield closeConsole(); + hud = await HUDService.toggleBrowserConsole(); + await testBrowserConsole(hud); + await closeConsole(); }); -function* testWebConsole(hud) { - yield waitForMessages({ - webconsole: hud, - messages: expectedMessages, - }); +async function testMessages(hud) { + for (let message of expectedMessages) { + info(`checking that the message "${message}" exists`); + await waitFor(() => findMessage(hud, message)); + } info("first messages matched"); - yield waitForMessages({ - webconsole: hud, - messages: expectedMessagesAny, - matchCondition: "any", - }); + let messages = await findMessages(hud, expectedDupedMessage); + is(messages.length, 2, `${expectedDupedMessage} is present twice`); } -function* testBrowserConsole(hud) { +async function testBrowserConsole(hud) { ok(hud, "browser console opened"); // TODO: The browser console doesn't show page's console.log statements // in e10s windows. See Bug 1241289. if (Services.appinfo.browserTabsRemoteAutostart) { todo(false, "Bug 1241289"); return; } - yield waitForMessages({ - webconsole: hud, - messages: expectedMessages, - }); - - info("first messages matched"); - yield waitForMessages({ - webconsole: hud, - messages: expectedMessagesAny, - matchCondition: "any", - }); + await testMessages(hud); }
rename from devtools/client/webconsole/new-console-output/test/mochitest/test-consoleiframes.html rename to devtools/client/webconsole/new-console-output/test/mochitest/test-console-iframes.html --- a/devtools/client/webconsole/new-console-output/test/mochitest/test-consoleiframes.html +++ b/devtools/client/webconsole/new-console-output/test/mochitest/test-console-iframes.html @@ -1,13 +1,15 @@ -<html> -<head> - <script> - console.log("main file"); - </script> -</head> -<body> -<h1>iframe console test</h1> -<iframe src="test-iframe1.html"></iframe> -<iframe src="test-iframe2.html"></iframe> -<iframe src="test-iframe3.html"></iframe> -</body> -</html> \ No newline at end of file +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> + <script> + console.log("main file"); + </script> + </head> + <body> + <h1>iframe console test</h1> + <iframe src="test-iframe1.html"></iframe> + <iframe src="test-iframe2.html"></iframe> + <iframe src="test-iframe3.html"></iframe> + </body> +</html>
--- a/devtools/client/webconsole/new-console-output/test/mochitest/test-iframe1.html +++ b/devtools/client/webconsole/new-console-output/test/mochitest/test-iframe1.html @@ -1,10 +1,12 @@ -<html> -<head> - <script> - console.log("iframe 1"); - </script> -</head> -<body> -<h1>iframe 1</h1> -</body> -</html> \ No newline at end of file +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> + <script> + console.log("iframe 1"); + </script> + </head> + <body> + <h1>iframe 1</h1> + </body> +</html>
--- a/devtools/client/webconsole/new-console-output/test/mochitest/test-iframe2.html +++ b/devtools/client/webconsole/new-console-output/test/mochitest/test-iframe2.html @@ -1,11 +1,13 @@ -<html> -<head> - <script> - console.log("iframe 2"); - blah; - </script> -</head> -<body> -<h1>iframe 2</h1> -</body> -</html> \ No newline at end of file +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> + <script> + console.log("iframe 2"); + blah; + </script> + </head> + <body> + <h1>iframe 2</h1> + </body> +</html>
--- a/devtools/client/webconsole/new-console-output/test/mochitest/test-iframe3.html +++ b/devtools/client/webconsole/new-console-output/test/mochitest/test-iframe3.html @@ -1,11 +1,13 @@ -<html> -<head> - <script> - console.log("iframe 3"); - </script> -</head> -<body> -<h1>iframe 3</h1> -<iframe src="test-iframe1.html"></iframe> -</body> -</html> \ No newline at end of file +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> + <script> + console.log("iframe 3"); + </script> + </head> + <body> + <h1>iframe 3</h1> + <iframe src="test-iframe1.html"></iframe> + </body> +</html>