Source/WebCore: Updating mouse cursor on style changes without emitting fake mousemov...
[WebKit-https.git] / LayoutTests / fast / events / mouse-cursor-no-mousemove.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=85343">Bug 85343</a></p>
11 <div id="test-container">
12     <div id="target" style="cursor:default">Mouse idle, change cursor should not fire mousemove event</div>
13 </div>
14 <br/>
15 <div id="console"></div>
16 <script>
17 var CURSOR_UPDATE_DELAY = 50;
18
19 description("Test that there is no mousemove event fired when changing cursor.");
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 // Can't do anything useful here without eventSender
32 if (window.eventSender) {
33     var node = document.getElementById('target');
34     debug('TEST CASE: ' + node.textContent);
35     eventSender.mouseMoveTo(node.offsetLeft + 3, node.offsetTop + 3);
36     debug('Cursor Info: ' + window.internals.getCurrentCursorInfo(document));
37     node.addEventListener('mousemove', function() {
38         testFailed('Mousemove event should not be fired when changing cursor');
39         finishJSTest();
40     });
41     node.style.cursor = 'help';
42     setTimeout(function() {
43         debug('Cursor Info: ' + window.internals.getCurrentCursorInfo(document));
44         debug('');
45     }, CURSOR_UPDATE_DELAY);
46
47     // Give some time for the change to resolve. Fake mousemove event that caused bug, is using a timer
48     setTimeout(function() {
49         document.getElementById('test-container').style.display = 'none';
50         finishJSTest();
51     }, 150);
52 }
53
54 </script>
55 <script src="../../fast/js/resources/js-test-post.js"></script>
56 </body>
57 </html>