Source code
Revision control
Copy as Markdown
Other Tools
Test Info:
- This WPT test may be referenced by the following Test IDs:
            
- /css/css-transitions/parsing/starting-style-parsing.html - WPT Dashboard Interop Dashboard
 
 
<!doctype html>
<title>@starting-style: parsing</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<main id=main></main>
<script>
  function test_valid(actual, expected) {
    if (expected === undefined)
      expected = actual;
    test(t => {
      t.add_cleanup(() => main.replaceChildren());
      let style = document.createElement('style');
      style.textContent = `${actual}{}`;
      main.append(style);
      assert_equals(style.sheet.rules.length, 1);
      let rule = style.sheet.rules[0];
      assert_equals(rule.cssText, `${expected} {\n}`);
    }, `${actual} is valid`);
  }
  function test_invalid(actual) {
    test(t => {
      t.add_cleanup(() => main.replaceChildren());
      let style = document.createElement('style');
      style.textContent = `${actual}{}`;
      main.append(style);
      assert_equals(style.sheet.rules.length, 0);
    }, `${actual} is not valid`);
  }
  test_valid('@starting-style');
  test_invalid('@starting-style div');
  test_invalid('@starting-style ()');
  test_invalid('@starting-style ( {}');
  test_invalid('@starting-style }');
</script>