1<html>
2 <!--
3 This test ensures the correctness of Spatial Navigation (SNav) algorithm over single select element.
4
5 * Pre-conditions:
6 1) DRT support for SNav enable/disable.
7
8 * Navigation steps:
9 1) Loads this page, focus goes to "start" automatically.
10 2) Focus moves away from select in 4 different directions to neighbor nodes and back.
11 -->
12 <head>
13 <script src="../../js/resources/js-test-pre.js"></script>
14 <script src="resources/spatial-navigation-utils.js"></script>
15 <script type="application/javascript">
16
17 var resultMap = [
18 ["Down", "down"],
19 ["Down", "8"],
20 ["Up", "down"],
21 ["Up", "start"],
22 ["Up", "up"],
23 ["Up", "2"],
24 ["Down", "up"],
25 ["Down", "start"],
26 ["Right", "right"],
27 ["Right", "6"],
28 ["Left", "right"],
29 ["Left", "start"],
30 ["Left", "left"],
31 ["Left", "4"],
32 ["Right", "left"],
33 ["Right", "start"],
34 ["DONE", "DONE"]
35 ];
36
37 if (window.layoutTestController) {
38 layoutTestController.dumpAsText();
39 layoutTestController.setSpatialNavigationEnabled(true);
40 layoutTestController.overridePreference("WebKitTabToLinksPreferenceKey", 1);
41 layoutTestController.waitUntilDone();
42 }
43
44 function runTest()
45 {
46 // starting the test itself: get to a known place.
47 document.getElementById("start").focus();
48
49 initTest(resultMap, testCompleted);
50 }
51
52 function testCompleted()
53 {
54 if (window.layoutTestController)
55 shouldBe("document.getElementById('down').checked", "true");
56 layoutTestController.notifyDone();
57 }
58
59 window.onload = runTest;
60
61 </script>
62 <script src="../js/resources/js-test-post.js"></script>
63 </head>
64 <body id="some-content" xmlns="http://www.w3.org/1999/xhtml">
65 <table style="text-align: left; width: 100%; margin-left: auto; margin-right: auto;" border="1" cellpadding="2" cellspacing="1">
66 <tbody>
67 <tr>
68 <td style="vertical-align: center; text-align: center;"></td>
69 <td style="vertical-align: center; text-align: center;"><a id="2" href="a">2</a></td>
70 <td style="vertical-align: center; text-align: center;"></td>
71 </tr>
72 <tr>
73 <td style="vertical-align: center; text-align: center;"><a id="4" href="a">4</a></td>
74 <td style="vertical-align: center; text-align: center;">
75 <table style="text-align: center; width: 100%; margin-left: auto; margin-right: auto;" border="1" cellpadding="2" cellspacing="1">
76 <tbody>
77 <tr>
78 <td style="vertical-align: center; text-align: center;"></td>
79 <td style="vertical-align: center; text-align: center;"><input type="radio" name="group" id="up" ></td>
80 <td style="vertical-align: center; text-align: center;"></td>
81 </tr>
82 <tr>
83 <td style="vertical-align: center; text-align: center;"><input type="radio" name="group" id="left" ></td>
84 <td style="vertical-align: center; text-align: center;">
85 <input type="radio" name="group" id="start" >
86 </td>
87 <td style="vertical-align: center; text-align: center;"><input type="radio" name="group" id="right" ></td>
88 </tr>
89 <tr>
90 <td style="vertical-align: center; text-align: center;"></td>
91 <td style="vertical-align: center; text-align: center;"><input type="radio" name="group" id="down" checked ></td>
92 <td style="vertical-align: center; text-align: center;"></td>
93 </tr>
94 </tbody>
95 </table>
96 </td>
97 <td style="vertical-align: center; text-align: center;"><a id="6" href="a">6</a></td>
98 </tr>
99 <tr>
100 <td style="vertical-align: center; text-align: center;"></td>
101 <td style="vertical-align: center; text-align: center;"><a id="8" href="a">8</a></td>
102 <td style="vertical-align: center; text-align: center;"></td>
103 </tr>
104 </tbody>
105 </table>
106 <div id="console"></div>
107 </body>
108</html>
109