summaryrefslogtreecommitdiffstats
path: root/devtools/client/scratchpad/test/browser_scratchpad_inspect_primitives.js
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/client/scratchpad/test/browser_scratchpad_inspect_primitives.js')
-rw-r--r--devtools/client/scratchpad/test/browser_scratchpad_inspect_primitives.js61
1 files changed, 61 insertions, 0 deletions
diff --git a/devtools/client/scratchpad/test/browser_scratchpad_inspect_primitives.js b/devtools/client/scratchpad/test/browser_scratchpad_inspect_primitives.js
new file mode 100644
index 000000000..914f0a6d8
--- /dev/null
+++ b/devtools/client/scratchpad/test/browser_scratchpad_inspect_primitives.js
@@ -0,0 +1,61 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+// Test that inspecting primitive values uses the object inspector, not an
+// inline comment.
+
+var {Task} = require("devtools/shared/task");
+
+function test() {
+ const options = {
+ tabContent: "test inspecting primitive values"
+ };
+ openTabAndScratchpad(options)
+ .then(Task.async(runTests))
+ .then(finish, console.error);
+}
+
+function* runTests([win, sp]) {
+ // Inspect a number.
+ yield checkResults(sp, 7);
+
+ // Inspect a string.
+ yield checkResults(sp, "foobar", true);
+
+ // Inspect a boolean.
+ yield checkResults(sp, true);
+}
+
+// Helper function that does the actual testing.
+var checkResults = Task.async(function* (sp, value, isString = false) {
+ let sourceValue = value;
+ if (isString) {
+ sourceValue = '"' + value + '"';
+ }
+ let source = "var foobar = " + sourceValue + "; foobar";
+ sp.setText(source);
+ yield sp.inspect();
+
+ let sidebar = sp.sidebar;
+ ok(sidebar.visible, "sidebar is open");
+
+ let found = false;
+
+ outer: for (let scope of sidebar.variablesView) {
+ for (let [, obj] of scope) {
+ for (let [, prop] of obj) {
+ if (prop.name == "value" && prop.value == value) {
+ found = true;
+ break outer;
+ }
+ }
+ }
+ }
+
+ ok(found, "found the value of " + value);
+
+ let tabbox = sidebar._sidebar._tabbox;
+ ok(!tabbox.hasAttribute("hidden"), "Scratchpad sidebar visible");
+ sidebar.hide();
+ ok(tabbox.hasAttribute("hidden"), "Scratchpad sidebar hidden");
+});