summaryrefslogtreecommitdiffstats
path: root/devtools/client/performance/test/browser_perf-tree-abstract-04.js
blob: 614235ab8317e76536224ed888b869fa70adb296 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
/* 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(function* () {
  let { MyCustomTreeItem, myDataSrc } = synthesizeCustomTreeClass();

  let container = document.createElement("vbox");
  yield appendAndWaitForPaint(gBrowser.selectedBrowser.parentNode, container);

  // Populate the tree and test the root item...

  let treeRoot = new MyCustomTreeItem(myDataSrc, { parent: null });
  treeRoot.attachTo(container);

  let originalTreeRootExpandedState = treeRoot.expanded;
  info("Double clicking on the root item arrow and waiting for focus event.");

  let receivedFocusEvent = once(treeRoot, "focus");
  dblclick(treeRoot.target.querySelector(".arrow"));
  yield receivedFocusEvent;

  is(treeRoot.expanded, originalTreeRootExpandedState,
    "A double click on the arrow was ignored.");

  container.remove();
});