diff options
Diffstat (limited to 'testing/web-platform/tests/html/semantics/tabular-data/the-table-element/caption-methods.html')
-rw-r--r-- | testing/web-platform/tests/html/semantics/tabular-data/the-table-element/caption-methods.html | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/semantics/tabular-data/the-table-element/caption-methods.html b/testing/web-platform/tests/html/semantics/tabular-data/the-table-element/caption-methods.html new file mode 100644 index 000000000..35ee9f445 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/tabular-data/the-table-element/caption-methods.html @@ -0,0 +1,100 @@ +<!DOCTYPE HTML> +<html> +<head> + <title>Creating and deleting captions</title> + <link rel="author" title="Erika Navara" href="mailto:edoyle@microsoft.com"> + <link rel="help" href="https://html.spec.whatwg.org/multipage/#the-table-element" /> + <link rel="help" href="https://html.spec.whatwg.org/multipage/#dom-table-createcaption" /> + <link rel="help" href="https://html.spec.whatwg.org/multipage/#dom-table-deletecaption" /> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> +</head> +<body> + <div id="log"></div> + <table id="table0" style="display:none"> + </table> + <table id="table1" style="display:none"> + <caption id="caption1">caption</caption> + <tr> + <td>cell</td> + <td>cell</td> + </tr> + </table> + <table id="table2" style="display:none"> + <foo:caption>caption</foo:caption> + <tr> + <td>cell</td> + <td>cell</td> + </tr> + </table> + <table id="table3" style="display:none"> + <caption id="caption3">caption 3</caption> + <tr> + <td>cell</td> + <td>cell</td> + </tr> + </table> + <table id="table4" style="display:none"> + </table> + <table id="table5" style="display:none"> + </table> + <script> + test(function () { + var table0 = document.getElementById('table0'); + var caption = document.createElementNS("foo", "caption"); + table0.appendChild(caption); + var table0FirstNode = table0.firstChild; + var testCaption = table0.createCaption(); + assert_not_equals(testCaption, table0FirstNode); + assert_equals(testCaption, table0.firstChild); + }, "createCaption method creates new caption if existing caption is not in html namespace") + test(function () { + var table1 = document.getElementById('table1'); + var testCaption = table1.createCaption(); + var table1FirstCaption = table1.caption; + assert_equals(testCaption, table1FirstCaption); + }, "createCaption method returns the first caption element child of the table") + test(function () { + var table2 = document.getElementById('table2'); + var test2Caption = table2.createCaption(); + var table2FirstNode = table2.firstChild; + assert_true(test2Caption instanceof HTMLTableCaptionElement); + assert_equals(table2FirstNode, test2Caption); + }, "createCaption method creates a new caption and inserts it as the first node of the table element") + test(function () { + var table = document.createElement('table'); + assert_equals(table.createCaption(), table.createCaption()); + }, "createCaption will not create new caption if one exists") + test(function () { + var table = document.createElementNS("http://www.w3.org/1999/xhtml", "foo:table") + var caption = table.createCaption(); + assert_equals(caption.prefix, null); + }, "createCaption will not copy table's prefix") + test(function () { + var table3 = document.getElementById('table3'); + assert_equals(table3.caption.textContent, "caption 3"); + table3.deleteCaption(); + assert_equals(table3.caption, null); + }, "deleteCaption method removes the first caption element child of the table element") + test(function () { + var table4 = document.getElementById('table4'); + var caption = document.createElementNS("foo", "caption"); + table4.appendChild(caption); + table4.deleteCaption(); + assert_equals(caption.parentNode, table4); + }, "deleteCaption method not remove caption that is not in html namespace") + test(function() { + var table5 = document.getElementById('table5'); + var caption = document.createElement('caption'); + caption.appendChild(table5) + + // Node cannot be inserted at the specified point in the hierarchy + assert_throws("HierarchyRequestError", function() { + table5.caption = caption; + }); + + assert_not_equals(table5.caption, caption); + }, "Setting caption rethrows exception"); + </script> +</body> +</html> |