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

Side by Side Diff: packages/quiver/test/async/future_stream_test.dart

Issue 1400473008: Roll Observatory packages and add a roll script (Closed) Base URL: git@github.com:dart-lang/observatory_pub_packages.git@master
Patch Set: Created 5 years, 2 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
OLDNEW
(Empty)
1 // Copyright 2014 Google Inc. All Rights Reserved.
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14
15 library quiver.async.future_stream_test;
16
17 import 'dart:async';
18
19 import 'package:test/test.dart';
20 import 'package:quiver/async.dart';
21
22 main() {
23 group('FutureStream', () {
24 test('should forward an event', () {
25 var completer = new Completer<Stream<String>>();
26 var controller = new StreamController<String>();
27 var futureStream = new FutureStream(completer.future);
28
29 var done = futureStream.first.then((s) {
30 expect(s, 'hello');
31 });
32
33 completer.complete(controller.stream);
34 controller.add('hello');
35
36 return done;
37 });
38
39 test('should close when the wrapped Steam closes', () {
40 var completer = new Completer<Stream<String>>();
41 var controller = new StreamController<String>();
42 var futureStream = new FutureStream(completer.future);
43
44 var testCompleter = new Completer();
45
46 futureStream.listen((_) {}, onDone: () {
47 // pass
48 testCompleter.complete();
49 });
50
51 completer.complete(controller.stream);
52 controller.close();
53
54 return testCompleter.future;
55 });
56
57 test('should forward errors', () {
58 var completer = new Completer<Stream<String>>();
59 var controller = new StreamController<String>();
60 var futureStream = new FutureStream(completer.future);
61
62 var testCompleter = new Completer();
63
64 futureStream.listen((_) {}, onError: (e) {
65 expect(e, 'error');
66 testCompleter.complete();
67 });
68
69 completer.complete(controller.stream);
70 controller.addError('error');
71
72 return testCompleter.future;
73 });
74
75 test('should be broadcast', () {
76 var completer = new Completer<Stream<String>>();
77 var futureStream = new FutureStream(completer.future, broadcast: true);
78 expect(futureStream.isBroadcast, isTrue);
79 });
80 });
81 }
OLDNEW
« no previous file with comments | « packages/quiver/test/async/future_group_test.dart ('k') | packages/quiver/test/async/iteration_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698