| <!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> |