tor-browser

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

test_getRuleIndex.html (2319B)


      1 <!DOCTYPE HTML>
      2 <html>
      3 <head>
      4  <title>Test InspectorUtils.getRuleIndex</title>
      5  <script src="/tests/SimpleTest/SimpleTest.js"></script>
      6  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
      7  <style>
      8    @property --color {
      9      syntax: "*";
     10      inherits: false;
     11    }
     12    html {
     13      background: gold;
     14 
     15      &:hover {
     16        background: yellow;
     17      }
     18 
     19      & body {
     20        color: tomato;
     21 
     22        &:focus-visible {
     23          outline: 1px solid cyan;
     24        }
     25      }
     26    }
     27    @keyframes anim {
     28      0% {
     29        color: blue;
     30      }
     31      100% {
     32        color: green;
     33      }
     34    }
     35  </style>
     36 </head>
     37 <body>
     38 <code>InspectorUtils.getRuleIndex</code>
     39 
     40 <script>
     41 "use strict";
     42 
     43 /** Test for InspectorUtils.getCSSRegisteredProperties */
     44 
     45 const { Assert } = SpecialPowers.ChromeUtils.importESModule(
     46  "resource://testing-common/Assert.sys.mjs"
     47 );
     48 const InspectorUtils = SpecialPowers.InspectorUtils;
     49 
     50 const stylesheet = document.styleSheets[1];
     51 const stylesheetRules = stylesheet.cssRules;
     52 
     53 let rule = stylesheetRules[0];
     54 is(rule.name, "--color", "Expected @property rule");
     55 Assert.deepEqual(InspectorUtils.getRuleIndex(rule), [0]);
     56 
     57 rule = stylesheetRules[1];
     58 is(rule.selectorText, "html", "Expected htlm rule");
     59 Assert.deepEqual(InspectorUtils.getRuleIndex(rule), [1]);
     60 
     61 rule = stylesheetRules[1].cssRules[0];
     62 is(rule.selectorText, "&:hover", "Expected nested &:hover rule");
     63 Assert.deepEqual(InspectorUtils.getRuleIndex(rule), [1, 0]);
     64 
     65 rule = stylesheetRules[1].cssRules[1];
     66 is(rule.selectorText, "& body", "Expected nested & body rule");
     67 Assert.deepEqual(InspectorUtils.getRuleIndex(rule), [1, 1]);
     68 
     69 rule = stylesheetRules[1].cssRules[1].cssRules[0];
     70 is(rule.selectorText, "&:focus-visible", "Expected nested &:focus-visible rule");
     71 Assert.deepEqual(InspectorUtils.getRuleIndex(rule), [1, 1, 0]);
     72 
     73 rule = stylesheetRules[2];
     74 is(rule.name, "anim", "Expected @keyframes rule");
     75 Assert.deepEqual(InspectorUtils.getRuleIndex(rule), [2]);
     76 
     77 rule = stylesheetRules[2].cssRules[0];
     78 is(rule.keyText, "0%", "Expected 0% keyframe rule");
     79 Assert.deepEqual(InspectorUtils.getRuleIndex(rule), [2, 0]);
     80 
     81 rule = stylesheetRules[2].cssRules[1];
     82 is(rule.keyText, "100%", "Expected 100% keyframe rule");
     83 Assert.deepEqual(InspectorUtils.getRuleIndex(rule), [2, 1]);
     84 
     85 </script>
     86 </pre>
     87 </body>
     88 </html>