Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(344)

Side by Side Diff: tests/html/event_customevent_test.dart

Issue 12040059: Converting tests over to using event streams. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698