tor-browser

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

test_counterstyle.html (4403B)


      1 <html>
      2 
      3 <head>
      4  <title>nsIAccessible::name calculation for @counter-style</title>
      5  <link rel="stylesheet" type="text/css"
      6        href="chrome://mochikit/content/tests/SimpleTest/test.css" />
      7 
      8  <script src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
      9 
     10  <script type="application/javascript"
     11          src="../common.js"></script>
     12  <script type="application/javascript"
     13          src="../name.js"></script>
     14 
     15  <style id="counterstyles" type="text/css">
     16    @counter-style system-alphabetic {
     17      system: alphabetic;
     18      symbols: x y z;
     19    }
     20    @counter-style system-cyclic {
     21      system: cyclic;
     22      symbols: x y z;
     23    }
     24    @counter-style system-numeric {
     25      system: numeric;
     26      symbols: x y z;
     27    }
     28    @counter-style speak-as-bullets {
     29      system: extends decimal;
     30      speak-as: bullets;
     31    }
     32    @counter-style speak-as-numbers {
     33      system: extends system-alphabetic;
     34      speak-as: numbers;
     35    }
     36    @counter-style speak-as-words {
     37      system: additive;
     38      additive-symbols: 20 "twenty ", 9 "nine", 7 "seven", 1 "one";
     39      speak-as: words;
     40    }
     41    @counter-style speak-as-spell-out {
     42      system: extends system-alphabetic;
     43      speak-as: spell-out;
     44    }
     45    @counter-style speak-as-other {
     46      system: extends decimal;
     47      speak-as: speak-as-words;
     48    }
     49    @counter-style speak-as-loop {
     50      system: extends upper-latin;
     51      speak-as: speak-as-loop0;
     52    }
     53    @counter-style speak-as-loop0 {
     54      system: extends disc;
     55      speak-as: speak-as-loop1;
     56    }
     57    @counter-style speak-as-loop1 {
     58      system: extends decimal;
     59      speak-as: speak-as-loop0;
     60    }
     61    @counter-style speak-as-extended0 {
     62      system: extends decimal;
     63      speak-as: speak-as-extended1;
     64    }
     65    @counter-style speak-as-extended1 {
     66      system: extends speak-as-extended0;
     67      speak-as: disc;
     68    }
     69    @counter-style speak-as-extended2 {
     70      system: extends decimal;
     71      speak-as: speak-as-extended3;
     72    }
     73    @counter-style speak-as-extended3 {
     74      system: extends speak-as-extended2;
     75    }
     76  </style>
     77 
     78  <script type="application/javascript">
     79 
     80    function doTest() {
     81      function testRule(aRule, aNames, aTodo) {
     82        testName(aRule + "-1", aNames[0], null, aTodo);
     83        testName(aRule + "-7", aNames[1], null, aTodo);
     84        testName(aRule + "-29", aNames[2], null, aTodo);
     85      }
     86 
     87      var spellOutNames = ["X. 1", "Y X. 7", "Y Z Y. 29"];
     88      var bulletsNames = [kDiscBulletText + "1",
     89                          kDiscBulletText + "7",
     90                          kDiscBulletText + "29"];
     91      var numbersNames = ["1. 1", "7. 7", "29. 29"];
     92      var wordsNames = ["one. 1", "seven. 7", "twenty nine. 29"];
     93 
     94      testRule("system-alphabetic", spellOutNames, true); // bug 1024178
     95      testRule("system-cyclic", bulletsNames);
     96      testRule("system-numeric", numbersNames);
     97 
     98      testRule("speak-as-bullets", bulletsNames);
     99      testRule("speak-as-numbers", numbersNames);
    100      testRule("speak-as-words", wordsNames);
    101      testRule("speak-as-spell-out", spellOutNames, true); // bug 1024178
    102      testRule("speak-as-other", wordsNames);
    103 
    104      testRule("speak-as-loop", bulletsNames);
    105      testRule("speak-as-loop0", bulletsNames);
    106      testRule("speak-as-loop1", numbersNames);
    107 
    108      testRule("speak-as-extended0", bulletsNames);
    109      testRule("speak-as-extended1", bulletsNames);
    110      testRule("speak-as-extended2", numbersNames);
    111      testRule("speak-as-extended3", numbersNames);
    112 
    113      SimpleTest.finish();
    114    }
    115 
    116    SimpleTest.waitForExplicitFinish();
    117    addA11yLoadEvent(doTest);
    118  </script>
    119 
    120 </head>
    121 
    122 <body>
    123 
    124  <a target="_blank"
    125     href="https://bugzilla.mozilla.org/show_bug.cgi?id=966166"
    126     title="Bug 966166 - Implement @counter-style rule">
    127    Bug 966166
    128  </a>
    129 
    130  <ol id="list"></ol>
    131 
    132  <script type="application/javascript">
    133    var list = getNode("list");
    134    var rules = getNode("counterstyles").sheet.cssRules;
    135    var values = [1, 7, 29];
    136    for (var i = 0; i < rules.length; i++) {
    137      var rule = rules[i];
    138      for (var j = 0; j < values.length; j++) {
    139        var item = document.createElement("li");
    140        item.id = rule.name + "-" + values[j];
    141        item.value = values[j];
    142        item.textContent = values[j];
    143        item.setAttribute("style", "list-style-type: " + rule.name);
    144        list.appendChild(item);
    145      }
    146    }
    147  </script>
    148 
    149 </body>
    150 </html>