| <!DOCTYPE html> | |
| <title>Node.parentElement</title> | |
| <link rel="stylesheet" href="/resources/testharness.css"> | |
| <script src="/resources/testharness.js"></script> | |
| <script src="/resources/testharnessreport.js"></script> | |
| <div id="log"></div> | |
| <script> | |
| test(function() { | |
| assert_equals(document.parentElement, null) | |
| }, "When the parent is null, parentElement should be null") | |
| test(function() { | |
| assert_equals(document.doctype.parentElement, null) | |
| }, "When the parent is a document, parentElement should be null (doctype)") | |
| test(function() { | |
| assert_equals(document.documentElement.parentElement, null) | |
| }, "When the parent is a document, parentElement should be null (element)") | |
| test(function() { | |
| var comment = document.appendChild(document.createComment("foo")) | |
| assert_equals(comment.parentElement, null) | |
| }, "When the parent is a document, parentElement should be null (comment)") | |
| test(function() { | |
| var df = document.createDocumentFragment() | |
| assert_equals(df.parentElement, null) | |
| var el = document.createElement("div") | |
| assert_equals(el.parentElement, null) | |
| df.appendChild(el) | |
| assert_equals(el.parentNode, df) | |
| assert_equals(el.parentElement, null) | |
| }, "parentElement should return null for children of DocumentFragments (element)") | |
| test(function() { | |
| var df = document.createDocumentFragment() | |
| assert_equals(df.parentElement, null) | |
| var text = document.createTextNode("bar") | |
| assert_equals(text.parentElement, null) | |
| df.appendChild(text) | |
| assert_equals(text.parentNode, df) | |
| assert_equals(text.parentElement, null) | |
| }, "parentElement should return null for children of DocumentFragments (text)") | |
| test(function() { | |
| var df = document.createDocumentFragment() | |
| var parent = document.createElement("div") | |
| df.appendChild(parent) | |
| var el = document.createElement("div") | |
| assert_equals(el.parentElement, null) | |
| parent.appendChild(el) | |
| assert_equals(el.parentElement, parent) | |
| }, "parentElement should work correctly with DocumentFragments (element)") | |
| test(function() { | |
| var df = document.createDocumentFragment() | |
| var parent = document.createElement("div") | |
| df.appendChild(parent) | |
| var text = document.createTextNode("bar") | |
| assert_equals(text.parentElement, null) | |
| parent.appendChild(text) | |
| assert_equals(text.parentElement, parent) | |
| }, "parentElement should work correctly with DocumentFragments (text)") | |
| test(function() { | |
| var parent = document.createElement("div") | |
| var el = document.createElement("div") | |
| assert_equals(el.parentElement, null) | |
| parent.appendChild(el) | |
| assert_equals(el.parentElement, parent) | |
| }, "parentElement should work correctly in disconnected subtrees (element)") | |
| test(function() { | |
| var parent = document.createElement("div") | |
| var text = document.createTextNode("bar") | |
| assert_equals(text.parentElement, null) | |
| parent.appendChild(text) | |
| assert_equals(text.parentElement, parent) | |
| }, "parentElement should work correctly in disconnected subtrees (text)") | |
| test(function() { | |
| var el = document.createElement("div") | |
| assert_equals(el.parentElement, null) | |
| document.body.appendChild(el) | |
| assert_equals(el.parentElement, document.body) | |
| }, "parentElement should work correctly in a document (element)") | |
| test(function() { | |
| var text = document.createElement("div") | |
| assert_equals(text.parentElement, null) | |
| document.body.appendChild(text) | |
| assert_equals(text.parentElement, document.body) | |
| }, "parentElement should work correctly in a document (text)") | |
| </script> |