blob: 38b60654d26c29f43d641871bdf18375e851af0d [file] [log] [blame]
<html>
<head>
<title></title>
<script type="text/javascript">
function log(message)
{
var console = document.getElementById("console");
console.appendChild(document.createElement("li")).innerHTML = message;
}
function testShorthand(shorthand)
{
var element = document.createElement("div");
element.setAttribute("style",
"border: thin dotted purple; \
background: red url(/background.png) repeat-y scroll right bottom; \
list-style: square outside url(/marker.png); \
margin: 5%; \
-webkit-margin-collapse: collapse; \
-webkit-marquee: ahead small infinite slide slow; \
padding: 2em; \
-webkit-text-stroke: orange 1pt; \
-webkit-columns: 100px 3; \
-webkit-column-rule: thick dashed silver; \
border-spacing: 10px 20px; \
-webkit-border-radius: 6px 8px; \
overflow: scroll; \
-webkit-mask: url(/mask.png) repeat-x center top;");
var allProperties = element.style.cssText.concat(" ").split("; ");
element.style.removeProperty(shorthand);
var remainingProperties = element.style.cssText.concat(" ").split("; ");
var removedProperties = [];
var addedProperties = [];
for (var i = 0; i < allProperties.length; i++) {
if (remainingProperties.indexOf(allProperties[i]) < 0)
removedProperties.push("<tt>" + allProperties[i].replace(/\:.*/,"") + "</tt>");
}
for (var i = 0; i < remainingProperties.length; i++) {
if (allProperties.indexOf(remainingProperties[i]) < 0)
addedProperties.push("<tt>" + remainingProperties[i].replace(/\:.*/,"") + "</tt>");
}
log("Removing <tt>" + shorthand + '</tt><br>removes "' + removedProperties.join(", ")
+ '"<br>and adds "' + addedProperties.join(", ") + '".');
}
function test()
{
if (window.testRunner)
testRunner.dumpAsText();
var shorthands = [
"background",
"background-position",
"border",
"border-top", "border-right", "border-bottom", "border-left",
"border-color", "border-style", "border-width",
"border-radius",
"-webkit-border-radius",
"border-spacing",
"-webkit-columns",
"-webkit-column-rule",
"list-style",
"margin",
"-webkit-margin-collapse",
"-webkit-marquee",
"-webkit-mask",
"-webkit-mask-position",
"overflow",
"padding",
"-webkit-text-stroke"
];
for (i in shorthands)
testShorthand(shorthands[i]);
}
</script>
</head>
<body onload="test()">
<p>
Test for <i><a href="http://bugs.webkit.org/show_bug.cgi?id=9284">http://bugs.webkit.org/show_bug.cgi?id=9284</a>
Quirksmode (CSS1): Removing inline border styles is impossible</i>.
</p>
<p>
Starting with a declaration containing all properties that are constituents of shortcuts, see what is removed
when a shortcut property is removed. The shortcut&rsquo;s constituents and only them should be removed.
</p>
<ul id="console"></ul>
</body>
</html>