OLD | NEW |
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 library EventTest; | |
6 import "package:expect/expect.dart"; | |
7 import 'package:unittest/unittest.dart'; | |
8 import 'package:unittest/html_config.dart'; | |
9 import 'dart:html'; | 5 import 'dart:html'; |
10 | 6 |
11 // TODO(nweiz): Make this private to testEvents when Frog supports closures with | 7 import 'package:minitest/minitest.dart'; |
12 // optional arguments. | 8 |
13 eventTest(String name, Event eventFn(), void validate(Event), | 9 eventTest(String name, Event eventFn(), void validate(Event), |
14 [String type = 'foo']) { | 10 [String type = 'foo']) { |
15 test(name, () { | 11 test(name, () { |
16 final el = new Element.tag('div'); | 12 final el = new Element.tag('div'); |
17 var fired = false; | 13 var fired = false; |
18 el.on[type].listen((ev) { | 14 el.on[type].listen((ev) { |
19 fired = true; | 15 fired = true; |
20 validate(ev); | 16 validate(ev); |
21 }); | 17 }); |
22 el.dispatchEvent(eventFn()); | 18 el.dispatchEvent(eventFn()); |
23 expect(fired, isTrue, reason: 'Expected event to be dispatched.'); | 19 expect(fired, isTrue, reason: 'Expected event to be dispatched.'); |
24 }); | 20 }); |
25 } | 21 } |
26 | 22 |
27 main() { | 23 main() { |
28 useHtmlConfiguration(); | |
29 | |
30 // Issue 1005. | 24 // Issue 1005. |
31 // eventTest('AnimationEvent', () => new AnimationEvent('foo', 'color', 0.5), | 25 // eventTest('AnimationEvent', () => new AnimationEvent('foo', 'color', 0.5), |
32 // (ev) { | 26 // (ev) { |
33 // expect(ev.animationName, 'color'); | 27 // expect(ev.animationName, 'color'); |
34 // expect(ev.elapsedTime, 0.5); | 28 // expect(ev.elapsedTime, 0.5); |
35 // }); | 29 // }); |
36 | 30 |
37 // Issue 1005. | 31 // Issue 1005. |
38 // eventTest('BeforeLoadEvent', | 32 // eventTest('BeforeLoadEvent', |
39 // () => new BeforeLoadEvent('foo', 'http://example.url'), | 33 // () => new BeforeLoadEvent('foo', 'http://example.url'), |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
94 () => new HashChangeEvent('foo', oldUrl: 'http://old.url', | 88 () => new HashChangeEvent('foo', oldUrl: 'http://old.url', |
95 newUrl: 'http://new.url'), (ev) { | 89 newUrl: 'http://new.url'), (ev) { |
96 expect(ev.oldUrl, equals('http://old.url')); | 90 expect(ev.oldUrl, equals('http://old.url')); |
97 expect(ev.newUrl, equals('http://new.url')); | 91 expect(ev.newUrl, equals('http://new.url')); |
98 }); | 92 }); |
99 | 93 |
100 // KeyboardEvent has its own test file, and has cross-browser issues. | 94 // KeyboardEvent has its own test file, and has cross-browser issues. |
101 | 95 |
102 eventTest('MouseEvent', | 96 eventTest('MouseEvent', |
103 () => new MouseEvent('foo', view: window, detail: 1, screenX: 2, | 97 () => new MouseEvent('foo', view: window, detail: 1, screenX: 2, |
104 screenY: 3, clientX: 4, clientY: 5, button: 6, | 98 screenY: 3, clientX: 4, clientY: 5, button: 6, |
105 ctrlKey: true, altKey: true, shiftKey: true, | 99 ctrlKey: true, altKey: true, shiftKey: true, |
106 metaKey: true, relatedTarget: document.body), | 100 metaKey: true, relatedTarget: document.body), |
107 (ev) { | 101 (ev) { |
108 expect(ev.detail, 1); | 102 expect(ev.detail, 1); |
109 expect(ev.screen.x, 2); | 103 expect(ev.screen.x, 2); |
110 expect(ev.screen.y, 3); | 104 expect(ev.screen.y, 3); |
111 expect(ev.client.x, 4); | 105 expect(ev.client.x, 4); |
112 expect(ev.client.y, 5); | 106 expect(ev.client.y, 5); |
113 expect(ev.offset.x, 4); // Same as clientX. | 107 expect(ev.offset.x, 4); // Same as clientX. |
114 expect(ev.offset.y, 5); // Same as clientY. | 108 expect(ev.offset.y, 5); // Same as clientY. |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
190 expect(ev.screen.x, 3); | 184 expect(ev.screen.x, 3); |
191 expect(ev.screen.y, 4); | 185 expect(ev.screen.y, 4); |
192 expect(ev.client.x, 5); | 186 expect(ev.client.x, 5); |
193 expect(ev.client.y, 6); | 187 expect(ev.client.y, 6); |
194 expect(ev.ctrlKey, isTrue); | 188 expect(ev.ctrlKey, isTrue); |
195 expect(ev.altKey, isTrue); | 189 expect(ev.altKey, isTrue); |
196 expect(ev.shiftKey, isTrue); | 190 expect(ev.shiftKey, isTrue); |
197 expect(ev.metaKey, isTrue); | 191 expect(ev.metaKey, isTrue); |
198 }, 'mousewheel'); | 192 }, 'mousewheel'); |
199 } | 193 } |
OLD | NEW |