summaryrefslogtreecommitdiffstats
path: root/devtools/client/jsonview/test/browser_jsonview_empty_object.js
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/client/jsonview/test/browser_jsonview_empty_object.js')
-rw-r--r--devtools/client/jsonview/test/browser_jsonview_empty_object.js48
1 files changed, 48 insertions, 0 deletions
diff --git a/devtools/client/jsonview/test/browser_jsonview_empty_object.js b/devtools/client/jsonview/test/browser_jsonview_empty_object.js
new file mode 100644
index 0000000000..af3dfbc007
--- /dev/null
+++ b/devtools/client/jsonview/test/browser_jsonview_empty_object.js
@@ -0,0 +1,48 @@
+/* Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/ */
+
+"use strict";
+
+function testRootObject(objExpr, summary = objExpr) {
+ return async function () {
+ info("Test JSON with root empty object " + objExpr + " started");
+
+ const TEST_JSON_URL = "data:application/json," + objExpr;
+ await addJsonViewTab(TEST_JSON_URL);
+
+ const objectText = await getElementText(".jsonPanelBox .panelContent");
+ is(objectText, summary, "The root object " + objExpr + " is visible");
+ };
+}
+
+function testNestedObject(objExpr, summary = objExpr) {
+ return async function () {
+ info("Test JSON with nested empty object " + objExpr + " started");
+
+ const TEST_JSON_URL = "data:application/json,[" + objExpr + "]";
+ await addJsonViewTab(TEST_JSON_URL);
+
+ const objectCellCount = await getElementCount(
+ ".jsonPanelBox .treeTable .objectCell"
+ );
+ is(objectCellCount, 1, "There must be one object cell");
+
+ const objectCellText = await getElementText(
+ ".jsonPanelBox .treeTable .objectCell"
+ );
+ is(objectCellText, summary, objExpr + " has a visible summary");
+
+ // Collapse auto-expanded node.
+ await clickJsonNode(".jsonPanelBox .treeTable .treeLabel");
+
+ const textAfter = await getElementText(
+ ".jsonPanelBox .treeTable .objectCell"
+ );
+ is(textAfter, summary, objExpr + " still has a visible summary");
+ };
+}
+
+add_task(testRootObject("null"));
+add_task(testNestedObject("null"));
+add_task(testNestedObject("[]"));
+add_task(testNestedObject("{}"));