| OLD | NEW |
| 1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
| 2 <html> | 2 <html> |
| 3 <head> | 3 <head> |
| 4 <script src="../../../resources/js-test.js"></script> | 4 <script src="../../../resources/js-test.js"></script> |
| 5 <script src="../resources/common.js"></script> | 5 <script src="../resources/common.js"></script> |
| 6 <script src="../resources/picker-common.js"></script> | 6 <script src="../resources/picker-common.js"></script> |
| 7 </head> | 7 </head> |
| 8 <body> | 8 <body> |
| 9 <select id="menu"> | 9 <select id="menu"> |
| 10 <option>foo</option> | 10 <option>foo</option> |
| (...skipping 12 matching lines...) Expand all Loading... |
| 23 finishJSTest(); | 23 finishJSTest(); |
| 24 } | 24 } |
| 25 openPicker(menu, test1, openPickerErrorCallback); | 25 openPicker(menu, test1, openPickerErrorCallback); |
| 26 | 26 |
| 27 function test1() { | 27 function test1() { |
| 28 picker = window.internals.pagePopupWindow.global.picker; | 28 picker = window.internals.pagePopupWindow.global.picker; |
| 29 shouldBeEqualToString('picker._selectElement.value', '1'); | 29 shouldBeEqualToString('picker._selectElement.value', '1'); |
| 30 shouldBeEqualToString('menu.value', 'bar'); | 30 shouldBeEqualToString('menu.value', 'bar'); |
| 31 shouldBeEqualToString('internals.selectMenuListText(menu)', 'bar'); | 31 shouldBeEqualToString('internals.selectMenuListText(menu)', 'bar'); |
| 32 | 32 |
| 33 eventSender.keyDown('downArrow'); | 33 eventSender.keyDown('ArrowDown'); |
| 34 shouldBeEqualToString('picker._selectElement.value', '4'); | 34 shouldBeEqualToString('picker._selectElement.value', '4'); |
| 35 shouldBeEqualToString('menu.value', 'bar'); | 35 shouldBeEqualToString('menu.value', 'bar'); |
| 36 shouldBeEqualToString('internals.selectMenuListText(menu)', 'garply'); | 36 shouldBeEqualToString('internals.selectMenuListText(menu)', 'garply'); |
| 37 | 37 |
| 38 eventSender.keyDown('downArrow'); | 38 eventSender.keyDown('ArrowDown'); |
| 39 shouldBeEqualToString('picker._selectElement.value', '4'); | 39 shouldBeEqualToString('picker._selectElement.value', '4'); |
| 40 shouldBeEqualToString('menu.value', 'bar'); | 40 shouldBeEqualToString('menu.value', 'bar'); |
| 41 shouldBeEqualToString('internals.selectMenuListText(menu)', 'garply'); | 41 shouldBeEqualToString('internals.selectMenuListText(menu)', 'garply'); |
| 42 | 42 |
| 43 eventSender.keyDown('upArrow'); | 43 eventSender.keyDown('ArrowUp'); |
| 44 shouldBeEqualToString('picker._selectElement.value', '1'); | 44 shouldBeEqualToString('picker._selectElement.value', '1'); |
| 45 shouldBeEqualToString('menu.value', 'bar'); | 45 shouldBeEqualToString('menu.value', 'bar'); |
| 46 shouldBeEqualToString('internals.selectMenuListText(menu)', 'bar'); | 46 shouldBeEqualToString('internals.selectMenuListText(menu)', 'bar'); |
| 47 | 47 |
| 48 eventSender.keyDown('upArrow'); | 48 eventSender.keyDown('ArrowUp'); |
| 49 shouldBeEqualToString('picker._selectElement.value', '0'); | 49 shouldBeEqualToString('picker._selectElement.value', '0'); |
| 50 shouldBeEqualToString('menu.value', 'bar'); | 50 shouldBeEqualToString('menu.value', 'bar'); |
| 51 shouldBeEqualToString('internals.selectMenuListText(menu)', 'foo'); | 51 shouldBeEqualToString('internals.selectMenuListText(menu)', 'foo'); |
| 52 | 52 |
| 53 eventSender.keyDown('upArrow'); | 53 eventSender.keyDown('ArrowUp'); |
| 54 shouldBeEqualToString('picker._selectElement.value', '0'); | 54 shouldBeEqualToString('picker._selectElement.value', '0'); |
| 55 shouldBeEqualToString('menu.value', 'bar'); | 55 shouldBeEqualToString('menu.value', 'bar'); |
| 56 shouldBeEqualToString('internals.selectMenuListText(menu)', 'foo'); | 56 shouldBeEqualToString('internals.selectMenuListText(menu)', 'foo'); |
| 57 | 57 |
| 58 eventSender.keyDown('\n'); | 58 eventSender.keyDown('Enter'); |
| 59 shouldBeNull('window.internals.pagePopupWindow'); | 59 shouldBeNull('window.internals.pagePopupWindow'); |
| 60 shouldBeEqualToString('menu.value', 'foo'); | 60 shouldBeEqualToString('menu.value', 'foo'); |
| 61 shouldBeEqualToString('internals.selectMenuListText(menu)', 'foo'); | 61 shouldBeEqualToString('internals.selectMenuListText(menu)', 'foo'); |
| 62 | 62 |
| 63 waitUntilClosing(function() { | 63 waitUntilClosing(function() { |
| 64 openPicker(menu, test2, openPickerErrorCallback); | 64 openPicker(menu, test2, openPickerErrorCallback); |
| 65 }); | 65 }); |
| 66 } | 66 } |
| 67 | 67 |
| 68 function test2() { | 68 function test2() { |
| 69 picker = window.internals.pagePopupWindow.global.picker; | 69 picker = window.internals.pagePopupWindow.global.picker; |
| 70 shouldBeEqualToString('picker._selectElement.value', '0'); | 70 shouldBeEqualToString('picker._selectElement.value', '0'); |
| 71 shouldBeEqualToString('internals.selectMenuListText(menu)', 'foo'); | 71 shouldBeEqualToString('internals.selectMenuListText(menu)', 'foo'); |
| 72 | 72 |
| 73 eventSender.keyDown('downArrow'); | 73 eventSender.keyDown('ArrowDown'); |
| 74 shouldBeEqualToString('picker._selectElement.value', '1'); | 74 shouldBeEqualToString('picker._selectElement.value', '1'); |
| 75 shouldBeEqualToString('menu.value', 'foo'); | 75 shouldBeEqualToString('menu.value', 'foo'); |
| 76 shouldBeEqualToString('internals.selectMenuListText(menu)', 'bar'); | 76 shouldBeEqualToString('internals.selectMenuListText(menu)', 'bar'); |
| 77 | 77 |
| 78 // Escape should close the popup and select that keyboard selected item. | 78 // Escape should close the popup and select that keyboard selected item. |
| 79 eventSender.keyDown('escape'); | 79 eventSender.keyDown('Escape'); |
| 80 shouldBeNull('window.internals.pagePopupWindow'); | 80 shouldBeNull('window.internals.pagePopupWindow'); |
| 81 shouldBeEqualToString('menu.value', 'bar'); | 81 shouldBeEqualToString('menu.value', 'bar'); |
| 82 shouldBeEqualToString('internals.selectMenuListText(menu)', 'bar'); | 82 shouldBeEqualToString('internals.selectMenuListText(menu)', 'bar'); |
| 83 | 83 |
| 84 waitUntilClosing(function() { | 84 waitUntilClosing(function() { |
| 85 openPicker(menu, test3, openPickerErrorCallback); | 85 openPicker(menu, test3, openPickerErrorCallback); |
| 86 }); | 86 }); |
| 87 } | 87 } |
| 88 | 88 |
| 89 function test3() { | 89 function test3() { |
| 90 picker = window.internals.pagePopupWindow.global.picker; | 90 picker = window.internals.pagePopupWindow.global.picker; |
| 91 shouldBeEqualToString('picker._selectElement.value', '1'); | 91 shouldBeEqualToString('picker._selectElement.value', '1'); |
| 92 shouldBeEqualToString('internals.selectMenuListText(menu)', 'bar'); | 92 shouldBeEqualToString('internals.selectMenuListText(menu)', 'bar'); |
| 93 | 93 |
| 94 eventSender.keyDown('g'); | 94 eventSender.keyDown('g'); |
| 95 shouldBeEqualToString('picker._selectElement.value', '4'); | 95 shouldBeEqualToString('picker._selectElement.value', '4'); |
| 96 shouldBeEqualToString('menu.value', 'bar'); | 96 shouldBeEqualToString('menu.value', 'bar'); |
| 97 shouldBeEqualToString('internals.selectMenuListText(menu)', 'garply'); | 97 shouldBeEqualToString('internals.selectMenuListText(menu)', 'garply'); |
| 98 | 98 |
| 99 // Escape should close the popup and select that keyboard selected item. | 99 // Escape should close the popup and select that keyboard selected item. |
| 100 eventSender.keyDown('escape'); | 100 eventSender.keyDown('Escape'); |
| 101 shouldBeNull('window.internals.pagePopupWindow'); | 101 shouldBeNull('window.internals.pagePopupWindow'); |
| 102 shouldBeEqualToString('menu.value', 'garply'); | 102 shouldBeEqualToString('menu.value', 'garply'); |
| 103 shouldBeEqualToString('internals.selectMenuListText(menu)', 'garply'); | 103 shouldBeEqualToString('internals.selectMenuListText(menu)', 'garply'); |
| 104 | 104 |
| 105 waitUntilClosing(function() { | 105 waitUntilClosing(function() { |
| 106 openPicker(menu, test4, openPickerErrorCallback); | 106 openPicker(menu, test4, openPickerErrorCallback); |
| 107 }); | 107 }); |
| 108 } | 108 } |
| 109 | 109 |
| 110 function test4() { | 110 function test4() { |
| 111 picker = window.internals.pagePopupWindow.global.picker; | 111 picker = window.internals.pagePopupWindow.global.picker; |
| 112 shouldBeEqualToString('picker._selectElement.value', '4'); | 112 shouldBeEqualToString('picker._selectElement.value', '4'); |
| 113 shouldBeEqualToString('internals.selectMenuListText(menu)', 'garply'); | 113 shouldBeEqualToString('internals.selectMenuListText(menu)', 'garply'); |
| 114 | 114 |
| 115 hoverOverElement(picker._selectElement.children[0]); | 115 hoverOverElement(picker._selectElement.children[0]); |
| 116 shouldBeEqualToString('picker._selectElement.value', '0'); | 116 shouldBeEqualToString('picker._selectElement.value', '0'); |
| 117 shouldBeEqualToString('menu.value', 'garply'); | 117 shouldBeEqualToString('menu.value', 'garply'); |
| 118 shouldBeEqualToString('internals.selectMenuListText(menu)', 'garply'); | 118 shouldBeEqualToString('internals.selectMenuListText(menu)', 'garply'); |
| 119 | 119 |
| 120 // Escape should close the popup. Simply hovering over an item should not se
lect it. | 120 // Escape should close the popup. Simply hovering over an item should not se
lect it. |
| 121 eventSender.keyDown('escape'); | 121 eventSender.keyDown('Escape'); |
| 122 shouldBeNull('window.internals.pagePopupWindow'); | 122 shouldBeNull('window.internals.pagePopupWindow'); |
| 123 shouldBeEqualToString('menu.value', 'garply'); | 123 shouldBeEqualToString('menu.value', 'garply'); |
| 124 shouldBeEqualToString('internals.selectMenuListText(menu)', 'garply'); | 124 shouldBeEqualToString('internals.selectMenuListText(menu)', 'garply'); |
| 125 | 125 |
| 126 waitUntilClosing(function() { | 126 waitUntilClosing(function() { |
| 127 openPicker(menu, test5, openPickerErrorCallback); | 127 openPicker(menu, test5, openPickerErrorCallback); |
| 128 }); | 128 }); |
| 129 } | 129 } |
| 130 | 130 |
| 131 function test5() { | 131 function test5() { |
| 132 picker = window.internals.pagePopupWindow.global.picker; | 132 picker = window.internals.pagePopupWindow.global.picker; |
| 133 shouldBeEqualToString('picker._selectElement.value', '4'); | 133 shouldBeEqualToString('picker._selectElement.value', '4'); |
| 134 shouldBeEqualToString('internals.selectMenuListText(menu)', 'garply'); | 134 shouldBeEqualToString('internals.selectMenuListText(menu)', 'garply'); |
| 135 | 135 |
| 136 hoverOverElement(picker._selectElement.children[0]); | 136 hoverOverElement(picker._selectElement.children[0]); |
| 137 shouldBeEqualToString('picker._selectElement.value', '0'); | 137 shouldBeEqualToString('picker._selectElement.value', '0'); |
| 138 shouldBeEqualToString('menu.value', 'garply'); | 138 shouldBeEqualToString('menu.value', 'garply'); |
| 139 shouldBeEqualToString('internals.selectMenuListText(menu)', 'garply'); | 139 shouldBeEqualToString('internals.selectMenuListText(menu)', 'garply'); |
| 140 | 140 |
| 141 // leftArrow doesn't change the selection in the popup. So, | 141 // ArrowLeft doesn't change the selection in the popup. So, |
| 142 // selectMenuListText won't change. | 142 // selectMenuListText won't change. |
| 143 eventSender.keyDown('leftArrow'); | 143 eventSender.keyDown('ArrowLeft'); |
| 144 shouldBeEqualToString('picker._selectElement.value', '0'); | 144 shouldBeEqualToString('picker._selectElement.value', '0'); |
| 145 shouldBeEqualToString('menu.value', 'garply'); | 145 shouldBeEqualToString('menu.value', 'garply'); |
| 146 shouldBeEqualToString('internals.selectMenuListText(menu)', 'garply'); | 146 shouldBeEqualToString('internals.selectMenuListText(menu)', 'garply'); |
| 147 | 147 |
| 148 eventSender.keyDown('escape'); | 148 eventSender.keyDown('Escape'); |
| 149 shouldBeNull('window.internals.pagePopupWindow'); | 149 shouldBeNull('window.internals.pagePopupWindow'); |
| 150 shouldBeEqualToString('menu.value', 'garply'); | 150 shouldBeEqualToString('menu.value', 'garply'); |
| 151 shouldBeEqualToString('internals.selectMenuListText(menu)', 'garply'); | 151 shouldBeEqualToString('internals.selectMenuListText(menu)', 'garply'); |
| 152 menu.selectedIndex = 0; | 152 menu.selectedIndex = 0; |
| 153 | 153 |
| 154 waitUntilClosing(function() { | 154 waitUntilClosing(function() { |
| 155 openPicker(menu, test6, openPickerErrorCallback); | 155 openPicker(menu, test6, openPickerErrorCallback); |
| 156 }); | 156 }); |
| 157 } | 157 } |
| 158 | 158 |
| 159 function test6() { | 159 function test6() { |
| 160 picker = window.internals.pagePopupWindow.global.picker; | 160 picker = window.internals.pagePopupWindow.global.picker; |
| 161 shouldBeEqualToString('picker._selectElement.value', '0'); | 161 shouldBeEqualToString('picker._selectElement.value', '0'); |
| 162 shouldBeEqualToString('internals.selectMenuListText(menu)', 'foo'); | 162 shouldBeEqualToString('internals.selectMenuListText(menu)', 'foo'); |
| 163 | 163 |
| 164 eventSender.keyDown('downArrow'); | 164 eventSender.keyDown('ArrowDown'); |
| 165 shouldBeEqualToString('picker._selectElement.value', '1'); | 165 shouldBeEqualToString('picker._selectElement.value', '1'); |
| 166 shouldBeEqualToString('menu.value', 'foo'); | 166 shouldBeEqualToString('menu.value', 'foo'); |
| 167 shouldBeEqualToString('internals.selectMenuListText(menu)', 'bar'); | 167 shouldBeEqualToString('internals.selectMenuListText(menu)', 'bar'); |
| 168 | 168 |
| 169 clickElement(picker._selectElement.children[0]); | 169 clickElement(picker._selectElement.children[0]); |
| 170 shouldBeNull('window.internals.pagePopupWindow'); | 170 shouldBeNull('window.internals.pagePopupWindow'); |
| 171 shouldBeEqualToString('menu.value', 'foo'); | 171 shouldBeEqualToString('menu.value', 'foo'); |
| 172 shouldBeEqualToString('internals.selectMenuListText(menu)', 'foo'); | 172 shouldBeEqualToString('internals.selectMenuListText(menu)', 'foo'); |
| 173 | 173 |
| 174 finishJSTest(); | 174 finishJSTest(); |
| 175 } | 175 } |
| 176 </script> | 176 </script> |
| 177 </body> | 177 </body> |
| 178 </html> | 178 </html> |
| OLD | NEW |