summaryrefslogtreecommitdiffstats
path: root/devtools/client/inspector/computed/test/browser_computed_matched-selectors_01.js
blob: bb90dfb4ea8b49d0d74c3b8517e0f87422c9ba92 (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
42
43
44
45
46
47
48
/* Any copyright is dedicated to the Public Domain.
 http://creativecommons.org/publicdomain/zero/1.0/ */

"use strict";

// Checking selector counts, matched rules and titles in the computed-view.

const {
  PropertyView,
} = require("resource://devtools/client/inspector/computed/computed.js");
const TEST_URI = URL_ROOT + "doc_matched_selectors.html";

add_task(async function () {
  await addTab(TEST_URI);
  const { inspector, view } = await openComputedView();

  await selectNode("#test", inspector);
  await testMatchedSelectors(view, inspector);
});

async function testMatchedSelectors(view, inspector) {
  info("checking selector counts, matched rules and titles");

  const nodeFront = await getNodeFront("#test", inspector);
  is(
    nodeFront,
    view._viewedElement,
    "style inspector node matches the selected node"
  );

  const propertyView = new PropertyView(view, "color");
  propertyView.createListItemElement();
  propertyView.matchedExpanded = true;

  await propertyView.refreshMatchedSelectors();

  const numMatchedSelectors = propertyView.matchedSelectors.length;
  is(
    numMatchedSelectors,
    7,
    "CssLogic returns the correct number of matched selectors for div"
  );
  is(
    propertyView.hasMatchedSelectors,
    true,
    "hasMatchedSelectors returns true"
  );
}