diff options
Diffstat (limited to 'devtools/client/jsonview/test/browser_jsonview_empty_object.js')
-rw-r--r-- | devtools/client/jsonview/test/browser_jsonview_empty_object.js | 48 |
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("{}")); |