2007-03-22 10:30:00 -07:00
|
|
|
<!DOCTYPE HTML>
|
|
|
|
<html>
|
|
|
|
<!--
|
|
|
|
https://bugzilla.mozilla.org/show_bug.cgi?id=372770
|
|
|
|
-->
|
|
|
|
<head>
|
|
|
|
<title>Test for Bug 372770</title>
|
|
|
|
<script type="text/javascript" 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);
|
|
|
|
}
|
|
|
|
|
|
|
|
// This code is only here because of bug 372783. Once that's fixed, this test
|
|
|
|
// for "rgba(0, 0, 0, 0)" will fail.
|
|
|
|
style1.color = "rgba(0, 0, 0, 0)";
|
|
|
|
style2.color = "rgba(0, 0, 0, 0)";
|
|
|
|
is(style1.color, "transparent",
|
|
|
|
"Inline style should give transparent for rgba(0,0,0,0)");
|
|
|
|
is(style2.color, "transparent",
|
|
|
|
"Rule style should give transparent for rgba(0,0,0,0)");
|
|
|
|
todo(style1.color == "rgba(0, 0, 0, 0)",
|
|
|
|
"Inline style should round-trip black transparent color correctly");
|
|
|
|
todo(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);
|
2007-06-12 11:28:56 -07:00
|
|
|
todo(style1.backgroundColor == color2,
|
2007-03-22 10:30:00 -07:00
|
|
|
"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);
|
2007-06-12 11:28:56 -07:00
|
|
|
is(style1.backgroundColor, color2,
|
2007-03-22 10:30:00 -07:00
|
|
|
"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>
|
|
|
|
|