summaryrefslogtreecommitdiffstats
path: root/devtools/client/webconsole/test/browser_bug_865871_variables_view_close_on_esc_key.js
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/client/webconsole/test/browser_bug_865871_variables_view_close_on_esc_key.js')
-rw-r--r--devtools/client/webconsole/test/browser_bug_865871_variables_view_close_on_esc_key.js75
1 files changed, 75 insertions, 0 deletions
diff --git a/devtools/client/webconsole/test/browser_bug_865871_variables_view_close_on_esc_key.js b/devtools/client/webconsole/test/browser_bug_865871_variables_view_close_on_esc_key.js
new file mode 100644
index 000000000..044525b28
--- /dev/null
+++ b/devtools/client/webconsole/test/browser_bug_865871_variables_view_close_on_esc_key.js
@@ -0,0 +1,75 @@
+/* -*- 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 the variables view sidebar can be closed by pressing Escape in the
+// web console.
+
+"use strict";
+
+const TEST_URI = "http://example.com/browser/devtools/client/webconsole/" +
+ "test/test-eval-in-stackframe.html";
+
+function test() {
+ let hud;
+
+ Task.spawn(runner).then(finishTest);
+
+ function* runner() {
+ let {tab} = yield loadTab(TEST_URI);
+ hud = yield openConsole(tab);
+ let jsterm = hud.jsterm;
+ let result;
+ let vview;
+ let msg;
+
+ yield openSidebar("fooObj",
+ 'testProp: "testValue"',
+ { name: "testProp", value: "testValue" });
+
+ let prop = result.matchedProp;
+ ok(prop, "matched the |testProp| property in the variables view");
+
+ vview.window.focus();
+
+ let sidebarClosed = jsterm.once("sidebar-closed");
+ EventUtils.synthesizeKey("VK_ESCAPE", {});
+ yield sidebarClosed;
+
+ jsterm.clearOutput();
+
+ yield openSidebar("window.location",
+ "Location \u2192 http://example.com/browser/",
+ { name: "host", value: "example.com" });
+
+ vview.window.focus();
+
+ msg.scrollIntoView();
+ sidebarClosed = jsterm.once("sidebar-closed");
+ EventUtils.synthesizeKey("VK_ESCAPE", {});
+ yield sidebarClosed;
+
+ function* openSidebar(objName, expectedText, expectedObj) {
+ msg = yield jsterm.execute(objName);
+ ok(msg, "output message found");
+
+ let anchor = msg.querySelector("a");
+ let body = msg.querySelector(".message-body");
+ ok(anchor, "object anchor");
+ ok(body, "message body");
+ ok(body.textContent.includes(expectedText), "message text check");
+
+ msg.scrollIntoView();
+ yield EventUtils.synthesizeMouse(anchor, 2, 2, {}, hud.iframeWindow);
+
+ let vviewVar = yield jsterm.once("variablesview-fetched");
+ vview = vviewVar._variablesView;
+ ok(vview, "variables view object exists");
+
+ [result] = yield findVariableViewProperties(vviewVar, [
+ expectedObj,
+ ], { webconsole: hud });
+ }
+ }
+}