194772a5a3a6b1d596eb288e9841264e0a8e632d
[WebKit-https.git] / LayoutTests / fast / events / mouse-cursor-change.html
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <script src="../js/resources/js-test-pre.js"></script>
5 <style type="text/css">
6 </style>
7 </head>
8 <body>
9 <p id="description"></p>
10 <p><a href="https://bugs.webkit.org/show_bug.cgi?id=53341">Bug 53341</a></p>
11 <div id="test-container">
12     <div id="target" onMouseDown="style.cursor='progress';event.preventDefault();" onMouseMove="style.cursor='pointer';" onMouseUp="style.cursor='help';" style="cursor:pointer;">Play with mouse on this element. Cursors change on events - mousemove: pointer(hand), mousedown: progress, mouseup: help.</div>
13 </div>
14 <br/>
15 <div id="console"></div>
16 <script>
17 var CURSOR_UPDATE_DELAY = 50;
18
19 description("Test that mouse cursors are changed correctly on mouse events.");
20
21 if (!window.eventSender) {
22     testFailed('This test requires DumpRenderTree');
23 }
24
25 if (window.testRunner) {
26     testRunner.dumpAsText();
27     testRunner.waitUntilDone();
28     window.jsTestIsAsync = true;
29 }
30
31 function runTest(prepare, next) {
32     prepare();
33     setTimeout(function() {
34         debug('Cursor Info: ' + window.internals.getCurrentCursorInfo(document));
35         debug('');
36         next();
37     }, CURSOR_UPDATE_DELAY);
38 }
39
40 function testsDone() {
41     // This text is redundant with the test output - hide it
42     document.getElementById('test-container').style.display = 'none';
43     finishJSTest();
44 }
45
46 // Can't do anything useful here without eventSender
47 if (window.eventSender) {
48     var target = document.getElementById('target');
49     eventSender.dragMode = false;
50     var tests = [
51         function() {
52             debug('Mouse move');
53             eventSender.mouseMoveTo(target.offsetLeft + 3, target.offsetTop + 3);
54         }, function() {
55             debug('Mouse down');
56             eventSender.mouseDown();
57         }, function() {
58             debug('Mouse hold down, move');
59             eventSender.mouseMoveTo(target.offsetLeft + 13, target.offsetTop + 3);
60         }, function() {
61             debug('Mouse up');
62             eventSender.mouseUp();
63         }
64     ];
65
66     var i = 0;
67     function nextTest() {
68         if (i < tests.length) {
69             runTest(tests[i++], nextTest);
70         } else {
71             testsDone();
72         }
73     }
74     nextTest();
75 }
76
77 </script>
78 <script src="../../fast/js/resources/js-test-post.js"></script>
79 </body>
80 </html>