summaryrefslogtreecommitdiffstats
path: root/devtools/client/inspector/markup/test/browser_markup_pagesize_02.js
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--devtools/client/inspector/markup/test/browser_markup_pagesize_02.js48
1 files changed, 48 insertions, 0 deletions
diff --git a/devtools/client/inspector/markup/test/browser_markup_pagesize_02.js b/devtools/client/inspector/markup/test/browser_markup_pagesize_02.js
new file mode 100644
index 0000000000..21e1a1221b
--- /dev/null
+++ b/devtools/client/inspector/markup/test/browser_markup_pagesize_02.js
@@ -0,0 +1,48 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+"use strict";
+
+// Tests that the markup view loads only as many nodes as specified
+// by the devtools.markup.pagesize preference and that pressing the "show all
+// nodes" actually shows the nodes
+
+const TEST_URL = URL_ROOT + "doc_markup_pagesize_02.html";
+
+// Make sure nodes are hidden when there are more than 5 in a row
+Services.prefs.setIntPref("devtools.markup.pagesize", 5);
+
+add_task(async function () {
+ const { inspector } = await openInspectorForURL(TEST_URL);
+
+ info("Selecting the UL node");
+ await clickContainer("ul", inspector);
+ info("Reloading the page with the UL node selected will expand its children");
+ await reloadBrowser();
+ await inspector.markup._waitForChildren();
+
+ info("Click on the 'show all nodes' button in the UL's list of children");
+ await showAllNodes(inspector);
+
+ await assertAllNodesAreVisible(inspector);
+});
+
+async function showAllNodes(inspector) {
+ const container = await getContainerForSelector("ul", inspector);
+ const button = container.elt.querySelector("button");
+ ok(button, "All nodes button is here");
+ const win = button.ownerDocument.defaultView;
+
+ EventUtils.sendMouseEvent({ type: "click" }, button, win);
+ await inspector.markup._waitForChildren();
+}
+
+async function assertAllNodesAreVisible(inspector) {
+ const container = await getContainerForSelector("ul", inspector);
+ ok(
+ !container.elt.querySelector("button"),
+ "All nodes button isn't here anymore"
+ );
+ const numItems = await getNumberOfMatchingElementsInContentPage("ul > *");
+ is(container.children.childNodes.length, numItems);
+}