tizen beta release
[profile/ivi/webkit-efl.git] / LayoutTests / platform / mac / accessibility / stale-table-rows.html
1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
2 <html>
3 <head>
4 <script type="text/javascript" charset="utf-8">
5     
6 var choices = ['foo', 'bar', 'baz', 'baf', 'bop', 'bip'];
7     
8 function $(id){
9    return document.getElementById(id);
10 }
11 function node(tagName, role){
12     var el = document.createElement(tagName);
13     el.setAttribute('role', role);
14     return el;
15 }
16
17 function randomize(){
18
19     var d = $('myData');
20     d.innerHTML = ''; // clear it out first
21     for (var i=0; i<3; i++){
22         var row = node('tr', 'row');
23         d.appendChild(row);
24         for (var j=0; j<3; j++){
25             var cell = node('tr', 'gridcell');
26             cell.innerHTML = choices[Math.floor(Math.random()*choices.length)]; // populate cell with a random entry from 'choices' array: 'foo', 'bar', 'baz', etc.
27             row.appendChild(cell);
28         }
29     }
30 }
31
32 </script>
33 <script src="../../../fast/js/resources/js-test-pre.js"></script>
34 </head>
35 <body id="body">
36
37 <div role="grid" tabindex=0 id="grid1">
38   <div role="rowgroup">
39     <div role="row">
40     <span role="columnheader">A</span>
41     <span role="columnheader">B</span>
42     <span role="columnheader">C</span>
43   </div>
44 </div>
45 <div role="rowgroup" id="myData"><!-- to be populated by script --></div>
46 </div>
47
48 <p id="description"></p>
49 <div id="console"></div>
50
51 <script>
52
53     description("This tests that when a table has its DOM changed, all the table method still return the correct data.");
54
55     if (window.accessibilityController) {
56
57           randomize();
58           
59           document.getElementById("grid1").focus();
60           var grid = accessibilityController.focusedElement;
61           var rows = grid.rowCount;
62           var columns = grid.columnCount;
63           randomize();
64
65           // this used to crash in debug mode.
66           shouldBe("rows", "grid.rowCount");
67           shouldBe("columns", "grid.columnCount");
68
69           // clear out the data so that we get the same end results for our layout test.
70           var d = $('myData');
71           d.innerHTML = '';
72
73     }
74
75 </script>
76
77 <script src="../../../fast/js/resources/js-test-post.js"></script>
78 </body>
79 </html>