68 lines
2.5 KiB
HTML
68 lines
2.5 KiB
HTML
<!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>
|