| <!DOCTYPE html> |
| <html> |
| <head> |
| <script src="../../resources/js-test.js"></script> |
| </head> |
| <body onload="runTest()"> |
| <p id="description"></p> |
| <input type=color id="src" value="#ff0000"> |
| <input type=color id="dest" value="#000000"> |
| <div id="console"></div> |
| </body> |
| <script> |
| description('This test verifies that the input and change events fire when changing the value of a color input via drag and drop. To test manually, drag the color input on the left onto the color input on the right.'); |
| |
| jsTestIsAsync = true; |
| |
| var src = document.getElementById('src'); |
| var dest = document.getElementById('dest'); |
| |
| var changeFired = false; |
| var inputFired = false; |
| |
| function tryFinishTest() { |
| if (!changeFired || !inputFired) { |
| return; |
| } |
| |
| shouldBeEqualToString("src.value", "#ff0000"); |
| shouldBeEqualToString("dest.value", "#ff0000"); |
| finishJSTest(); |
| } |
| |
| function runTest() { |
| if (!window.testRunner) |
| return; |
| |
| dest.addEventListener("change", function(e) { |
| changeFired = true; |
| tryFinishTest(); |
| }); |
| |
| dest.addEventListener("input", function(e) { |
| inputFired = true; |
| tryFinishTest(); |
| }); |
| |
| eventSender.mouseMoveTo(src.offsetLeft + src.offsetWidth / 2, src.offsetTop + src.offsetHeight / 2); |
| eventSender.mouseDown(); |
| eventSender.leapForward(200); |
| eventSender.mouseMoveTo(dest.offsetLeft + dest.offsetWidth / 2, dest.offsetTop + dest.offsetHeight / 2); |
| eventSender.mouseUp(); |
| eventSender.leapForward(200); |
| } |
| </script> |
| </html> |