Wed, 31 Dec 2014 13:27:57 +0100
Ignore runtime configuration files generated during quality assurance.
1 <!DOCTYPE HTML>
2 <html>
3 <!--
4 https://bugzilla.mozilla.org/show_bug.cgi?id=357614
5 -->
6 <head>
7 <title>Test for Bug 357614</title>
8 <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
9 <style type="text/css" id="style">
10 a { color: red; }
11 a { color: green; }
12 </style>
13 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
14 </head>
15 <body>
16 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=357614">Mozilla Bug 357614</a>
17 <p id="display"><a href="http://www.FOO.com/" rel="next" rev="PREV" foo="bar">a link</a></p>
18 <div id="content" style="display: none">
20 </div>
21 <pre id="test">
22 <script class="testbody" type="text/javascript">
24 /** Test for Bug 357614 **/
26 var sheet = document.getElementById("style").sheet;
27 var rule1 = sheet.cssRules[0];
28 var rule2 = sheet.cssRules[1];
30 var a = document.getElementById("display").firstChild;
31 var cs = getComputedStyle(a, "");
33 function change_selector_text(selector) {
34 // rule2.selectorText = selector; // NOT IMPLEMENTED
36 sheet.deleteRule(1);
37 sheet.insertRule(selector + " { color: green; }", 1);
38 }
40 var cs_green = cs.getPropertyValue("color");
41 change_selector_text('p');
42 var cs_red = cs.getPropertyValue("color");
43 isnot(cs_green, cs_red, "computed values for green and red are different");
45 change_selector_text('a[href="http://www.FOO.com/"]');
46 is(cs.getPropertyValue("color"), cs_green, "selector on href value matches case-sensitively");
48 change_selector_text('a[href="http://www.foo.com/"]');
49 is(cs.getPropertyValue("color"), cs_red, "selector on href value does not match case-insensitively");
51 change_selector_text('a[rel="next"]');
52 is(cs.getPropertyValue("color"), cs_green, "selector on rel value matches case-sensitively");
54 change_selector_text('a[rel="NEXT"]');
55 is(cs.getPropertyValue("color"), cs_green, "selector on rel value matches case-insensitively");
57 change_selector_text('a[rev="PREV"]');
58 is(cs.getPropertyValue("color"), cs_green, "selector on rev value matches case-sensitively");
60 change_selector_text('a[rev="prev"]');
61 is(cs.getPropertyValue("color"), cs_green, "selector on rev value matches case-insensitively");
63 change_selector_text('a[foo="bar"]');
64 is(cs.getPropertyValue("color"), cs_green, "selector on foo value matches case-sensitively");
66 change_selector_text('a[foo="Bar"]');
67 is(cs.getPropertyValue("color"), cs_red, "selector on foo value does not match case-insensitively");
69 </script>
70 </pre>
71 </body>
72 </html>