tor-browser

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

test_meter_pseudo-classes.html (5469B)


      1 <!DOCTYPE HTML>
      2 <html>
      3 <!--
      4 https://bugzilla.mozilla.org/show_bug.cgi?id=660238
      5 -->
      6 <head>
      7  <title>Test for Bug 660238</title>
      8  <script src="/tests/SimpleTest/SimpleTest.js"></script>
      9  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
     10 </head>
     11 <body>
     12 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=770238">Mozilla Bug 660238</a>
     13 <p id="display"></p>
     14 <pre id="test">
     15 <script type="application/javascript">
     16 
     17 /** Test for Bug 660238 */
     18 
     19 function checkOptimum(aElement, aValue, aOptimum, expectedResult)
     20 {
     21  var errorString = expectedResult
     22                      ? "value attribute should be in the optimum region"
     23                      : "value attribute should not be in the optimum region";
     24 
     25  aElement.setAttribute('value', aValue);
     26  aElement.setAttribute('optimum', aOptimum);
     27  is(aElement.matches(":-moz-meter-optimum"),
     28    expectedResult, errorString);
     29 }
     30 
     31 function checkSubOptimum(aElement, aValue, aOptimum, expectedResult)
     32 {
     33  var errorString = "value attribute should be in the suboptimal region";
     34  if (!expectedResult) {
     35    errorString = "value attribute should not be in the suboptimal region";
     36  }
     37  aElement.setAttribute('value', aValue);
     38  aElement.setAttribute('optimum', aOptimum);
     39  is(aElement.matches(":-moz-meter-sub-optimum"),
     40    expectedResult, errorString);
     41 }
     42 
     43 function checkSubSubOptimum(aElement, aValue, aOptimum, expectedResult)
     44 {
     45  var errorString = "value attribute should be in the sub-suboptimal region";
     46  if (!expectedResult) {
     47    errorString = "value attribute should not be in the sub-suboptimal region";
     48  }
     49  aElement.setAttribute('value', aValue);
     50  aElement.setAttribute('optimum', aOptimum);
     51  is(aElement.matches(":-moz-meter-sub-sub-optimum"),
     52    expectedResult, errorString);
     53 }
     54 
     55 function checkMozMatchesSelector()
     56 {
     57  var element = document.createElement('meter');
     58  // all tests realised with default values for min and max (0 and 1)
     59  // low = 0.3 and high = 0.7
     60  element.setAttribute('low', 0.3);
     61  element.setAttribute('high', 0.7);
     62 
     63  var tests = [
     64    /*
     65     * optimum = 0.0 =>
     66     *     optimum region        = [ 0.0, 0.3 [
     67     *     suboptimal region     = [ 0.3, 0.7 ]
     68     *     sub-suboptimal region = ] 0.7, 1.0 ]
     69     */
     70    [ 0.0, 0.0, true, false, false ],
     71    [ 0.1, 0.0, true, false, false ],
     72    [ 0.3, 0.0, false, true, false ],
     73    [ 0.5, 0.0, false, true, false ],
     74    [ 0.7, 0.0, false, true, false ],
     75    [ 0.8, 0.0, false, false, true ],
     76    [ 1.0, 0.0, false, false, true ],
     77    /*
     78     * optimum = 0.1 =>
     79     *     optimum region        = [ 0.0, 0.3 [
     80     *     suboptimal region     = [ 0.3, 0.7 ]
     81     *     sub-suboptimal region = ] 0.7, 1.0 ]
     82     */
     83    [ 0.0, 0.1, true, false, false ],
     84    [ 0.1, 0.1, true, false, false ],
     85    [ 0.3, 0.1, false, true, false ],
     86    [ 0.5, 0.1, false, true, false ],
     87    [ 0.7, 0.1, false, true, false ],
     88    [ 0.8, 0.1, false, false, true ],
     89    [ 1.0, 0.1, false, false, true ],
     90    /*
     91     * optimum = 0.3 =>
     92     *     suboptimal region     = [ 0.0, 0.3 [
     93     *     optimum region        = [ 0.3, 0.7 ]
     94     *     suboptimal region     = ] 0.7, 1.0 ]
     95     */
     96    [ 0.0, 0.3, false, true, false ],
     97    [ 0.1, 0.3, false, true, false ],
     98    [ 0.3, 0.3, true, false, false ],
     99    [ 0.5, 0.3, true, false, false ],
    100    [ 0.7, 0.3, true, false, false ],
    101    [ 0.8, 0.3, false, true, false ],
    102    [ 1.0, 0.3, false, true, false ],
    103    /*
    104     * optimum = 0.5 =>
    105     *     suboptimal region     = [ 0.0, 0.3 [
    106     *     optimum region        = [ 0.3, 0.7 ]
    107     *     suboptimal region     = ] 0.7, 1.0 ]
    108     */
    109    [ 0.0, 0.5, false, true, false ],
    110    [ 0.1, 0.5, false, true, false ],
    111    [ 0.3, 0.5, true, false, false ],
    112    [ 0.5, 0.5, true, false, false ],
    113    [ 0.7, 0.5, true, false, false ],
    114    [ 0.8, 0.5, false, true, false ],
    115    [ 1.0, 0.5, false, true, false ],
    116    /*
    117     * optimum = 0.7 =>
    118     *     suboptimal region     = [ 0.0, 0.3 [
    119     *     optimum region        = [ 0.3, 0.7 ]
    120     *     suboptimal region     = ] 0.7, 1.0 ]
    121     */
    122    [ 0.0, 0.7, false, true, false ],
    123    [ 0.1, 0.7, false, true, false ],
    124    [ 0.3, 0.7, true, false, false ],
    125    [ 0.5, 0.7, true, false, false ],
    126    [ 0.7, 0.7, true, false, false ],
    127    [ 0.8, 0.7, false, true, false ],
    128    [ 1.0, 0.7, false, true, false ],
    129    /*
    130     * optimum = 0.8 =>
    131     *     sub-suboptimal region = [ 0.0, 0.3 [
    132     *     suboptimal region     = [ 0.3, 0.7 ]
    133     *     optimum region        = ] 0.7, 1.0 ]
    134     */
    135    [ 0.0, 0.8, false, false, true ],
    136    [ 0.1, 0.8, false, false, true ],
    137    [ 0.3, 0.8, false, true, false ],
    138    [ 0.5, 0.8, false, true, false ],
    139    [ 0.7, 0.8, false, true, false ],
    140    [ 0.8, 0.8, true, false, false ],
    141    [ 1.0, 0.8, true, false, false ],
    142    /*
    143     * optimum = 1.0 =>
    144     *     sub-suboptimal region = [ 0.0, 0.3 [
    145     *     suboptimal region     = [ 0.3, 0.7 ]
    146     *     optimum region        = ] 0.7, 1.0 ]
    147     */
    148    [ 0.0, 1.0, false, false, true ],
    149    [ 0.1, 1.0, false, false, true ],
    150    [ 0.3, 1.0, false, true, false ],
    151    [ 0.5, 1.0, false, true, false ],
    152    [ 0.7, 1.0, false, true, false ],
    153    [ 0.8, 1.0, true, false, false ],
    154    [ 1.0, 1.0, true, false, false ],
    155  ];
    156 
    157  for (var test of tests) {
    158    checkOptimum(element, test[0], test[1], test[2]);
    159    checkSubOptimum(element, test[0], test[1], test[3]);
    160    checkSubSubOptimum(element, test[0], test[1], test[4]);
    161  }
    162 }
    163 
    164 checkMozMatchesSelector();
    165 
    166 </script>
    167 </pre>
    168 </body>
    169 </html>