<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();
print("[document with title 'title']");
doc = document.implementation.createHTMLDocument("title");
shouldBe("doc.title", "title");
shouldBe("doc.getElementsByTagName('html').length", 1);
shouldBe("doc.getElementsByTagName('head').length", 1);
shouldBe("doc.getElementsByTagName('title').length", 1);
shouldBe("doc.getElementsByTagName('body').length", 1);
print("[document with title '']");
doc = document.implementation.createHTMLDocument("");
shouldBe("doc.title", "");
shouldBe("doc.getElementsByTagName('title').item(0).firstChild.data", "");
print("[document with null title]");
doc = document.implementation.createHTMLDocument(null);
shouldBe("doc.title", "null");
}
</script>
</head>
<body onload="test();">
<p>This page tests the DOM createHTMLDocument method.</p>
<p>If the test passes, you'll see a series of 'PASS' messages below.</p>
<hr>
<div id='console'></div>
</body>
</html>