72 lines
6.3 KiB
HTML
72 lines
6.3 KiB
HTML
<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>
|