test_bug413958.html (2407B)
1 <!doctype html> 2 <html> 3 <!-- 4 https://bugzilla.mozilla.org/show_bug.cgi?id=413958 5 --> 6 <head> 7 <title>Test for Bug 413958</title> 8 <meta charset="UTF-8"> 9 <script src="/tests/SimpleTest/SimpleTest.js"></script> 10 <link rel="stylesheet" href="/tests/SimpleTest/test.css"> 11 </head> 12 <body> 13 <style>span { color: red }</style><!-- backstop --> 14 <p><a target="_blank" 15 href="https://bugzilla.mozilla.org/show_bug.cgi?id=413958" 16 >Mozilla Bug 413958</a>. All text below should be black on white.</p> 17 <p>Sheet: <span id="s1">1</span> 18 <span id="s2">2</span> 19 <span id="s3">3</span>. 20 Style attr: <span id="setStyle">4</span>. 21 Properties: <span id="setStyleProp" style="">5</span>.</p> 22 <script> 23 SpecialPowers.wrap(window).docShell.cssErrorReportingEnabled = true; 24 25 var tests = [ 26 function() { 27 var s = document.createTextNode( 28 "#s1{nosuchprop:auto; color:black}\n"+ 29 "#s2{nosuchprop:auto; color:black}invalid?sel{}#s3{color:black}"), 30 e = document.createElement("style"); 31 e.appendChild(s); 32 document.body.appendChild(e); 33 }, 34 function() { 35 document.getElementById("setStyle") 36 .setAttribute("style", "width:200;color:black"); 37 }, 38 function() { 39 var s = document.getElementById("setStyleProp").style; 40 s.width = "200"; 41 s.color = "black"; 42 }, 43 ]; 44 var results = [ 45 [ { errorMessage: /Unknown property \u2018nosuchprop\u2019/, 46 lineNumber: 1, columnNumber: 16, cssSelectors: "#s1" }, 47 { errorMessage: /Unknown property \u2018nosuchprop\u2019/, 48 lineNumber: 2, columnNumber: 16, cssSelectors: "#s2" }, 49 { errorMessage: /Ruleset ignored due to bad selector/, 50 lineNumber: 2, columnNumber: 41, cssSelectors: "" } ], 51 [ { errorMessage: /parsing value for \u2018width\u2019/, 52 lineNumber: 1, columnNumber: 7, cssSelectors: "" } ], 53 [ { errorMessage: /parsing value for \u2018width\u2019/, 54 lineNumber: 1, columnNumber: 1, cssSelectors: "" } ], 55 ]; 56 var curTest = -1; 57 58 function doTest() { 59 if (++curTest == tests.length) { 60 var ss = document.getElementsByTagName("span"); 61 for (var i = 0; i < ss.length; i++) { 62 is(window.getComputedStyle(ss[i]).color, "rgb(0, 0, 0)", 63 "recovery | " + ss[i].id); 64 } 65 SimpleTest.finish(); 66 } else { 67 SimpleTest.expectConsoleMessages(tests[curTest], results[curTest], doTest); 68 } 69 } 70 71 SimpleTest.waitForExplicitFinish(); 72 doTest(); 73 </script> 74 </body> 75 </html>