OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <html> | 2 <html> |
3 <body> | 3 <body> |
4 | 4 |
5 <script> | 5 <script> |
6 | 6 |
7 function setUp() { | 7 function setUp() { |
8 loadTimeData.data = { | 8 loadTimeData.data = { |
9 'deletableItemDeleteButtonTitle': 'test_deletable_button_title' | 9 'deletableItemDeleteButtonTitle': 'test_deletable_button_title' |
10 }; | 10 }; |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
101 // Export. | 101 // Export. |
102 return { | 102 return { |
103 TestItemList: TestItemList | 103 TestItemList: TestItemList |
104 }; | 104 }; |
105 | 105 |
106 }) | 106 }) |
107 } | 107 } |
108 | 108 |
109 /** | 109 /** |
110 * @param {!EventTarget} target Where to send the event. | 110 * @param {!EventTarget} target Where to send the event. |
111 * @param {!string} keyIdentifier Which key to send. | 111 * @param {!string} key Which key to send. |
112 */ | 112 */ |
113 function sendKeyDownEvent(target, keyIdentifier) { | 113 function sendKeyDownEvent(target, key) { |
114 var event = document.createEvent('KeyboardEvent'); | 114 var event = new KeyboardEvent('keydown', |
115 event.initKeyboardEvent('keydown', true, true, window, keyIdentifier); | 115 {bubbles: true, cancelable: true, key: key}); |
116 assertEquals(keyIdentifier, event.keyIdentifier); | |
117 target.dispatchEvent(event); | 116 target.dispatchEvent(event); |
118 } | 117 } |
119 | 118 |
120 /** | 119 /** |
121 * Test that exactly one item in the list is focusable after navigating the | 120 * Test that exactly one item in the list is focusable after navigating the |
122 * list using up and down arrow keys. | 121 * list using up and down arrow keys. |
123 */ | 122 */ |
124 function testUpDownFocus() { | 123 function testUpDownFocus() { |
125 var list = document.createElement('ul'); | 124 var list = document.createElement('ul'); |
126 list.style.position = 'absolute'; | 125 list.style.position = 'absolute'; |
127 list.style.width = '800px'; | 126 list.style.width = '800px'; |
128 list.style.height = '800px'; | 127 list.style.height = '800px'; |
129 options.TestItemList.decorate(list); | 128 options.TestItemList.decorate(list); |
130 document.body.appendChild(list); | 129 document.body.appendChild(list); |
131 | 130 |
132 var model = new cr.ui.ArrayDataModel(['itemA', 'itemB', 'itemC']); | 131 var model = new cr.ui.ArrayDataModel(['itemA', 'itemB', 'itemC']); |
133 list.dataModel = model; | 132 list.dataModel = model; |
134 list.selectionModel.setIndexSelected(0, true); | 133 list.selectionModel.setIndexSelected(0, true); |
135 list.selectionModel.leadIndex = 0; | 134 list.selectionModel.leadIndex = 0; |
136 | 135 |
137 assertTrue(list.hasExactlyOneItemFocusable(0)); | 136 assertTrue(list.hasExactlyOneItemFocusable(0)); |
138 sendKeyDownEvent(list, 'Down'); | 137 sendKeyDownEvent(list, 'ArrowDown'); |
139 assertTrue(list.hasExactlyOneItemFocusable(1)); | 138 assertTrue(list.hasExactlyOneItemFocusable(1)); |
140 sendKeyDownEvent(list, 'Down'); | 139 sendKeyDownEvent(list, 'ArrowDown'); |
141 assertTrue(list.hasExactlyOneItemFocusable(2)); | 140 assertTrue(list.hasExactlyOneItemFocusable(2)); |
142 sendKeyDownEvent(list, 'Up'); | 141 sendKeyDownEvent(list, 'ArrowUp'); |
143 assertTrue(list.hasExactlyOneItemFocusable(1)); | 142 assertTrue(list.hasExactlyOneItemFocusable(1)); |
144 sendKeyDownEvent(list, 'Up'); | 143 sendKeyDownEvent(list, 'ArrowUp'); |
145 assertTrue(list.hasExactlyOneItemFocusable(0)); | 144 assertTrue(list.hasExactlyOneItemFocusable(0)); |
146 sendKeyDownEvent(list, 'Down'); | 145 sendKeyDownEvent(list, 'ArrowDown'); |
147 assertTrue(list.hasExactlyOneItemFocusable(1)); | 146 assertTrue(list.hasExactlyOneItemFocusable(1)); |
148 } | 147 } |
149 | 148 |
150 </script> | 149 </script> |
151 | 150 |
152 </body> | 151 </body> |
153 </html> | 152 </html> |
OLD | NEW |