Source code
Revision control
Copy as Markdown
Other Tools
Test Info:
- This WPT test may be referenced by the following Test IDs:
- /html/semantics/tabular-data/the-tr-element/insertCell.html - WPT Dashboard Interop Dashboard
<!DOCTYPE html>
<meta charset="utf-8">
<title>HTMLTableRowElement#insertCell</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<table>
<tr id="testTr"></tr>
</table>
<script>
var tr = document.getElementById("testTr");
test(function () {
var tdEle = tr.insertCell(0);
assert_equals(tr.cells[0], tdEle);
assert_equals(tr.cells.length, 1);
}, "HTMLTableRowElement insertCell(0)");
test(function () {
var tdEle = tr.insertCell(-1);
assert_equals(tr.cells[tr.cells.length - 1], tdEle);
assert_equals(tr.cells.length, 2);
}, "HTMLTableRowElement insertCell(-1)");
test(function () {
var tdEle = tr.insertCell(tr.cells.length);
assert_equals(tr.cells[tr.cells.length - 1], tdEle);
assert_equals(tr.cells.length, 3);
}, "HTMLTableRowElement insertCell(cells.length)");
test(function () {
var tdEle = tr.insertCell();
assert_equals(tr.cells[tr.cells.length - 1], tdEle);
assert_equals(tr.cells.length, 4);
}, "HTMLTableRowElement insertCell()");
test(function () {
assert_throws_dom("IndexSizeError", function () {
tr.insertCell(-2);
});
}, "HTMLTableRowElement insertCell(-2)");
test(function () {
assert_throws_dom("IndexSizeError", function () {
tr.insertCell(tr.cells.length + 1);
});
}, "HTMLTableRowElement insertCell(cells.length + 1)");
test(function () {
var row = table.insertRow(0);
var cell = row.insertCell(0);
assert_equals(row.cells[0], cell);
assert_equals(cell.prefix, null);
}, "HTMLTableRowElement insertCell will not copy table's prefix");
</script>