chromium/third_party/blink/web_tests/external/wpt/css/cssom/style-sheet-interfaces-002.html

<!DOCTYPE html>
<html>
 <head>
  <title>CSS Test: CSSOM StyleSheet Modify Rule List</title>
  <link rel="author" title="Bear Travis" href="mailto:[email protected]">
  <link rel="reviewer" title="Ms2ger" href="mailto:[email protected]"> <!-- 2012-06-17 -->
  <link rel="help" href="http://www.w3.org/TR/cssom-1/#the-cssstylesheet-interface">
  <link rel="help" href="http://www.w3.org/TR/cssom-1/#the-cssrule-interface">
  <meta name="flags" content="dom">
  <meta name="assert" content="StyleSheet and CSSStyleSheet objects have the properties specified in their interfaces">
  <script src="/resources/testharness.js" type="text/javascript"></script>
  <script src="/resources/testharnessreport.js" type="text/javascript"></script>
  <style id="styleElement" type="text/css" media="all" title="internal style sheet" disabled="disabled">
    * { margin: 0; padding: 0; }
  </style>
 </head>
 <body>
  <noscript>Test not run - javascript required.</noscript>
  <div id="log"></div>
  <script type="text/javascript">
  var sheet = document.getElementById("styleElement").sheet;
  // Initial rule list is of size 1
  // Can add a rule at first index
  test(function() {
    assert_equals(sheet.cssRules.length, 1);
    sheet.insertRule("p { color: green; }", 0);
    assert_equals(sheet.cssRules.length, 2);
    assert_equals(sheet.cssRules.item(0).cssText, "p { color: green; }");
  }, "add_rule");

  // Can delete rules until rule list is empty
  test(function() {
    sheet.deleteRule(0);
    assert_equals(sheet.cssRules.length, 1);
    sheet.deleteRule(0);
    assert_equals(sheet.cssRules.length, 0);
  }, "delete_rule");
  </script>
 </body>
</html>