blob: 8ce3ae48487f49f532b9b12fe407dd2946f37bfc [file] [log] [blame]
<html>
<head>
<script>
function print(message, color)
{
var paragraph = document.createElement("div");
paragraph.appendChild(document.createTextNode(message));
paragraph.style.fontFamily = "monospace";
if (color)
paragraph.style.color = color;
document.getElementById("console").appendChild(paragraph);
}
function shouldBe(a, b)
{
var evalA;
try {
evalA = eval(a);
} catch(e) {
evalA = e;
}
if (evalA == b)
print("PASS: " + a + " should be " + b + " and is.", "green");
else
print("FAIL: " + a + " should be " + b + " but instead is " + evalA + ".", "red");
}
function test()
{
if (window.testRunner)
testRunner.dumpAsText();
shouldBe("Object.prototype.isPrototypeOf(window.DOMException)", true);
shouldBe("Object.prototype.isPrototypeOf(window.Option)", true);
div = document.createElement('div');
div.style.color = "rgb(0, 0, 0)";
cssValue = div.style.getPropertyCSSValue('color'); // actually a CSSPrimitiveValue
shouldBe("Object.prototype.isPrototypeOf(cssValue)", true);
rgbColor = div.style.getPropertyCSSValue('color').getRGBColorValue();
shouldBe("Object.prototype.isPrototypeOf(rgbColor)", true);
div.style.clip = "rect(0, 0, 0, 0)";
rect = div.style.getPropertyCSSValue('clip').getRectValue();
shouldBe("Object.prototype.isPrototypeOf(rect)", true);
styleElement = document.createElement('style');
styleElement.appendChild(document.createTextNode("* {}"));
headElement = document.getElementsByTagName('head')[0];
headElement.appendChild(styleElement);
styleSheetList = document.styleSheets;
shouldBe("Object.prototype.isPrototypeOf(styleSheetList)", true);
styleSheet = styleSheetList[0];
shouldBe("Object.prototype.isPrototypeOf(styleSheet)", true);
cssRule = styleSheet.cssRules[0];
shouldBe("Object.prototype.isPrototypeOf(cssRule)", true);
nodeList = document.getElementsByTagName('html');
shouldBe("Object.prototype.isPrototypeOf(nodeList)", true);
var form = document.createElement('form');
form.name = 'myForm';
document.body.appendChild(form);
document.body.appendChild(form.cloneNode(true));
namedNodesCollection = document.forms.myForm;
shouldBe("Object.prototype.isPrototypeOf(namedNodesCollection)", true);
}
</script>
</head>
<body onload="test();">
<p>This test checks some DOM object prototypes that WebKit has gotten wrong in the past.
If the test passes, you'll see a series of 'PASS' messages below.</p>
<hr>
<div id='console'></div>
</body>
</html>