wpt / css / css-ui / appearance-parsing.html

Status: FAIL | Duration: 51ms | Subtests: 2/3 | Open test on wpt.live | wpt.fyi

Data from commit:
1884860 Copy-on-write style attribute blocks that are in the rule tree (#831) (2026-09-02)

SubtestStatusMessage
parsing via attribute change steps of CSS declaration block's owner nodePASS
parsing via modification of cssTextPASS
parsing via creation of CSS declaration blockFAILcannot convert 'null' or 'undefined' to object

/css/css-ui/appearance-parsing.html

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>Parsing of `appearance`</title>
  <link rel="help" href="https://drafts.csswg.org/css-ui-4/#appearance-switching">
  <script src="/resources/testharness.js"></script>
  <script src="/resources/testharnessreport.js"></script>
</head>
<body>
<script>
test(function() {
  var input = document.createElement('input');
  input.setAttribute('style', 'appearance: none;');

  assert_equals(input.style.getPropertyValue('appearance'), 'none');
}, 'parsing via attribute change steps of CSS declaration block\'s owner node');

test(function() {
  var input = document.createElement('input');
  input.style.cssText = 'appearance: none;';

  assert_equals(input.style.getPropertyValue('appearance'), 'none');
}, 'parsing via modification of cssText');

test(function(t) {
  var style = document.createElement('style');
  style.appendChild(
    document.createTextNode('#foo { appearance: none; }')
  );
  document.body.appendChild(style);
  t.add_cleanup(function() {
    document.body.removeChild(style);
  });

  assert_equals(style.sheet.cssRules.length, 1);
  assert_equals(
    style.sheet.cssRules[0].style.getPropertyValue('appearance'),
    'none'
  );
}, 'parsing via creation of CSS declaration block');
</script>
</body>