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

Side by Side Diff: utils/tests/pub/error_group_test.dart

Issue 14110012: Remove tests that don't work with asBroadcastStreams anymore. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 8 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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 error_group_test; 5 library error_group_test;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 8
9 import 'package:unittest/unittest.dart'; 9 import 'package:unittest/unittest.dart';
10 10
(...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after
241 }), completion(isTrue)); 241 }), completion(isTrue));
242 }); 242 });
243 243
244 test('should notify the error group of a signaled exception even if the ' 244 test('should notify the error group of a signaled exception even if the '
245 'stream has a listener', () { 245 'stream has a listener', () {
246 expect(stream.first, throwsFormatException); 246 expect(stream.first, throwsFormatException);
247 expect(errorGroup.done, throwsFormatException); 247 expect(errorGroup.done, throwsFormatException);
248 errorGroup.signalError(new FormatException()); 248 errorGroup.signalError(new FormatException());
249 }); 249 });
250 250
251 test("should complete .done when the stream is done even if the stream " 251 test("should see one value and complete .done when the stream is done even "
252 "doesn't have a listener", () { 252 "if the stream doesn't have a listener", () {
253 expect(errorGroup.done, completes); 253 expect(errorGroup.done, completes);
254 controller.add('value'); 254 controller.add('value');
255 controller.close(); 255 controller.close();
256 256
257 // A listener added afterwards should see an empty stream, since it's not 257 // Now that broadcast controllers have been removed a listener should
258 // single-subscription 258 // see the value that has been put into the controller.
259 expect(errorGroup.done.then((_) => stream.toList()), 259 expect(errorGroup.done.then((_) => stream.toList()),
260 completion(isEmpty)); 260 completion(equals(['value'])));
261 }); 261 });
262 262
263 test("should pipe an exception from the stream to .done if the stream "
264 "doesn't have a listener", () {
265 expect(errorGroup.done, throwsFormatException);
266 controller.addError(new FormatException());
267
268 // A listener added afterwards should see an empty stream, since it's not
269 // single-subscription
270 expect(errorGroup.done.catchError((_) {
271 controller.add('value'); // should be ignored
272 return stream.toList();
273 }), completion(isEmpty));
274 });
275
276 test("should pass a signaled exception to .done if the stream doesn't "
277 "have a listener",
278 () {
279 expect(errorGroup.done, throwsFormatException);
280 errorGroup.signalError(new FormatException());
281
282 // A listener added afterwards should receive the exception
283 expect(errorGroup.done.catchError((_) {
284 controller.add('value'); // should be ignored
285 return stream.toList();
286 }), completion(isEmpty));
287 });
288 }); 263 });
289 264
290 group('with a single single-subscription stream', () { 265 group('with a single single-subscription stream', () {
291 StreamController controller; 266 StreamController controller;
292 Stream stream; 267 Stream stream;
293 268
294 setUp(() { 269 setUp(() {
295 errorGroup = new ErrorGroup(); 270 errorGroup = new ErrorGroup();
296 controller = new StreamController(); 271 controller = new StreamController();
297 stream = errorGroup.registerStream(controller.stream); 272 stream = errorGroup.registerStream(controller.stream);
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after
445 expect(stream.toList(), completion(equals(['value1', 'value2']))); 420 expect(stream.toList(), completion(equals(['value1', 'value2'])));
446 controller..add('value1')..add('value2')..close(); 421 controller..add('value1')..add('value2')..close();
447 422
448 expect(stream.toList().then((_) { 423 expect(stream.toList().then((_) {
449 // shouldn't cause a top-level exception 424 // shouldn't cause a top-level exception
450 completer.completeError(new FormatException()); 425 completer.completeError(new FormatException());
451 }), completes); 426 }), completes);
452 }); 427 });
453 }); 428 });
454 } 429 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698