| <!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.origin, document.origin, "The document's origin should be its creator document's origin"); |
| assert_equals(doc.referrer, document.URL, "The document's referrer should be its creator document's address."); |
| assert_equals(iframe.contentWindow.parent.document, document); |
| }, "Check the document properties corresponding to the creator browsing context"); |
| </script> |
| </body> |
| </html> |