summaryrefslogtreecommitdiffstats
path: root/devtools/client/inspector/test/browser_inspector_highlighter-hover_01.js
blob: 85f897080a332e0129179bb2260c69649052392c (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
36
37
38
39
40
41
/* vim: set ts=2 et sw=2 tw=80: */
/* Any copyright is dedicated to the Public Domain.
 http://creativecommons.org/publicdomain/zero/1.0/ */

"use strict";

// Test that when first hovering over a node and immediately after selecting it
// by clicking on it leaves the highlighter visible for as long as the mouse is
// over the node

const TEST_URL = "data:text/html;charset=utf-8," +
                 "<p>It's going to be legen....</p>";

add_task(function* () {
  let {inspector, testActor} = yield openInspectorForURL(TEST_URL);

  info("hovering over the <p> line in the markup-view");
  yield hoverContainer("p", inspector);
  let isVisible = yield testActor.isHighlighting();
  ok(isVisible, "the highlighter is still visible");

  info("selecting the <p> line by clicking in the markup-view");
  yield clickContainer("p", inspector);

  yield testActor.setProperty("p", "textContent", "wait for it ....");
  info("wait and see if the highlighter stays visible even after the node " +
       "was selected");
  yield waitForTheBrieflyShowBoxModelTimeout();

  yield testActor.setProperty("p", "textContent", "dary!!!!");
  isVisible = yield testActor.isHighlighting();
  ok(isVisible, "the highlighter is still visible");
});

function waitForTheBrieflyShowBoxModelTimeout() {
  let deferred = defer();
  // Note that the current timeout is 1 sec and is neither configurable nor
  // exported anywhere we can access, so hard-coding the timeout
  setTimeout(deferred.resolve, 1500);
  return deferred.promise;
}