|
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 var tests = [ |
|
24 function() { |
|
25 var s = document.createTextNode( |
|
26 "#s1{nosuchprop:auto; color:black}\n"+ |
|
27 "#s2{nosuchprop:auto; color:black}invalid?sel{}#s3{color:black}"), |
|
28 e = document.createElement("style"); |
|
29 e.appendChild(s); |
|
30 document.body.appendChild(e); |
|
31 }, |
|
32 function() { |
|
33 document.getElementById("setStyle") |
|
34 .setAttribute("style", "width:200;color:black"); |
|
35 }, |
|
36 function() { |
|
37 var s = document.getElementById("setStyleProp").style; |
|
38 s.width = "200"; |
|
39 s.color = "black"; |
|
40 }, |
|
41 ]; |
|
42 var results = [ |
|
43 [ { errorMessage: /Unknown property 'nosuchprop'/, |
|
44 lineNumber: 1, columnNumber: 14, |
|
45 sourceLine: "#s1{nosuchprop:auto; color:black}" }, |
|
46 { errorMessage: /Unknown property 'nosuchprop'/, |
|
47 lineNumber: 2, columnNumber: 14, sourceLine: |
|
48 "#s2{nosuchprop:auto; color:black}invalid?sel{}#s3{color:black}" }, |
|
49 { errorMessage: /Ruleset ignored due to bad selector/, |
|
50 lineNumber: 2, columnNumber: 40, sourceLine: |
|
51 "#s2{nosuchprop:auto; color:black}invalid?sel{}#s3{color:black}" } ], |
|
52 [ { errorMessage: /parsing value for 'width'/, |
|
53 lineNumber: 0, columnNumber: 6, |
|
54 sourceLine: "width:200;color:black" } ], |
|
55 [ { errorMessage: /parsing value for 'width'/, |
|
56 lineNumber: 0, columnNumber: 0, |
|
57 sourceLine: "200" } ], |
|
58 ]; |
|
59 var curTest = -1; |
|
60 |
|
61 function doTest() { |
|
62 if (++curTest == tests.length) { |
|
63 var ss = document.getElementsByTagName("span"); |
|
64 for (var i = 0; i < ss.length; i++) { |
|
65 is(window.getComputedStyle(ss[i], "").color, "rgb(0, 0, 0)", |
|
66 "recovery | " + ss[i].id); |
|
67 } |
|
68 SimpleTest.finish(); |
|
69 } else { |
|
70 SimpleTest.expectConsoleMessages(tests[curTest], results[curTest], doTest); |
|
71 } |
|
72 } |
|
73 |
|
74 SimpleTest.waitForExplicitFinish(); |
|
75 doTest(); |
|
76 </script> |
|
77 </body> |
|
78 </html> |