| 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 '../../pkg/unittest/lib/unittest.dart'; | 6 import '../../pkg/unittest/lib/unittest.dart'; |
| 7 import '../../pkg/unittest/lib/html_config.dart'; | 7 import '../../pkg/unittest/lib/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, reason: 'Expected event to be dispatched.'); | 22 expect(fired, isTrue, reason: '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 test('custom events', () { |
| 30 return new CustomEvent('foo', canBubble: false, cancelable: false, | 30 var provider = new EventStreamProvider<CustomEvent>('foo'); |
| 31 var el = new DivElement(); |
| 32 |
| 33 var fired = false; |
| 34 provider.forTarget(el).listen((ev) { |
| 35 fired = true; |
| 36 expect(ev.detail, 'detail'); |
| 37 }); |
| 38 |
| 39 var ev = new CustomEvent('foo', canBubble: false, cancelable: false, |
| 31 detail: 'detail'); | 40 detail: 'detail'); |
| 32 }, | 41 el.dispatchEvent(ev); |
| 33 (ev) { expect(ev.detail, equals('detail')); }); | 42 expect(fired, isTrue); |
| 43 }); |
| 34 } | 44 } |
| OLD | NEW |