<!
DOCTYPE html>
<
title>createHTMLDocument</
title>
<
script src=
"/tests/SimpleTest/SimpleTest.js"></
script>
<
link rel=
"stylesheet" href=
"/tests/SimpleTest/test.css" />
<
link rel=
"author" title=
"Ms2ger" href=
"mailto:ms2ger@gmail.com">
<
link rel=
"help" href=
"http://www.whatwg.org/html5/#creating-documents">
<
link rel=
"help" href=
"http://www.whatwg.org/html5/#document.title">
<
link rel=
"help" href=
"http://www.whatwg.org/html5/#dom-document-readystate">
<
body>
<
script>
function isElement(element, localName) {
is(element.localName, localName);
is(element.namespaceURI,
"http://www.w3.org/1999/xhtml");
is(element.tagName, localName.toUpperCase());
is(element.nodeName, localName.toUpperCase());
is(element.prefix, null);
}
function checkDoc(
title, expectedtitle, normalizedtitle) {
var doc = document.implementation.createHTMLDocument(
title);
is(doc.readyState,
"complete");
is(doc.compatMode,
"CSS1Compat");
// Opera doesn
't have a doctype: DSK-311092
ok(doc.
doctype,
"Need a doctype");
is(doc.
doctype.name,
"html");
is(doc.
doctype.publicId,
"");
is(doc.
doctype.systemId,
"");
isElement(doc.documentElement,
"html");
isElement(doc.documentElement.firstChild,
"head");
if (
title !== undefined) {
is(doc.documentElement.firstChild.childNodes.length, 1);
isElement(doc.documentElement.firstChild.firstChild,
"title");
// Doesn
't always work out in WebKit.
ok(doc.documentElement.firstChild.firstChild.firstChild,
"Need a text node.");
is(doc.documentElement.firstChild.firstChild.firstChild.data, expectedtitle);
} else {
is(doc.documentElement.firstChild.childNodes.length, 0);
}
isElement(doc.documentElement.lastChild,
"body");
is(doc.documentElement.lastChild.childNodes.length, 0);
is(doc.
title, normalizedtitle);
doc.
body.innerHTML =
"foo";
is(doc.
body.innerHTML,
"foo",
"innerHTML should work in HTML data documents!");
}
checkDoc(
"",
"",
"");
checkDoc(null,
"null",
"null");
checkDoc(undefined,
"",
"");
checkDoc(
"foo bar baz",
"foo bar baz",
"foo bar baz");
checkDoc(
"foo\t\tbar baz",
"foo\t\tbar baz",
"foo bar baz");
checkDoc(
"foo\n\nbar baz",
"foo\n\nbar baz",
"foo bar baz");
checkDoc(
"foo\f\fbar baz",
"foo\f\fbar baz",
"foo bar baz");
checkDoc(
"foo\r\rbar baz",
"foo\r\rbar baz",
"foo bar baz");
</
script>