Remove SnowLeopard expected results.
[WebKit-https.git] / LayoutTests / fast / forms / date-multiple-fields / date-multiple-fields-mouse-events.html
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <script src="../../js/resources/js-test-pre.js"></script>
5 </head>
6 <body>
7 <p id="description"></p>
8 <p>
9 Please run this with DRT or WTR.
10 </p>
11 Test following mouse actions:
12 <ul>
13     <li>Mouse click to focus each of sub-fields</li>
14     <li>Mouse click on the spin button to update each of sub-fields</li>
15 </ul>
16 <input id="input" type="date" style="font-family:ahem; font-size:16px;">
17 <div id="console"></div>
18 <script>
19 description('Multiple fields UI of date input type with mouse events');
20 var input = document.getElementById('input');
21
22 function keyDown(key, modifiers)
23 {
24     if (!window.eventSender)
25         return;
26     eventSender.keyDown(key, modifiers);
27 }
28
29 function mouseClickOn(x, y)
30 {
31     if (!window.eventSender)
32         return;
33     eventSender.mouseMoveTo(x + input.offsetLeft, y + input.offsetTop);
34     eventSender.mouseDown();
35     eventSender.mouseUp();
36 }
37
38 input.value = '2345-07-19';
39 var center = input.offsetHeight / 2;
40 var spinButtonOffset = 26;
41 var clearButtonOffset = 41;
42
43 debug('==> Focus on the month field.');
44 mouseClickOn(12, center);
45 keyDown('upArrow');
46 shouldBeEqualToString('input.value', '2345-08-19');
47 mouseClickOn(input.offsetWidth - spinButtonOffset, center - 1);
48 shouldBeEqualToString('input.value', '2345-09-19');
49 mouseClickOn(input.offsetWidth - spinButtonOffset, center + 1);
50 shouldBeEqualToString('input.value', '2345-08-19');
51 shouldBeZero('window.getSelection().rangeCount'); // No text selection.
52
53 debug('');
54 debug('==> Focus on the day field.');
55 mouseClickOn(60, center);
56 keyDown('upArrow');
57 shouldBeEqualToString('input.value', '2345-08-20');
58 mouseClickOn(input.offsetWidth - spinButtonOffset, center - 1);
59 shouldBeEqualToString('input.value', '2345-08-21');
60 mouseClickOn(input.offsetWidth - spinButtonOffset, center + 1);
61 shouldBeEqualToString('input.value', '2345-08-20');
62 shouldBeZero('window.getSelection().rangeCount'); // No text selection.
63
64 debug('');
65 debug('==> Focus on the year field.');
66 mouseClickOn(input.offsetWidth - 115, center);
67 keyDown('upArrow');
68 shouldBeEqualToString('input.value', '2346-08-20');
69 mouseClickOn(input.offsetWidth - spinButtonOffset, center - 1);
70 shouldBeEqualToString('input.value', '2347-08-20');
71 mouseClickOn(input.offsetWidth - spinButtonOffset, center + 1);
72 shouldBeEqualToString('input.value', '2346-08-20');
73 shouldBeZero('window.getSelection().rangeCount'); // No text selection.
74
75 debug('');
76 debug('==> Click on a disabled field.');
77 input.disabled = true;
78 mouseClickOn(12, center);
79 keyDown('upArrow');
80 shouldBeEqualToString('input.value', '2346-08-20');
81 input.disabled = false;
82
83 debug('');
84 debug('==> Click on a read-only field.');
85 input.readOnly = true;
86 mouseClickOn(12, center);
87 keyDown('upArrow');
88 shouldBeEqualToString('input.value', '2346-08-20');
89 input.readOnly = false;
90
91 debug('');
92 debug('==> Click on clear button.');
93 input.readOnly = true;
94 mouseClickOn(input.offsetWidth - clearButtonOffset, center);
95 shouldBeEqualToString('input.value', '2346-08-20');
96 input.disabled = true;
97 input.readOnly = false;
98 mouseClickOn(input.offsetWidth - clearButtonOffset, center);
99 shouldBeEqualToString('input.value', '2346-08-20');
100 input.disabled = false;
101 mouseClickOn(input.offsetWidth - clearButtonOffset, center);
102 shouldBeEqualToString('input.value', '');
103
104 debug('');
105 </script>
106 <script src="../../js/resources/js-test-post.js"></script>
107 </body>
108 </html>