blob: 75e9d90d0b27659dfb0776de8c7d1433e99f00f4 [file] [log] [blame]
<!doctype html>
<html>
<head>
<title>HTML Test: Browsing context is first created</title>
<link rel="author" title="Intel" href="http://www.intel.com/" />
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<div id="log"></div>
<script>
var doc, iframe;
if (window.testRunner && testRunner.setShouldDecideNavigationPolicyAfterDelay)
testRunner.setShouldDecideNavigationPolicyAfterDelay(true);
setup(function () {
// Create new browsing context via iframe
iframe = document.createElement("iframe");
document.body.appendChild(iframe);
doc = iframe.contentDocument;
});
test(function () {
assert_equals(doc.compatMode, "BackCompat", "The compatMode of a document without a document type declaration should be 'BackCompat'."); // Quirksmode
assert_equals(doc.contentType, "text/html", "The document should be an HTML document.");
assert_equals(doc.readyState, "complete", "The readyState attribute should be 'complete'.");
// Document metadata...
assert_equals(doc.documentURI, "about:blank", "The document's address should be 'about:blank'.");
assert_equals(doc.URL, "about:blank", "The document's address should be 'about:blank'.");
assert_equals(doc.doctype, null, "The docType of a document without a document type declaration should be null.");
assert_equals(doc.characterSet, "UTF-8", "The document's encoding should be 'UTF-8'.");
}, "Check that browsing context has new, ready HTML document");
test(function () {
assert_equals(doc.childNodes.length, 1, "The document must have only one child.");
assert_equals(doc.documentElement.tagName, "HTML");
assert_equals(doc.documentElement.childNodes.length, 2, "The HTML element should have 2 children.");
assert_equals(doc.documentElement.childNodes[0].tagName, "HEAD", "The first child of HTML element should be a HEAD element.");
assert_false(doc.documentElement.childNodes[0].hasChildNodes(), "The HEAD element should not have children.");
assert_equals(doc.documentElement.childNodes[1].tagName, "BODY", "The second child of HTML element should be a BODY element.");
assert_false(doc.documentElement.childNodes[1].hasChildNodes(), "The BODY element should not have children.");
}, "Check that new document nodes extant, empty");
test(function () {
assert_equals(doc.referrer, document.location.origin + '/', "The document's referrer should be its creator document's origin.");
assert_equals(iframe.contentWindow.parent.document, document);
}, "Check the document properties corresponding to the creator browsing context");
</script>
</body>
</html>