| <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> |
| <html> |
| <head> |
| <script src="../resources/js-test-pre.js"></script> |
| </head> |
| <body id="body"> |
| |
| <table id="table" border="1" cellspacing="1"> |
| <tbody><tr><td><table border="1" width="100%"><tbody> |
| <tr><td>Home</td> |
| <td>Help</td> |
| <td>Login</td></tr></tbody></table> |
| </td></tr><tr><td colspan="4"> |
| <input type="text"></td> |
| <td colspan="2" id="tablecell">Tip us on news</td> |
| </tr></tbody></table> |
| |
| |
| <p id="description"></p> |
| <div id="console"></div> |
| |
| <script> |
| |
| description("This tests the rowRange and columnRange attributes of table cells in a table with colspans that are invalid."); |
| |
| function parseRangeString(string) { |
| string = string.replace(/({|})/, ""); |
| var nums = string.split(","); |
| return new Array(parseInt(nums[0]), parseInt(nums[1])); |
| } |
| |
| if (window.accessibilityController) { |
| var table = accessibilityController.accessibleElementById("table"); |
| var rowCount = table.rowCount; |
| var columnCount = table.columnCount; |
| debug("Table: Rows: " + rowCount + ", Columns: " + columnCount); |
| for (var row = 0; row < rowCount; row++) { |
| for (var col = 0; col < columnCount; col++) { |
| var tableCell = table.cellForColumnAndRow(col, row); |
| if (!tableCell || !tableCell.isValid) |
| continue; |
| |
| var rowIndexRange = tableCell.rowIndexRange(); |
| var colIndexRange = tableCell.columnIndexRange(); |
| debug("[Table cell at row: " + row + ", column: " + col + "] Row range: " + rowIndexRange + ", Column range: " + colIndexRange); |
| var rowInfo = parseRangeString(rowIndexRange); |
| var colInfo = parseRangeString(colIndexRange); |
| for (var subrow = rowInfo[0]; subrow < rowInfo[0] + rowInfo[1]; subrow++) { |
| for (var subcol = colInfo[0]; subcol < colInfo[0] + colInfo[1]; subcol++) { |
| var testTableCell = table.cellForColumnAndRow(subcol, subrow); |
| if (!testTableCell || !testTableCell.isValid) |
| continue; |
| |
| var same = tableCell.isEqual(testTableCell); |
| var passed = same ? "PASSED" : "FAILED"; |
| debug("\t" + passed + " Cell is same cell at (" + subrow + ", " + subcol + ")"); |
| } |
| } |
| } |
| } |
| } |
| |
| </script> |
| |
| <script src="../resources/js-test-post.js"></script> |
| </body> |
| </html> |