test_bug229915.html (2814B)
1 <!DOCTYPE HTML> 2 <html> 3 <!-- 4 https://bugzilla.mozilla.org/show_bug.cgi?id=229915 5 --> 6 <head> 7 <title>Test for Bug 229915</title> 8 <script src="/tests/SimpleTest/SimpleTest.js"></script> 9 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> 10 <style type="text/css"> 11 12 p { color: black; background: transparent; } 13 p.prev + p { color: green; } 14 p.prev ~ p { background: white; } 15 16 </style> 17 </head> 18 <body> 19 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=229915">Mozilla Bug 229915</a> 20 <div id="display"> 21 22 <div> 23 <p id="toinsertbefore">After testing, this should turn green.</p> 24 </div> 25 26 <div> 27 <p id="toreplace">To be replaced.</p> 28 <p id="replacecolor">After testing, this should turn green.</p> 29 </div> 30 31 <div> 32 <p class="prev">Previous paragraph.</p> 33 <p id="toremove">To be removed.</p> 34 <p id="removecolor">After testing, this should turn green.</p> 35 </div> 36 37 </div> 38 <div id="content" style="display: none"> 39 40 </div> 41 <pre id="test"> 42 <script class="testbody" type="text/javascript"> 43 44 /** Test for Bug 229915 */ 45 46 const GREEN = "rgb(0, 128, 0)"; 47 const BLACK = "rgb(0, 0, 0)"; 48 const TRANSPARENT = "rgba(0, 0, 0, 0)"; 49 const WHITE = "rgb(255, 255, 255)"; 50 51 function make_prev() { 52 var result = document.createElement("p"); 53 result.setAttribute("class", "prev"); 54 var t = document.createTextNode("Dynamically created previous paragraph."); 55 result.appendChild(t); 56 return result; 57 } 58 59 function color(id) { 60 return getComputedStyle(document.getElementById(id), "").color; 61 } 62 function bg(id) { 63 return getComputedStyle(document.getElementById(id), "").backgroundColor; 64 } 65 66 var node; 67 68 // test insert 69 is(color("toinsertbefore"), BLACK, "initial state (insertion test)"); 70 is(bg("toinsertbefore"), TRANSPARENT, "initial state (insertion test)"); 71 node = document.getElementById("toinsertbefore"); 72 node.parentNode.insertBefore(make_prev(), node); 73 is(color("toinsertbefore"), GREEN, "inserting should turn node green"); 74 is(bg("toinsertbefore"), WHITE, "inserting should turn background white"); 75 76 // test replace 77 is(color("replacecolor"), BLACK, "initial state (replacement test)"); 78 is(bg("replacecolor"), TRANSPARENT, "initial state (replacement test)"); 79 node = document.getElementById("toreplace"); 80 node.parentNode.replaceChild(make_prev(), node); 81 is(color("replacecolor"), GREEN, "replacing should turn node green"); 82 is(bg("replacecolor"), WHITE, "replacing should turn background white"); 83 84 // test remove 85 is(color("removecolor"), BLACK, "initial state (removal test)"); 86 is(bg("removecolor"), WHITE, "initial state (removal test; no change)"); 87 node = document.getElementById("toremove"); 88 node.remove(); 89 is(color("removecolor"), GREEN, "removing should turn node green"); 90 is(bg("removecolor"), WHITE, "removing should leave background"); 91 92 </script> 93 </pre> 94 </body> 95 </html>