OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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('EventCustomEventTest'); | 5 #library('EventCustomEventTest'); |
6 #import('../../lib/unittest/unittest.dart'); | 6 #import('../../pkg/unittest/unittest.dart'); |
7 #import('../../lib/unittest/html_config.dart'); | 7 #import('../../pkg/unittest/html_config.dart'); |
8 #import('dart:html'); | 8 #import('dart:html'); |
9 | 9 |
10 // TODO(nweiz): Make this private to testEvents when Frog supports closures with | 10 // TODO(nweiz): Make this private to testEvents when Frog supports closures with |
11 // optional arguments. | 11 // optional arguments. |
12 eventTest(String name, Event eventFn(), void validate(Event), | 12 eventTest(String name, Event eventFn(), void validate(Event), |
13 [String type = 'foo']) { | 13 [String type = 'foo']) { |
14 test(name, () { | 14 test(name, () { |
15 final el = new Element.tag('div'); | 15 final el = new Element.tag('div'); |
16 var fired = false; | 16 var fired = false; |
17 el.on[type].add((ev) { | 17 el.on[type].add((ev) { |
18 fired = true; | 18 fired = true; |
19 validate(ev); | 19 validate(ev); |
20 }); | 20 }); |
21 el.on[type].dispatch(eventFn()); | 21 el.on[type].dispatch(eventFn()); |
22 expect(fired, isTrue, 'Expected event to be dispatched.'); | 22 expect(fired, isTrue, 'Expected event to be dispatched.'); |
23 }); | 23 }); |
24 } | 24 } |
25 | 25 |
26 main() { | 26 main() { |
27 useHtmlConfiguration(); | 27 useHtmlConfiguration(); |
28 | 28 |
29 eventTest('CustomEvent.initCustomEvent', () { | 29 eventTest('CustomEvent.initCustomEvent', () { |
30 // TODO: switch to constructors later. | 30 // TODO: switch to constructors later. |
31 final ev = document.$dom_createEvent('CustomEvent'); | 31 final ev = document.$dom_createEvent('CustomEvent'); |
32 ev.initCustomEvent('foo', false, false, 'detail'); | 32 ev.initCustomEvent('foo', false, false, 'detail'); |
33 return ev; | 33 return ev; |
34 }, | 34 }, |
35 (ev) { expect(ev.detail, equals('detail')); }); | 35 (ev) { expect(ev.detail, equals('detail')); }); |
36 } | 36 } |
OLD | NEW |