tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

CSSGroupingRule-cssRules.html (1887B)


      1 <!doctype html>
      2 <html>
      3 <head>
      4    <meta charset="utf-8">
      5    <title>CSSOM - CSSGroupingRule - cssRules</title>
      6    <link rel="help" href="https://drafts.csswg.org/cssom/#the-cssgroupingrule-interface">
      7    <script src="/resources/testharness.js"></script>
      8    <script src="/resources/testharnessreport.js"></script>
      9    <script>
     10    function create(t) {
     11        var style = document.createElement('style');
     12        style.appendChild(document.createTextNode('@media all { * {} }'));
     13        document.head.appendChild(style);
     14        t.add_cleanup(function() {
     15            document.head.removeChild(style);
     16        });
     17 
     18        assert_true(!!style.sheet, 'setup - sheet defined');
     19        assert_equals(
     20            style.sheet.cssRules.length, 1, 'setup - grouping rule created'
     21        );
     22        assert_equals(
     23            style.sheet.cssRules[0].cssRules.length, 1, 'setup - rule created'
     24        );
     25        return style.sheet.cssRules[0];
     26    }
     27 
     28    test(function (t) {
     29        var groupingRule = create(t);
     30        groupingRule.cssRules.wptMarker = 'wpt';
     31 
     32        // `insertRule` is used to prompt non-conforming implementations to
     33        // create a new CSSRuleList object. Its behavior is verified by a
     34        // dedicated test and should not influence the result of this
     35        // particular test.
     36        try {
     37            groupingRule.insertRule('.foo {}', 0);
     38            groupingRule.insertRule('.bar {}', 0);
     39            groupingRule.insertRule('.baz {}', 0);
     40        } catch (err) {}
     41 
     42        assert_equals(groupingRule.cssRules.wptMarker, 'wpt');
     43 
     44        try {
     45            groupingRule.deleteRule('.foo {}', 0);
     46            groupingRule.deleteRule('.bar {}', 0);
     47            groupingRule.deleteRule('.baz {}', 0);
     48        } catch (err) {}
     49 
     50        assert_equals(groupingRule.cssRules.wptMarker, 'wpt');
     51    }, '[SameObject] is honored');
     52    </script>
     53 </head>
     54 </html>