<!DOCTYPE html>
<meta charset="utf-8">
<title>HTMLTableSectionElement#deleteRow</title>
<link rel="author" title="Intel" href="http://www.intel.com/">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>

<div id ="log"></div>

<table>
  <tbody id="testBody">
    <tr><td>ABCDEF</td></tr>
    <tr><td>12345</td></tr>
    <tr><td>ABC12345DEF</td></tr>
  </tbody>
</table>

<script>

var tbody = document.getElementById("testBody");

test(function () {
  tbody.deleteRow(0);
  assert_equals(tbody.rows.length, 2);
  assert_equals(tbody.rows[0].childNodes[0].innerHTML, "12345");
}, "HTMLTableSectionElement deleteRow(0)");

test(function () {
  tbody.deleteRow(-1);
  assert_equals(tbody.rows.length, 1);
  assert_equals(tbody.rows[0].childNodes[0].innerHTML, "12345");
}, "HTMLTableSectionElement deleteRow(-1)");

test(function () {
  assert_throws("IndexSizeError", function () {
    tbody.deleteRow(tbody.rows.length);
  });
}, "HTMLTableSectionElement deleteRow(rows.length)");

test(function () {
  assert_throws("IndexSizeError", function () {
    tbody.deleteRow(-2);
  });
}, "HTMLTableSectionElement deleteRow(-2)");

test(function () {
  assert_equals(tbody.rows.length, 1);
  tbody.deleteRow(-1);
  assert_equals(tbody.rows.length, 0);
  tbody.deleteRow(-1);
  assert_equals(tbody.rows.length, 0);
}, "HTMLTableSectionElement deleteRow(-1) with no rows");

</script>
