| <html> |
| <head> |
| <title></title> |
| </head> |
| <body> |
| <p>This test verifies a drop-down menu can refine the selection when we send keydown events consisting of Cyrillic characters.</p> |
| <select id="test"> |
| <option value="-1">should not see me</option> |
| <option value="0">А</option> |
| <option value="1">АБ</option> |
| <option value="2">АБВ</option> |
| <option value="3">АБВГ</option> |
| <option value="4">АБВГД</option> |
| <option value="5">АБВГДЕ</option> |
| <option value="6">АБВГДЕЖ</option> |
| <option value="7">АБВГДЕЖЗ</option> |
| <option value="8">АБВГДЕЖЗИ</option> |
| <option value="9">АБВГДЕЖЗИЙ</option> |
| <option value="10">АБВГДЕЖЗИЙК</option> |
| <option value="11">АБВГДЕЖЗИЙКЛ</option> |
| <option value="12">АБВГДЕЖЗИЙКЛМ</option> |
| <option value="13">АБВГДЕЖЗИЙКЛМН</option> |
| <option value="14">АБВГДЕЖЗИЙКЛМНО</option> |
| <option value="15">АБВГДЕЖЗИЙКЛМНОП</option> |
| <option value="16">АБВГДЕЖЗИЙКЛМНОПР</option> |
| <option value="17">АБВГДЕЖЗИЙКЛМНОПРС</option> |
| <option value="18">АБВГДЕЖЗИЙКЛМНОПРСТ</option> |
| <option value="19">АБВГДЕЖЗИЙКЛМНОПРСТУ</option> |
| <option value="20">АБВГДЕЖЗИЙКЛМНОПРСТУФ</option> |
| <option value="21">АБВГДЕЖЗИЙКЛМНОПРСТУФХ</option> |
| <option value="22">АБВГДЕЖЗИЙКЛМНОПРСТУФХЦ</option> |
| <option value="23">АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧ</option> |
| <option value="24">АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШ</option> |
| <option value="25">АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩ</option> |
| <option value="26">АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪ</option> |
| <option value="27">АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫ</option> |
| <option value="28">АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬ</option> |
| <option value="29">АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭ</option> |
| <option value="30">АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮ</option> |
| <option value="31">АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ</option> |
| </select> |
| <ul id="console"></ul> |
| </body> |
| <script> |
| function log(str) { |
| var li = document.createElement("li"); |
| li.appendChild(document.createTextNode(str)); |
| var console = document.getElementById("console"); |
| console.appendChild(li); |
| } |
| |
| if (window.testRunner) |
| window.testRunner.dumpAsText(); |
| |
| // Set the input focus to the <select> element. |
| var node = document.getElementById("test"); |
| node.focus(); |
| |
| var base = 0x0430; |
| for (var i = base; i <= 0x044F; i++) { |
| // Send a key event consisting of a Cyrillic small character. |
| eventSender.keyDown(String.fromCharCode(i)); |
| |
| // Compare the value of this <select> element with the expected result. |
| if (node.value == i - base) |
| log('SUCCEEDED'); |
| else |
| log('FAILED: expected="' + i + '", actual="' + node.value + '".'); |
| } |
| </script> |
| </html> |