Index: tests/html/wheelevent_test.dart |
diff --git a/tests/html/wheelevent_test.dart b/tests/html/wheelevent_test.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..87fe7774adc81c77406605ae951d2aae0fa31da5 |
--- /dev/null |
+++ b/tests/html/wheelevent_test.dart |
@@ -0,0 +1,70 @@ |
+library wheel_event_test; |
Siggi Cherem (dart-lang)
2013/01/16 18:52:00
+ copyright header
|
+import '../../pkg/unittest/lib/unittest.dart'; |
+import '../../pkg/unittest/lib/html_config.dart'; |
+import 'dart:html'; |
+ |
+ |
+main() { |
+ |
+ useHtmlConfiguration(); |
+ |
+ var userAgent = window.navigator.userAgent; |
+ |
+ // Lame platform-dependent check to validate that our assumptions about |
+ // which event is being used is correct. |
+ var wheelEvent = 'wheel'; |
+ if (userAgent.contains("Opera", 0)) { |
+ wheelEvent = 'mousewheel'; |
+ } else if (userAgent.contains("MSIE", 0)) { |
+ wheelEvent = 'mousewheel'; |
+ } else if (userAgent.contains('Firefox')) { |
+ // FF appears to have recently added support for wheel. |
+ if (userAgent.contains('Firefox/17')) { |
+ wheelEvent = 'DOMMouseScroll'; |
+ } else { |
+ wheelEvent = 'wheel'; |
+ } |
+ } else if (userAgent.contains('WebKit', 0)) { |
+ wheelEvent = 'mousewheel'; |
+ } |
+ |
+ test('wheelEvent', () { |
+ var element = new DivElement(); |
+ element.on.mouseWheel.add(expectAsync1((e) { |
+ expect(e.screenX, 100); |
+ expect(e.deltaX, 0); |
+ expect(e.deltaY, 240); |
+ })); |
+ var event = new WheelEvent(wheelEvent, |
+ window, |
+ 0, |
+ 240, |
+ 0, |
+ 100, |
+ 200, |
+ 10, |
+ 20, |
+ 0); |
+ element.$dom_dispatchEvent(event); |
+ }); |
+ |
+ test('wheelEvent Stream', () { |
+ var element = new DivElement(); |
+ element.onMouseWheel.listen(expectAsync1((e) { |
+ expect(e.screenX, 100); |
+ expect(e.deltaX, 0); |
+ expect(e.deltaY, 240); |
+ })); |
+ var event = new WheelEvent(wheelEvent, |
+ window, |
+ 0, |
+ 240, |
+ 0, |
+ 100, |
+ 200, |
+ 10, |
+ 20, |
+ 0); |
+ element.$dom_dispatchEvent(event); |
+ }); |
+} |