| <!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("IndexSizeError", function() { |
| el.deleteRow(-2) |
| }) |
| }, 'deleteRow function invalid argument'); |
| test(function() { |
| assert_throws("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("IndexSizeError", function() { |
| el.deleteRow(0); |
| }); |
| }, 'deleteRow(0) with no rows'); |
| </script> |