summaryrefslogtreecommitdiffstats
path: root/devtools/client/webconsole/test/browser_webconsole_bug_593003_iframe_wrong_hud.js
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/client/webconsole/test/browser_webconsole_bug_593003_iframe_wrong_hud.js')
-rw-r--r--devtools/client/webconsole/test/browser_webconsole_bug_593003_iframe_wrong_hud.js68
1 files changed, 68 insertions, 0 deletions
diff --git a/devtools/client/webconsole/test/browser_webconsole_bug_593003_iframe_wrong_hud.js b/devtools/client/webconsole/test/browser_webconsole_bug_593003_iframe_wrong_hud.js
new file mode 100644
index 000000000..9f429a3d1
--- /dev/null
+++ b/devtools/client/webconsole/test/browser_webconsole_bug_593003_iframe_wrong_hud.js
@@ -0,0 +1,68 @@
+/* -*- 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/ */
+
+"use strict";
+
+const TEST_URI = "http://example.com/browser/devtools/client/webconsole/" +
+ "test/test-bug-593003-iframe-wrong-hud.html";
+
+const TEST_IFRAME_URI = "http://example.com/browser/devtools/client/" +
+ "webconsole/test/test-bug-593003-iframe-wrong-" +
+ "hud-iframe.html";
+
+const TEST_DUMMY_URI = "http://example.com/browser/devtools/client/" +
+ "webconsole/test/test-console.html";
+
+add_task(function* () {
+
+ let tab1 = (yield loadTab(TEST_URI)).tab;
+ yield ContentTask.spawn(gBrowser.selectedBrowser, {}, function* () {
+ content.console.log("FOO");
+ });
+ yield openConsole();
+
+ let tab2 = (yield loadTab(TEST_DUMMY_URI)).tab;
+ yield openConsole(gBrowser.selectedTab);
+
+ info("Reloading tab 1");
+ yield reloadTab(tab1);
+
+ info("Checking for messages");
+ yield checkMessages(tab1, tab2);
+
+ info("Cleaning up");
+ yield closeConsole(tab1);
+ yield closeConsole(tab2);
+});
+
+function* reloadTab(tab) {
+ let loaded = BrowserTestUtils.browserLoaded(tab.linkedBrowser);
+ tab.linkedBrowser.reload();
+ yield loaded;
+}
+
+function* checkMessages(tab1, tab2) {
+ let hud1 = yield openConsole(tab1);
+ let outputNode1 = hud1.outputNode;
+
+ info("Waiting for messages");
+ yield waitForMessages({
+ webconsole: hud1,
+ messages: [{
+ text: TEST_IFRAME_URI,
+ category: CATEGORY_NETWORK,
+ severity: SEVERITY_LOG,
+ }]
+ });
+
+ let hud2 = yield openConsole(tab2);
+ let outputNode2 = hud2.outputNode;
+
+ isnot(outputNode1, outputNode2,
+ "the two HUD outputNodes must be different");
+
+ let msg = "Didn't find the iframe network request in tab2";
+ testLogEntry(outputNode2, TEST_IFRAME_URI, msg, true, true);
+}