123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171 |
- <!DOCTYPE HTML>
- <html>
- <!--
- https://bugzilla.mozilla.org/show_bug.cgi?id=660238
- -->
- <head>
- <title>Test for Bug 660238</title>
- <script type="application/javascript" src="/MochiKit/packed.js"></script>
- <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
- </head>
- <body>
- <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=770238">Mozilla Bug 660238</a>
- <p id="display"></p>
- <pre id="test">
- <script type="application/javascript">
- /** Test for Bug 660238 **/
- function checkOptimum(aElement, aValue, aOptimum, expectedResult)
- {
- var errorString = expectedResult
- ? "value attribute should be in the optimum region"
- : "value attribute should not be in the optimum region";
- aElement.setAttribute('value', aValue);
- aElement.setAttribute('optimum', aOptimum);
- is(aElement.matches(":-moz-meter-optimum"),
- expectedResult, errorString);
- }
- function checkSubOptimum(aElement, aValue, aOptimum, expectedResult)
- {
- var errorString = "value attribute should be in the suboptimal region";
- if (!expectedResult) {
- errorString = "value attribute should not be in the suboptimal region";
- }
- aElement.setAttribute('value', aValue);
- aElement.setAttribute('optimum', aOptimum);
- is(aElement.matches(":-moz-meter-sub-optimum"),
- expectedResult, errorString);
- }
- function checkSubSubOptimum(aElement, aValue, aOptimum, expectedResult)
- {
- var errorString = "value attribute should be in the sub-suboptimal region";
- if (!expectedResult) {
- errorString = "value attribute should not be in the sub-suboptimal region";
- }
- aElement.setAttribute('value', aValue);
- aElement.setAttribute('optimum', aOptimum);
- is(aElement.matches(":-moz-meter-sub-sub-optimum"),
- expectedResult, errorString);
- }
- function checkMozMatchesSelector()
- {
- var element = document.createElement('meter');
- // all tests realised with default values for min and max (0 and 1)
- // low = 0.3 and high = 0.7
- element.setAttribute('low', 0.3);
- element.setAttribute('high', 0.7);
- var tests = [
- /*
- * optimum = 0.0 =>
- * optimum region = [ 0.0, 0.3 [
- * suboptimal region = [ 0.3, 0.7 ]
- * sub-suboptimal region = ] 0.7, 1.0 ]
- */
- [ 0.0, 0.0, true, false, false ],
- [ 0.1, 0.0, true, false, false ],
- [ 0.3, 0.0, false, true, false ],
- [ 0.5, 0.0, false, true, false ],
- [ 0.7, 0.0, false, true, false ],
- [ 0.8, 0.0, false, false, true ],
- [ 1.0, 0.0, false, false, true ],
- /*
- * optimum = 0.1 =>
- * optimum region = [ 0.0, 0.3 [
- * suboptimal region = [ 0.3, 0.7 ]
- * sub-suboptimal region = ] 0.7, 1.0 ]
- */
- [ 0.0, 0.1, true, false, false ],
- [ 0.1, 0.1, true, false, false ],
- [ 0.3, 0.1, false, true, false ],
- [ 0.5, 0.1, false, true, false ],
- [ 0.7, 0.1, false, true, false ],
- [ 0.8, 0.1, false, false, true ],
- [ 1.0, 0.1, false, false, true ],
- /*
- * optimum = 0.3 =>
- * suboptimal region = [ 0.0, 0.3 [
- * optimum region = [ 0.3, 0.7 ]
- * suboptimal region = ] 0.7, 1.0 ]
- */
- [ 0.0, 0.3, false, true, false ],
- [ 0.1, 0.3, false, true, false ],
- [ 0.3, 0.3, true, false, false ],
- [ 0.5, 0.3, true, false, false ],
- [ 0.7, 0.3, true, false, false ],
- [ 0.8, 0.3, false, true, false ],
- [ 1.0, 0.3, false, true, false ],
- /*
- * optimum = 0.5 =>
- * suboptimal region = [ 0.0, 0.3 [
- * optimum region = [ 0.3, 0.7 ]
- * suboptimal region = ] 0.7, 1.0 ]
- */
- [ 0.0, 0.5, false, true, false ],
- [ 0.1, 0.5, false, true, false ],
- [ 0.3, 0.5, true, false, false ],
- [ 0.5, 0.5, true, false, false ],
- [ 0.7, 0.5, true, false, false ],
- [ 0.8, 0.5, false, true, false ],
- [ 1.0, 0.5, false, true, false ],
- /*
- * optimum = 0.7 =>
- * suboptimal region = [ 0.0, 0.3 [
- * optimum region = [ 0.3, 0.7 ]
- * suboptimal region = ] 0.7, 1.0 ]
- */
- [ 0.0, 0.7, false, true, false ],
- [ 0.1, 0.7, false, true, false ],
- [ 0.3, 0.7, true, false, false ],
- [ 0.5, 0.7, true, false, false ],
- [ 0.7, 0.7, true, false, false ],
- [ 0.8, 0.7, false, true, false ],
- [ 1.0, 0.7, false, true, false ],
- /*
- * optimum = 0.8 =>
- * sub-suboptimal region = [ 0.0, 0.3 [
- * suboptimal region = [ 0.3, 0.7 ]
- * optimum region = ] 0.7, 1.0 ]
- */
- [ 0.0, 0.8, false, false, true ],
- [ 0.1, 0.8, false, false, true ],
- [ 0.3, 0.8, false, true, false ],
- [ 0.5, 0.8, false, true, false ],
- [ 0.7, 0.8, false, true, false ],
- [ 0.8, 0.8, true, false, false ],
- [ 1.0, 0.8, true, false, false ],
- /*
- * optimum = 1.0 =>
- * sub-suboptimal region = [ 0.0, 0.3 [
- * suboptimal region = [ 0.3, 0.7 ]
- * optimum region = ] 0.7, 1.0 ]
- */
- [ 0.0, 1.0, false, false, true ],
- [ 0.1, 1.0, false, false, true ],
- [ 0.3, 1.0, false, true, false ],
- [ 0.5, 1.0, false, true, false ],
- [ 0.7, 1.0, false, true, false ],
- [ 0.8, 1.0, true, false, false ],
- [ 1.0, 1.0, true, false, false ],
- ];
- for (var test of tests) {
- checkOptimum(element, test[0], test[1], test[2]);
- checkSubOptimum(element, test[0], test[1], test[3]);
- checkSubSubOptimum(element, test[0], test[1], test[4]);
- }
- }
- checkMozMatchesSelector();
- </script>
- </pre>
- </body>
- </html>
|