blob: ae0bcf768d125ee5de2f47f8e417808de6d42ba5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<script src="../../resources/js-test.js"></script>
</head>
<body>
<script type="text/javascript">
description('Tests for speech button click with <input type="text" speech>.');
function startSpeechInput(id) {
// Clicking the speech button should fill in mock speech-recognized text.
debug('Clicking on speech button.');
var input = document.getElementById(id);
var isRTL = input.dir == 'rtl';
var x = 0;
if (isRTL)
x = input.offsetLeft + 4;
else
x = input.offsetLeft + input.offsetWidth - 4;
var y = input.offsetTop + input.offsetHeight / 2;
if (!isRTL && input.style.paddingRight.length)
x -= parseInt(input.style.paddingRight.substr(0, input.style.paddingRight.length - 2));
else if (isRTL && input.style.paddingLeft.length)
x += parseInt(input.style.paddingLeft.substr(0, input.style.paddingLeft.length - 2));
eventSender.mouseMoveTo(x, y);
eventSender.mouseDown();
eventSender.mouseUp();
}
function run() {
if (window.testRunner && window.eventSender) {
testRunner.addMockSpeechInputResult('Pictures of the moon', 1.0, '');
startSpeechInput('input1');
}
}
function onFocus() {
document.getElementById('input2').focus();
}
function onSpeechChange() {
shouldBeEqualToString('document.getElementById("input1").value', 'Pictures of the moon');
shouldBeEqualToString('document.getElementById("input2").value', '');
finishJSTest();
}
window.onload = run;
window.jsTestIsAsync = true;
</script>
<input id='input1' x-webkit-speech onfocus="onFocus()" onwebkitspeechchange="onSpeechChange()">
<input id='input2'>
</body>
</html>
|