| <!DOCTYPE html> |
| <html> |
| <head> |
| <script src="../../resources/js-test-pre.js"></script> |
| </head> |
| <body> |
| <p id="description"></p> |
| <p><a href="https://bugs.webkit.org/show_bug.cgi?id=53341">Bug 53341</a></p> |
| <div id="test-container"> |
| <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> |
| </div> |
| <br/> |
| <div id="console"></div> |
| <script> |
| var CURSOR_UPDATE_DELAY = 200; |
| |
| description("Test that mouse cursors are changed correctly on mouse events."); |
| |
| if (!window.eventSender) { |
| testFailed('This test requires DumpRenderTree'); |
| } |
| |
| if (window.testRunner) { |
| testRunner.dumpAsText(); |
| testRunner.waitUntilDone(); |
| window.jsTestIsAsync = true; |
| } |
| |
| function runTest(prepare, next) { |
| prepare(); |
| setTimeout(function() { |
| debug('Cursor Info: ' + window.internals.getCurrentCursorInfo()); |
| debug(''); |
| next(); |
| }, CURSOR_UPDATE_DELAY); |
| } |
| |
| function testsDone() { |
| // This text is redundant with the test output - hide it |
| document.getElementById('test-container').style.display = 'none'; |
| finishJSTest(); |
| } |
| |
| // Can't do anything useful here without eventSender |
| if (window.eventSender) { |
| var target = document.getElementById('target'); |
| eventSender.dragMode = false; |
| var tests = [ |
| function() { |
| debug('Mouse move'); |
| eventSender.mouseMoveTo(target.offsetLeft + 3, target.offsetTop + 3); |
| }, function() { |
| debug('Mouse down'); |
| eventSender.mouseDown(); |
| }, function() { |
| debug('Mouse hold down, move'); |
| eventSender.mouseMoveTo(target.offsetLeft + 13, target.offsetTop + 3); |
| }, function() { |
| debug('Mouse up'); |
| eventSender.mouseUp(); |
| } |
| ]; |
| |
| var i = 0; |
| function nextTest() { |
| if (i < tests.length) { |
| runTest(tests[i++], nextTest); |
| } else { |
| testsDone(); |
| } |
| } |
| nextTest(); |
| } |
| |
| </script> |
| <script src="../../resources/js-test-post.js"></script> |
| </body> |
| </html> |