<html>
<head>
<script>
function log(message)
{
var item = document.createElement("li");
item.appendChild(document.createTextNode(message));
document.getElementById("console").appendChild(item);
}
function setInitialStyleForE()
{
var e = document.getElementById('e');
e.style.top = "0px";
e.style.bottom = "";
e.style.display = "none";
e.style.bottom = "1px";
}
function test()
{
if (window.testRunner)
testRunner.dumpAsText();
var e = document.getElementById('e');
setInitialStyleForE();
try {
e.style.display = "block";
log("Successfully set display to \"block\"; cssText is now: \"" + e.style.cssText + "\".");
} catch (exception) {
log("Got exception trying to set display to \"block\"; cssText is now: \"" + e.style.cssText + "\".");
}
setInitialStyleForE();
try {
e.style.display = "foobar";
log("Successfully set display to \"foobar\"; cssText is now: \"" + e.style.cssText + "\".");
} catch (exception) {
log("Got exception trying to set display to \"foobar\"; cssText is now: \"" + e.style.cssText + "\".");
}
setInitialStyleForE();
try {
e.style.display = "";
log("Successfully set display to \"\"; cssText is now: \"" + e.style.cssText + "\".");
} catch (exception) {
log("Got exception trying to set display to \"\"; cssText is now: \"" + e.style.cssText + "\".");
}
setInitialStyleForE();
try {
e.style.display = null;
log("Successfully set display to null; cssText is now: \"" + e.style.cssText + "\".");
} catch (exception) {
log("Got exception trying to set display to null; cssText is now: \"" + e.style.cssText + "\".");
}
setInitialStyleForE();
try {
e.style.setProperty("display", "block", "");
log("Successfully set display to \"block\" with setProperty; cssText is now: \"" + e.style.cssText + "\".");
} catch (exception) {
log("Got exception trying to set display to \"block\" with setProperty; cssText is now: \"" + e.style.cssText + "\".");
}
setInitialStyleForE();
try {
e.style.setProperty("display", "foobar", "");
log("Successfully set display to \"foobar\" with setProperty; cssText is now: \"" + e.style.cssText + "\".");
} catch (exception) {
log("Got exception trying to set display to \"foobar\" with setProperty; cssText is now: \"" + e.style.cssText + "\".");
}
setInitialStyleForE();
try {
e.style.setProperty("display", "", "");
log("Successfully set display to \"\" with setProperty; cssText is now: \"" + e.style.cssText + "\".");
} catch (exception) {
log("Got exception trying to set display to \"\" with setProperty; cssText is now: \"" + e.style.cssText + "\".");
}
setInitialStyleForE();
try {
e.style.setProperty("display", null, "");
log("Successfully set display to null with setProperty; cssText is now: \"" + e.style.cssText + "\".");
} catch (exception) {
log("Got exception trying to set display to null with setProperty; cssText is now: \"" + e.style.cssText + "\".");
}
}
</script>
</head>
<body onload="test();">
<p>Test for <a href="http://bugs.webkit.org/show_bug.cgi?id=7296">bug 7296</a>.</p>
<p>This test checks to see whether you get exceptions when setting a property with a "bad value".
Setting using JavaScript property syntax and with setProperty() should behave the same.</p>
<P>It is OK if the order of properties changes from the expected results - IE 6 and Firefox 2 don't agree on it anyway.</p>
<hr>
<p id="e">This is the test element.</p>
<hr>
<ol id="console"></ol>
</body>
</html>