Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

<!doctype html>
<meta charset="utf-8">
<title>Delete Row tests</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<table id="element">
<thead>
<th>First column</th>
<th>Second column</th>
</thead>
<tbody>
<tr>
<td>1.1</td>
<td>1.2</td>
</tr>
<tr>
<td>2.1</td>
<td>2.2</td>
</tr>
</tbody>
</table>
<script>
var el = document.getElementById('element');
test(function() {
assert_throws_dom("IndexSizeError", function() {
el.deleteRow(-2)
})
}, 'deleteRow function invalid argument');
test(function() {
assert_throws_dom("IndexSizeError", function() {
el.deleteRow(el.rows.length)
})
}, 'deleteRow function invalid argument bis');
test(function() {
var old_length = el.rows.length;
el.insertRow(-1);
el.deleteRow(-1);
assert_equals(old_length, el.rows.length);
}, "check normal deleteRow");
test(function() {
assert_equals(el.rows.length, 3);
do {
var old_length = el.rows.length;
el.deleteRow(-1);
assert_equals(el.rows.length, old_length - 1);
} while (el.rows.length);
}, "check normal deleteRow bis");
test(function() {
assert_equals(el.rows.length, 0);
el.deleteRow(-1);
}, 'deleteRow(-1) with no rows');
test(function() {
assert_equals(el.rows.length, 0);
assert_throws_dom("IndexSizeError", function() {
el.deleteRow(0);
});
}, 'deleteRow(0) with no rows');
</script>