gecko/accessible/tests/mochitest/test_table_indexes.html

409 lines
9.0 KiB
HTML

<!DOCTYPE html>
<html>
<!--
https://bugzilla.mozilla.org/show_bug.cgi?id=410052
-->
<head>
<title>Table indexes chrome tests</title>
<link rel="stylesheet" type="text/css"
href="chrome://mochikit/content/tests/SimpleTest/test.css" />
<script type="application/javascript"
src="chrome://mochikit/content/MochiKit/packed.js"></script>
<script type="application/javascript"
src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript"
src="chrome://mochikit/content/a11y/accessible/common.js"></script>
<script type="application/javascript"
src="chrome://mochikit/content/a11y/accessible/table.js"></script>
<script type="application/javascript">
function doTest()
{
//////////////////////////////////////////////////////////////////////////
// table
var idxes = [
[0, 1, 2],
[3, 4, 5],
[6, 7, 7],
[6, 8, 9]
];
testTableIndexes("table", idxes);
//////////////////////////////////////////////////////////////////////////
// tableborder
idxes = [
[0, 1, 2],
[3, 4, 5],
[6, 7, 7],
[6, 8, 9]
];
testTableIndexes("tableborder", idxes);
//////////////////////////////////////////////////////////////////////////
// table
var idxes = [
[ 0, 1, 2, 2, 3, 4, 5, 6],
[ 7, 8, 9, 10, 11, 12, 13, 6],
[14, 15, 15, 16, 17, 18, 19, 6],
[20, 15, 15, 21, 22, 18, 23, 6]
];
testTableIndexes("table2", idxes);
//////////////////////////////////////////////////////////////////////////
// tableinsane1 (empty row groups)
idxes = [
[0, 1, 2],
[3, 4, 5],
[6, 7, 7],
[6, 8, 9]
];
testTableIndexes("tableinsane1", idxes);
//////////////////////////////////////////////////////////////////////////
// tableinsane2 (empry rows)
idxes = [
[-1, -1, -1],
[-1, -1, -1],
[ 0, 1, 2]
];
testTableIndexes("tableinsane2", idxes);
//////////////////////////////////////////////////////////////////////////
// tableinsane3 (cell holes)
idxes = [
[0, 1, -1],
[2, 3, 4]
];
testTableIndexes("tableinsane3", idxes);
//////////////////////////////////////////////////////////////////////////
// tableinsane3.2 (cell holes, row spans, fixed in bug 417912)
idxes = [
[0, 1, 2],
[3, -1, 2],
[4, 5, 2]
];
testTableIndexes("tableinsane3.2", idxes);
//////////////////////////////////////////////////////////////////////////
// tableinsane4 (empty row groups/rows and cell holes)
idxes = [
[ 0, 1, 2],
[-1, -1, -1],
[ 3, 4, 5],
[ 6, 6, 7],
[ 8, -1, 7],
[ 9, 9, 9]
];
testTableIndexes("tableinsane4", idxes);
//////////////////////////////////////////////////////////////////////////
// tableinsane5 (just a crazy table)
idxes = [
[ 0, 1, 2, -1, -1],
[-1, -1, -1, -1, -1],
[ 3, 4, 5, -1, -1],
[ 6, 7, 7, 7, 7],
[ 6, 8, 9, -1, -1],
[ 6, 10, 9, 11, 12]
];
testTableIndexes("tableinsane5", idxes);
//////////////////////////////////////////////////////////////////////////
// tableinsane6 (overlapping cells, mad table)
idxes = [
[ 0, 1, 2, -1, -1],
[-1, -1, -1, -1, -1],
[ 3, 4, 5, -1, -1],
[ 6, 6, 7, -1, -1],
[ 8, 9, 7, -1, -1],
[ 10, 9, 7, 11, 12]
];
testTableIndexes("tableinsane6", idxes);
SimpleTest.finish();
}
SimpleTest.waitForExplicitFinish();
addA11yLoadEvent(doTest);
</script>
</head>
<body>
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=410052">Mozilla Bug 410052</a>
<p id="display"></p>
<div id="content" style="display: none"></div>
<pre id="test">
</pre>
<!--
If you change the structure of the table please make sure to change
the indexes count in 'for' statement in the script above.
-->
<table border="1" id="table">
<caption><strong><b><font size="29">this is a caption for this table</font></b></strong></caption>
<thead>
<tr>
<th>col1</th>
<th>col2</th>
<th>col3</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
<tr>
<td rowspan="0">4</td>
<td colspan="2">5</td>
</tr>
<tr>
<td>6</td>
<td>7</td>
</tr>
</tbody>
</table>
<table border="1" id="tableborder" style="border-collapse:collapse">
<caption><strong><b><font size="29">this is a caption for this bc table</font></b></strong></caption>
<thead>
<tr>
<th>col1</th>
<th>col2</th>
<th>col3</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
<tr>
<td rowspan="2">4</td>
<td colspan="2">5</td>
</tr>
<tr>
<td>6</td>
<td>7</td>
</tr>
</tbody>
</table>
<table cellpadding="2" cellspacing="2" border="1" width="50%" id="table2">
<caption>column and row spans</caption>
<tbody>
<tr>
<td>0</td>
<td>1</td>
<td rowspan="1" colspan="2">2</td>
<td>3</td>
<td>4</td>
<td>5</td>
<td rowspan="4" colspan="1">6</td>
</tr>
<tr>
<td>7</td>
<td>8</td>
<td>8</td>
<td>10</td>
<td>11</td>
<td>12</td>
<td>13</td>
</tr>
<tr>
<td>14</td>
<td rowspan="2" colspan="2">15</td>
<td>16</td>
<td>17</td>
<td rowspan="2" colspan="1">18</td>
<td>19</td>
</tr>
<tr>
<td>20</td>
<td>21</td>
<td>22</td>
<td>23</td>
</tr>
</tbody>
</table>
<table border="1" id="tableinsane1">
<caption>test empty row groups</caption>
<thead>
<tr>
<th>col1</th>
<th>col2</th>
<th>col3</th>
</tr>
</thead>
<tbody></tbody>
<tbody></tbody>
<tbody></tbody>
<tbody>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
<tr>
<td rowspan="2">4</td>
<td colspan="2">5</td>
</tr>
<tr>
<td>6</td>
<td>7</td>
</tr>
</tbody>
</table>
<table border="1" id="tableinsane2">
<caption>empty rows</caption>
<tbody><tr></tr><tr></tr></tbody>
<tbody></tbody>
<tbody>
<tr>
<td>0</td>
<td>1</td>
<td>2</td>
</tr>
</tbody>
</table>
<table border="1" id="tableinsane3">
<caption>missed cell</caption>
<tbody>
<tr>
<td>0</td>
<td>1</td>
</tr>
</tbody>
<tbody>
<tr>
<td>2</td>
<td>3</td>
<td>4</td>
</tr>
</tbody>
</table>
<table cellpadding="2" cellspacing="2" border="1" id="tableinsane3.2">
<tr><td>1</td><td>2</td><td rowspan=3>3</td>
<tr><td>4</td>
<tr><td>5</td><td>6</td>
</table>
<table border="1" id="tableinsane4">
<caption>test empty rows + cellmap holes</caption>
<thead>
<tr>
<th>col1</th>
<th>col2</th>
<th>col3</th>
</tr>
</thead>
<tbody><tr></tr></tbody>
<tbody></tbody>
<tbody></tbody>
<tbody>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
<tr>
<td colspan="2">4</td>
<td rowspan="2">5</td>
</tr>
<tr>
<td>6</td>
</tr>
<tr>
<td colspan="3">7</td>
</tr>
</tbody>
</table>
<table border="1" id="tableinsane5">
<caption>just a crazy table</caption>
<thead>
<tr>
<th>col1</th>
<th>col2</th>
<th>col3</th>
</tr>
</thead>
<tbody><tr></tr></tbody>
<tbody></tbody>
<tbody></tbody>
<tbody>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
<tr>
<td rowspan="0">4</td>
<td colspan="0">5</td>
</tr>
<tr>
<td>6</td>
<td rowspan="0">7</td>
</tr>
<tr>
<td>8</td>
<td>9</td>
<td>10</td>
</tr>
</tbody>
<table border="1" id="tableinsane6" >
<caption>overlapping cells</caption>
<thead>
<tr>
<th>header cell 0</th>
<th>header cell 1</th>
<th>header cell 2</th>
</tr>
</thead>
<tbody><tr></tr></tbody>
<tbody></tbody>
<tbody></tbody>
<tbody>
<tr>
<td>3</td>
<td>4</td>
<td>5</td>
</tr>
<tr>
<td colspan="2">6</td>
<td rowspan="0">7</td>
</tr>
<tr>
<td>8</td>
<td rowspan="0">9</td>
</tr>
<tr>
<td colspan="3">10</td>
<td>11</td>
<td>12</td>
</tr>
</tbody>
</table>
</body>
</html>