summaryrefslogtreecommitdiffstats
path: root/devtools/client/inspector/rules/test/browser_rules_refresh-on-style-change.js
blob: 9287f161de9ff13e473dbef4e88de38c5d72d73f (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
/* Any copyright is dedicated to the Public Domain.
 http://creativecommons.org/publicdomain/zero/1.0/ */

"use strict";

// Test that the rule view refreshes when the current node has its style
// changed

const TEST_URI = "<div id='testdiv' style='font-size: 10px;''>Test div!</div>";

add_task(async function () {
  Services.prefs.setCharPref("devtools.defaultColorUnit", "name");

  await addTab("data:text/html;charset=utf-8," + encodeURIComponent(TEST_URI));
  const { inspector, view } = await openRuleView();
  await selectNode("#testdiv", inspector);

  let fontSize = getRuleViewPropertyValue(view, "element", "font-size");
  is(fontSize, "10px", "The rule view shows the right font-size");

  info("Changing the node's style and waiting for the update");
  const onUpdated = inspector.once("rule-view-refreshed");
  await setContentPageElementAttribute(
    "#testdiv",
    "style",
    "font-size: 3em; color: lightgoldenrodyellow; " +
      "text-align: right; text-transform: uppercase"
  );
  await onUpdated;

  const textAlign = getRuleViewPropertyValue(view, "element", "text-align");
  is(textAlign, "right", "The rule view shows the new text align.");
  const color = getRuleViewPropertyValue(view, "element", "color");
  is(color, "lightgoldenrodyellow", "The rule view shows the new color.");
  fontSize = getRuleViewPropertyValue(view, "element", "font-size");
  is(fontSize, "3em", "The rule view shows the new font size.");
  const textTransform = getRuleViewPropertyValue(
    view,
    "element",
    "text-transform"
  );
  is(textTransform, "uppercase", "The rule view shows the new text transform.");
});