| <!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> |