1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
<!DOCTYPE HTML>
<html>
<!--
https://bugzilla.mozilla.org/show_bug.cgi?id=372770
-->
<head>
<title>Test for Bug 372770</title>
<script src="/tests/SimpleTest/SimpleTest.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
<style id="testStyle">
#content {}
</style>
</head>
<body>
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=372770">Mozilla Bug 372770</a>
<p id="display"></p>
<div id="content" style="display: none">
</div>
<pre id="test">
<script class="testbody" type="text/javascript">
/** Test for Bug 372770 **/
var style1 = $("content").style;
var style2 = $("testStyle").sheet.cssRules[0].style;
var colors = [ "rgb(128, 128, 128)", "transparent" ]
var i;
for (i = 0; i < colors.length; ++i) {
var color = colors[i];
style1.color = color;
style2.color = color;
is(style1.color, color, "Inline style color roundtripping failed at color " + i);
is(style2.color, color, "Rule style color roundtripping failed at color " + i);
}
style1.color = "rgba(0, 0, 0, 0)";
style2.color = "rgba(0, 0, 0, 0)";
is(style1.color, "rgba(0, 0, 0, 0)",
"Inline style should round-trip black transparent color correctly");
is(style2.color, "rgba(0, 0, 0, 0)",
"Rule style should round-trip black transparent color correctly");
for (var i = 0; i <= 100; ++i) {
if (i == 70 || i == 90) {
// Tinderbox unhappy for some reason... just skip these for now?
continue;
}
var color1 = "rgba(128, 128, 128, " + i/100 + ")";
var color2 = "rgba(175, 63, 27, " + i/100 + ")";
style1.color = color1;
style1.backgroundColor = color2;
style2.color = color2;
style2.background = color1;
if (i == 100) {
// Bug 372783 means this doesn't round-trip quite right
todo(style1.color == color1,
"Inline style color roundtripping failed at opacity " + i);
todo(style1.backgroundColor == color2,
"Inline style background roundtripping failed at opacity " + i);
todo(style2.color == color2,
"Rule style color roundtripping failed at opacity " + i);
todo(style2.backgroundColor == color1,
"Rule style background roundtripping failed at opacity " + i);
color1 = "rgb(128, 128, 128)";
color2 = "rgb(175, 63, 27)";
}
is(style1.color, color1,
"Inline style color roundtripping failed at opacity " + i);
is(style1.backgroundColor, color2,
"Inline style background roundtripping failed at opacity " + i);
is(style2.color, color2,
"Rule style color roundtripping failed at opacity " + i);
is(style2.backgroundColor, color1,
"Rule style background roundtripping failed at opacity " + i);
}
</script>
</pre>
</body>
</html>
|