| <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> |
| <html> |
| <head> |
| <script type="text/javascript" charset="utf-8"> |
| |
| var choices = ['foo', 'bar', 'baz', 'baf', 'bop', 'bip']; |
| |
| function $(id){ |
| return document.getElementById(id); |
| } |
| function node(tagName, role){ |
| var el = document.createElement(tagName); |
| el.setAttribute('role', role); |
| return el; |
| } |
| |
| function randomize(){ |
| |
| var d = $('myData'); |
| d.innerHTML = ''; // clear it out first |
| for (var i=0; i<3; i++){ |
| var row = node('tr', 'row'); |
| d.appendChild(row); |
| for (var j=0; j<3; j++){ |
| var cell = node('tr', 'gridcell'); |
| cell.innerHTML = choices[Math.floor(Math.random()*choices.length)]; // populate cell with a random entry from 'choices' array: 'foo', 'bar', 'baz', etc. |
| row.appendChild(cell); |
| } |
| } |
| } |
| |
| </script> |
| <script src="../../resources/js-test-pre.js"></script> |
| </head> |
| <body id="body"> |
| |
| <div role="grid" tabindex=0 id="grid1"> |
| <div role="rowgroup"> |
| <div role="row"> |
| <span role="columnheader">A</span> |
| <span role="columnheader">B</span> |
| <span role="columnheader">C</span> |
| </div> |
| </div> |
| <div role="rowgroup" id="myData"><!-- to be populated by script --></div> |
| </div> |
| |
| <p id="description"></p> |
| <div id="console"></div> |
| |
| <script> |
| |
| description("This tests that when a table has its DOM changed, all the table method still return the correct data."); |
| |
| if (window.accessibilityController) { |
| |
| randomize(); |
| |
| document.getElementById("grid1").focus(); |
| var grid = accessibilityController.focusedElement; |
| var rows = grid.rowCount; |
| var columns = grid.columnCount; |
| randomize(); |
| |
| // this used to crash in debug mode. |
| shouldBe("rows", "grid.rowCount"); |
| shouldBe("columns", "grid.columnCount"); |
| |
| // clear out the data so that we get the same end results for our layout test. |
| var d = $('myData'); |
| d.innerHTML = ''; |
| |
| } |
| |
| </script> |
| |
| <script src="../../resources/js-test-post.js"></script> |
| </body> |
| </html> |