| OLD | NEW |
| 1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
| 2 <html> | 2 <html> |
| 3 <head> | 3 <head> |
| 4 <link rel="help" href="http://www.w3.org/TR/DOM-Level-3-Events/#events-WheelEven
t"> | 4 <link rel="help" href="http://www.w3.org/TR/DOM-Level-3-Events/#events-WheelEven
t"> |
| 5 <script src="../js/resources/js-test-pre.js"></script> | 5 <script src="../js/resources/js-test-pre.js"></script> |
| 6 <script> | 6 <script> |
| 7 var deltaX = 10; | 7 var deltaX = 0; |
| 8 var deltaY = 120; | 8 var deltaY = 0; |
| 9 var expectedDeltaX; |
| 10 var expectedDeltaY; |
| 9 | 11 |
| 10 var testDiv; | 12 var testDiv; |
| 11 function runTest() { | 13 function runTest() { |
| 12 // Basic checks. | 14 // Basic checks. |
| 13 shouldBe('WheelEvent.__proto__', 'MouseEvent'); | 15 shouldBe('WheelEvent.__proto__', 'MouseEvent'); |
| 14 shouldBe('WheelEvent.prototype.__proto__', 'MouseEvent.prototype'); | 16 shouldBe('WheelEvent.prototype.__proto__', 'MouseEvent.prototype'); |
| 15 shouldBe('WheelEvent.DOM_DELTA_PIXEL', '0x00'); | 17 shouldBe('WheelEvent.DOM_DELTA_PIXEL', '0x00'); |
| 16 shouldBe('WheelEvent.DOM_DELTA_LINE', '0x01'); | 18 shouldBe('WheelEvent.DOM_DELTA_LINE', '0x01'); |
| 17 shouldBe('WheelEvent.DOM_DELTA_PAGE', '0x02'); | 19 shouldBe('WheelEvent.DOM_DELTA_PAGE', '0x02'); |
| 18 | 20 |
| 19 testDiv = document.getElementById('target'); | 21 testDiv = document.getElementById('target'); |
| 20 shouldBeNull('window.onwheel'); | 22 shouldBeNull('window.onwheel'); |
| 21 shouldBeNull('document.onwheel'); | 23 shouldBeNull('document.onwheel'); |
| 22 shouldBeNull('testDiv.onwheel'); | 24 shouldBeNull('testDiv.onwheel'); |
| 23 testDiv.addEventListener('wheel', wheelHandler); | 25 testDiv.addEventListener('wheel', wheelHandler); |
| 24 if (window.eventSender) { | 26 if (window.eventSender) { |
| 25 eventSender.mouseMoveTo(testDiv.offsetLeft + 5, testDiv.offsetTop + 5); | 27 eventSender.mouseMoveTo(testDiv.offsetLeft + 5, testDiv.offsetTop + 5); |
| 26 eventSender.mouseScrollBy(deltaX, deltaY); | 28 eventSender.mouseScrollBy(-1, -2); |
| 29 expectedDeltaX = testDiv.scrollLeft; |
| 30 expectedDeltaY = testDiv.scrollTop; |
| 31 shouldBeTrue("deltaX > 0"); |
| 32 shouldBe("deltaX", "expectedDeltaX"); |
| 33 shouldBeTrue("deltaY > 0"); |
| 34 shouldBe("deltaY", "expectedDeltaY"); |
| 27 } else { | 35 } else { |
| 28 debug("FAIL: This test requires window.eventSender."); | 36 debug("FAIL: This test requires window.eventSender."); |
| 29 finishJSTest(); | |
| 30 } | 37 } |
| 31 } | 38 } |
| 32 | 39 |
| 33 var testEvent; | 40 var testEvent; |
| 34 var tickMultiplier = 120; | |
| 35 var expectedDeltaX = -deltaX * tickMultiplier; | |
| 36 var expectedDeltaY = -deltaY * tickMultiplier; | |
| 37 function wheelHandler(e) { | 41 function wheelHandler(e) { |
| 38 testEvent = e; | 42 testEvent = e; |
| 39 shouldBe("testEvent.__proto__", "WheelEvent.prototype"); | 43 shouldBe("testEvent.__proto__", "WheelEvent.prototype"); |
| 40 shouldBe("testEvent.__proto__.__proto__", "MouseEvent.prototype"); | 44 shouldBe("testEvent.__proto__.__proto__", "MouseEvent.prototype"); |
| 41 shouldBe("testEvent.deltaX", "expectedDeltaX"); | 45 if (e.deltaX) |
| 42 shouldBe("testEvent.deltaY", "expectedDeltaY"); | 46 deltaX = e.deltaX; |
| 47 if (e.deltaY) |
| 48 deltaY = e.deltaY; |
| 43 shouldBe("testEvent.deltaZ", "0"); | 49 shouldBe("testEvent.deltaZ", "0"); |
| 44 shouldBe("testEvent.deltaMode", "WheelEvent.DOM_DELTA_PIXEL") | 50 shouldBe("testEvent.deltaMode", "WheelEvent.DOM_DELTA_PIXEL") |
| 45 | |
| 46 testDiv.removeEventListener("wheel", wheelHandler); | |
| 47 finishJSTest(); | |
| 48 } | 51 } |
| 49 | 52 |
| 50 </script> | 53 </script> |
| 51 </head> | 54 </head> |
| 52 <body> | 55 <body> |
| 53 <span id="parent"> | 56 <span id="parent"> |
| 54 <div id="target" style="border:solid 1px green; width:220px; height:70px; ov
erflow:scroll"> | 57 <div id="target" style="border:solid 1px green; width:220px; height:70px; ov
erflow:scroll; white-space:nowrap;"> |
| 55 TOP TOP TOP TOP TOP TOP TOP | 58 TOP TOP TOP TOP TOP TOP TOP TOP TOP TOP TOP TOP TOP TOP<br/> |
| 56 Scroll mouse wheel over here | 59 Scroll mouse wheel over here<br/> |
| 57 Scroll mouse wheel over here | 60 Scroll mouse wheel over here<br/> |
| 58 Scroll mouse wheel over here | 61 Scroll mouse wheel over here<br/> |
| 59 Scroll mouse wheel over here | 62 Scroll mouse wheel over here<br/> |
| 60 Scroll mouse wheel over here | 63 Scroll mouse wheel over here<br/> |
| 61 Scroll mouse wheel over here | 64 Scroll mouse wheel over here<br/> |
| 62 END END END END END END END | 65 END END END END END END END END END END END END END END<br/> |
| 63 </div> | 66 </div> |
| 64 </span> | 67 </span> |
| 68 <div id="console"></div> |
| 65 <script> | 69 <script> |
| 66 description("Tests the basic functionality of the standard wheel event"); | 70 description("Tests the basic functionality of the standard wheel event"); |
| 67 window.jsTestIsAsync = true; | |
| 68 | 71 |
| 69 runTest(); | 72 runTest(); |
| 70 </script> | 73 </script> |
| 71 <script src="../js/resources/js-test-post.js"></script> | 74 <script src="../js/resources/js-test-post.js"></script> |
| 72 </body> | 75 </body> |
| 73 </html> | 76 </html> |
| OLD | NEW |