diff options
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.js | 44 |
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(); +}); |