summaryrefslogtreecommitdiffstats
path: root/devtools/client/performance/test/browser_perf-tree-abstract-04.js
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/client/performance/test/browser_perf-tree-abstract-04.js')
-rw-r--r--devtools/client/performance/test/browser_perf-tree-abstract-04.js44
1 files changed, 44 insertions, 0 deletions
diff --git a/devtools/client/performance/test/browser_perf-tree-abstract-04.js b/devtools/client/performance/test/browser_perf-tree-abstract-04.js
new file mode 100644
index 0000000000..fe5acb7be8
--- /dev/null
+++ b/devtools/client/performance/test/browser_perf-tree-abstract-04.js
@@ -0,0 +1,44 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+"use strict";
+
+/**
+ * Tests that the treeview expander arrow doesn't react to dblclick events.
+ */
+
+const {
+ appendAndWaitForPaint,
+} = require("devtools/client/performance/test/helpers/dom-utils");
+const {
+ synthesizeCustomTreeClass,
+} = require("devtools/client/performance/test/helpers/synth-utils");
+const {
+ once,
+} = require("devtools/client/performance/test/helpers/event-utils");
+
+add_task(async function() {
+ const { MyCustomTreeItem, myDataSrc } = synthesizeCustomTreeClass();
+
+ const container = document.createXULElement("vbox");
+ await appendAndWaitForPaint(gBrowser.selectedBrowser.parentNode, container);
+
+ // Populate the tree and test the root item...
+
+ const treeRoot = new MyCustomTreeItem(myDataSrc, { parent: null });
+ treeRoot.attachTo(container);
+
+ const originalTreeRootExpandedState = treeRoot.expanded;
+ info("Double clicking on the root item arrow and waiting for focus event.");
+
+ const receivedFocusEvent = once(treeRoot, "focus");
+ await dblclick(treeRoot.target.querySelector(".arrow"));
+ await receivedFocusEvent;
+
+ is(
+ treeRoot.expanded,
+ originalTreeRootExpandedState,
+ "A double click on the arrow was ignored."
+ );
+
+ container.remove();
+});