diff options
Diffstat (limited to 'testing/web-platform/tests/html/semantics/tabular-data/the-table-element/createTBody.html')
-rw-r--r-- | testing/web-platform/tests/html/semantics/tabular-data/the-table-element/createTBody.html | 173 |
1 files changed, 173 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/semantics/tabular-data/the-table-element/createTBody.html b/testing/web-platform/tests/html/semantics/tabular-data/the-table-element/createTBody.html new file mode 100644 index 000000000..6100aedfd --- /dev/null +++ b/testing/web-platform/tests/html/semantics/tabular-data/the-table-element/createTBody.html @@ -0,0 +1,173 @@ +<!doctype html> +<meta charset=utf-8> +<title>HTMLTableElement.createTBody</title> +<script src=/resources/testharness.js></script> +<script src=/resources/testharnessreport.js></script> +<div id=log></div> +<script> +function assert_tbody(tbody) { + assert_equals(tbody.localName, "tbody"); + assert_equals(tbody.namespaceURI, htmlNS); + assert_equals(tbody.prefix, null); +} +var htmlNS = "http://www.w3.org/1999/xhtml"; +test(function() { + var table = document.createElement("table"); + var tbody = table.createTBody(); + assert_equals(table.firstChild, tbody); + assert_tbody(tbody); +}, "No child nodes"); + +test(function() { + var table = document.createElement("table"); + var before = table.appendChild(document.createElement("tbody")); + assert_array_equals(table.childNodes, [before]); + + var tbody = table.createTBody(); + assert_array_equals(table.childNodes, [before, tbody]); + assert_tbody(tbody); +}, "One tbody child node"); + +test(function() { + var table = document.createElement("table"); + var before1 = table.appendChild(document.createElement("tbody")); + var before2 = table.appendChild(document.createElement("tbody")); + assert_array_equals(table.childNodes, [before1, before2]); + + var tbody = table.createTBody(); + assert_array_equals(table.childNodes, [before1, before2, tbody]); + assert_tbody(tbody); +}, "Two tbody child nodes"); + +test(function() { + var table = document.createElement("table"); + var before1 = table.appendChild(document.createElement("thead")); + var before2 = table.appendChild(document.createElement("tbody")); + assert_array_equals(table.childNodes, [before1, before2]); + + var tbody = table.createTBody(); + assert_array_equals(table.childNodes, [before1, before2, tbody]); + assert_tbody(tbody); +}, "A thead and a tbody child node"); + +test(function() { + var table = document.createElement("table"); + var before1 = table.appendChild(document.createElement("tfoot")); + var before2 = table.appendChild(document.createElement("tbody")); + assert_array_equals(table.childNodes, [before1, before2]); + + var tbody = table.createTBody(); + assert_array_equals(table.childNodes, [before1, before2, tbody]); + assert_tbody(tbody); +}, "A tfoot and a tbody child node"); + +test(function() { + var table = document.createElement("table"); + var before = table.appendChild(document.createElement("tbody")); + var after = table.appendChild(document.createElement("thead")); + assert_array_equals(table.childNodes, [before, after]); + + var tbody = table.createTBody(); + assert_array_equals(table.childNodes, [before, tbody, after]); + assert_tbody(tbody); +}, "A tbody and a thead child node"); + +test(function() { + var table = document.createElement("table"); + var before = table.appendChild(document.createElement("tbody")); + var after = table.appendChild(document.createElement("tfoot")); + assert_array_equals(table.childNodes, [before, after]); + + var tbody = table.createTBody(); + assert_array_equals(table.childNodes, [before, tbody, after]); + assert_tbody(tbody); +}, "A tbody and a tfoot child node"); + +test(function() { + var table = document.createElement("table"); + var before1 = table.appendChild(document.createElement("tbody")); + var before2 = table.appendChild(document.createElement("tbody")); + var after = table.appendChild(document.createElement("div")); + assert_array_equals(table.childNodes, [before1, before2, after]); + + var tbody = table.createTBody(); + assert_array_equals(table.childNodes, [before1, before2, tbody, after]); + assert_tbody(tbody); +}, "Two tbody child nodes and a div"); + +test(function() { + var table = document.createElement("table"); + var before = table.appendChild(document.createElement("tbody")); + var after = table.appendChild(document.createElementNS("x", "tbody")); + assert_array_equals(table.childNodes, [before, after]); + + var tbody = table.createTBody(); + assert_array_equals(table.childNodes, [before, tbody, after]); + assert_tbody(tbody); +}, "One HTML and one namespaced tbody child node"); + +test(function() { + var table = document.createElement("table"); + var before1 = table.appendChild(document.createElement("tbody")); + var before2 = before1.appendChild(document.createElement("tbody")); + assert_array_equals(table.childNodes, [before1]); + + var tbody = table.createTBody(); + assert_array_equals(table.childNodes, [before1, tbody]); + assert_tbody(tbody); +}, "Two nested tbody child nodes"); + +test(function() { + var table = document.createElement("table"); + var before1 = table.appendChild(document.createElement("thead")); + var before2 = before1.appendChild(document.createElement("tbody")); + assert_array_equals(table.childNodes, [before1]); + + var tbody = table.createTBody(); + assert_array_equals(table.childNodes, [before1, tbody]); + assert_tbody(tbody); +}, "A tbody node inside a thead child node"); + +test(function() { + var table = document.createElement("table"); + var before1 = table.appendChild(document.createElement("tfoot")); + var before2 = before1.appendChild(document.createElement("tbody")); + assert_array_equals(table.childNodes, [before1]); + + var tbody = table.createTBody(); + assert_array_equals(table.childNodes, [before1, tbody]); + assert_tbody(tbody); +}, "A tbody node inside a tfoot child node"); + +test(function() { + var table = document.createElement("table"); + var before = table.appendChild(document.createElement("tbody")); + var after1 = table.appendChild(document.createElement("thead")); + var after2 = after1.appendChild(document.createElement("tbody")); + assert_array_equals(table.childNodes, [before, after1]); + + var tbody = table.createTBody(); + assert_array_equals(table.childNodes, [before, tbody, after1]); + assert_tbody(tbody); +}, "A tbody node inside a thead child node after a tbody child node"); + +test(function() { + var table = document.createElement("table"); + var before = table.appendChild(document.createElement("tbody")); + var after1 = table.appendChild(document.createElement("tfoot")); + var after2 = after1.appendChild(document.createElement("tbody")); + assert_array_equals(table.childNodes, [before, after1]); + + var tbody = table.createTBody(); + assert_array_equals(table.childNodes, [before, tbody, after1]); + assert_tbody(tbody); +}, "A tbody node inside a tfoot child node after a tbody child node"); + +test(function() { + var table = document.createElementNS(htmlNS, "foo:table"); + var tbody = table.createTBody(); + + assert_equals(tbody.prefix, null); +}, "A prefixed table creates tbody without prefix"); + +</script> |