summaryrefslogtreecommitdiffstats
path: root/third_party/WebKit/LayoutTests/fast/forms/input-readonly-select.html
blob: 1515e8f757e920ad1ed8eb7f0c6032acd28a93c3 (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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
<!DOCTYPE html>
<html><body>
<script src="../../resources/js-test.js"></script>

<div id="container">
    <input id="input" type="text" value="something">
    <input id="readonlyInput" type="text" readonly value="something">
    <input id="disabledInput" type="text" disabled value="something">

    <textarea id="textarea">something</textarea>
    <textarea id="readonlyTextarea" readonly>something</textarea>
    <textarea id="disabledTextarea" disabled>something</textarea>
</div>
<pre id="console"></pre>

<script>
function doubleClickOn(element)
{
    var x = element.offsetLeft + element.offsetWidth / 2;
    var y = element.offsetTop + element.offsetHeight / 2;

    eventSender.mouseMoveTo(x, y);
    eventSender.mouseDown();
    eventSender.mouseUp();
    eventSender.mouseDown();
    eventSender.mouseUp();
}

var selectEventFiredOnInput = false;
var selectEventFiredOnReadonlyInput = false;
var selectEventFiredOnDisabledInput = false;
var selectEventFiredOnTextarea = false;
var selectEventFiredOnReadonlyTextarea = false;
var selectEventFiredOnDisabledTextarea = false;

input.addEventListener('select', function() {
    selectEventFiredOnInput = true;
});
readonlyInput.addEventListener('select', function() {
    selectEventFiredOnReadonlyInput = true;
});
disabledInput.addEventListener('select', function() {
    selectEventFiredOnDisabledInput = true;
});

textarea.addEventListener('select', function() {
    selectEventFiredOnTextarea = true;
});
readonlyTextarea.addEventListener('select', function() {
    selectEventFiredOnReadonlyTextarea = true;
});
disabledTextarea.addEventListener('select', function() {
    selectEventFiredOnDisabledTextarea = true;
});

debug('double clicking on normal input');
doubleClickOn(input);
shouldBeTrue('selectEventFiredOnInput');
debug('');

debug('double clicking on readonly input');
doubleClickOn(readonlyInput);
shouldBeTrue('selectEventFiredOnReadonlyInput');
debug('');

debug('double clicking on disabled input');
doubleClickOn(disabledInput);
shouldBeTrue('selectEventFiredOnDisabledInput');
debug('');

debug('double clicking on normal textarea');
doubleClickOn(textarea);
shouldBeTrue('selectEventFiredOnTextarea');
debug('');

debug('double clicking on readonly textarea');
doubleClickOn(readonlyTextarea);
shouldBeTrue('selectEventFiredOnReadonlyTextarea');
debug('');

debug('double clicking on disabled textarea');
doubleClickOn(disabledTextarea);
shouldBeTrue('selectEventFiredOnDisabledTextarea');
debug('');

container.innerHTML = "";
</script>

</body></html>