summaryrefslogtreecommitdiffstats
path: root/devtools/client/scratchpad/test/browser_scratchpad_close_toolbox.js
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/client/scratchpad/test/browser_scratchpad_close_toolbox.js')
-rw-r--r--devtools/client/scratchpad/test/browser_scratchpad_close_toolbox.js38
1 files changed, 38 insertions, 0 deletions
diff --git a/devtools/client/scratchpad/test/browser_scratchpad_close_toolbox.js b/devtools/client/scratchpad/test/browser_scratchpad_close_toolbox.js
new file mode 100644
index 000000000..fd1126fd4
--- /dev/null
+++ b/devtools/client/scratchpad/test/browser_scratchpad_close_toolbox.js
@@ -0,0 +1,38 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+// Test that closing the toolbox after having opened a scratchpad leaves the
+// latter in a functioning state.
+
+var {Task} = require("devtools/shared/task");
+var {TargetFactory} = require("devtools/client/framework/target");
+
+function test() {
+ const options = {
+ tabContent: "test closing toolbox and then reusing scratchpad"
+ };
+ openTabAndScratchpad(options)
+ .then(Task.async(runTests))
+ .then(finish, console.error);
+}
+
+function* runTests([win, sp]) {
+ // Use the scratchpad before opening the toolbox.
+ const source = "window.foobar = 7;";
+ sp.setText(source);
+ let [,, result] = yield sp.display();
+ is(result, 7, "Display produced the expected output.");
+
+ // Now open the toolbox and close it again.
+ let target = TargetFactory.forTab(gBrowser.selectedTab);
+ let toolbox = yield gDevTools.showToolbox(target, "webconsole");
+ ok(toolbox, "Toolbox was opened.");
+ let closed = yield gDevTools.closeToolbox(target);
+ is(closed, true, "Toolbox was closed.");
+
+ // Now see if using the scratcphad works as expected.
+ sp.setText(source);
+ let [,, result2] = yield sp.display();
+ is(result2, 7,
+ "Display produced the expected output after the toolbox was gone.");
+}