summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/css/selectors/invalidation/selectorText-dynamic-001.html
blob: ac33eca826b21c34d2ecbe158060ff16e2cca6ab (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
<!doctype html>
<meta charset="utf-8">
<title>CSS Test: invalidation of class changes when the selector in a rule has changed</title>
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
<link rel="help" href="https://drafts.csswg.org/selectors-4/#invalid">
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1432850">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<style>
  body { background: green; }
  .red { background: red; }
</style>
<body class="red">
Should have a green background.
<script>
test(() => {
  document.body.offsetTop;
  assert_equals(getComputedStyle(document.body).backgroundColor, "rgb(255, 0, 0)");
  document.body.className = "";
  document.styleSheets[0].cssRules[1].selectorText = ".bar";
  assert_equals(getComputedStyle(document.body).backgroundColor, "rgb(0, 128, 0)");
}, "Style should be recomputed correctly when the selector it depends on changes");
</script>
</body>