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

Side by Side Diff: test/typed_wrapper/future_test.dart

Issue 2161283002: Fix Dart 1.17 strong-mode warnings. (Closed) Base URL: git@github.com:dart-lang/async.git@master
Patch Set: Created 4 years, 5 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
« no previous file with comments | « test/subscription_stream_test.dart ('k') | test/typed_wrapper/stream_subscription_test.dart » ('j') | 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) 2016, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2016, 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 import 'dart:async'; 5 import 'dart:async';
6 6
7 import "package:async/async.dart";
8 import "package:async/src/typed/future.dart"; 7 import "package:async/src/typed/future.dart";
9 import "package:test/test.dart"; 8 import "package:test/test.dart";
10 9
11 import '../utils.dart'; 10 import '../utils.dart';
12 11
13 void main() { 12 void main() {
14 group("with valid types, forwards", () { 13 group("with valid types, forwards", () {
15 var wrapper; 14 var wrapper;
16 var errorWrapper; 15 TypeSafeFuture<int> errorWrapper;
17 setUp(() { 16 setUp(() {
18 wrapper = new TypeSafeFuture<int>(new Future<Object>.value(12)); 17 wrapper = new TypeSafeFuture<int>(new Future<Object>.value(12));
19 18
20 var error = new Future<Object>.error("oh no"); 19 var error = new Future<Object>.error("oh no");
21 error.catchError((_) {}); // Don't let the error cause the test to fail. 20 error.catchError((_) {}); // Don't let the error cause the test to fail.
22 errorWrapper = new TypeSafeFuture<int>(error); 21 errorWrapper = new TypeSafeFuture<int>(error);
23 }); 22 });
24 23
25 test("asStream()", () { 24 test("asStream()", () {
26 expect(wrapper.asStream().toList(), completion(equals([12]))); 25 expect(wrapper.asStream().toList(), completion(equals([12])));
27 expect(errorWrapper.asStream().first, throwsA("oh no")); 26 expect(errorWrapper.asStream().first, throwsA("oh no"));
28 }); 27 });
29 28
30 test("catchError()", () { 29 test("catchError()", () {
31 expect( 30 expect(
32 wrapper.catchError(expectAsync((_) {}, count: 0), 31 wrapper.catchError(expectAsync((_) {}, count: 0),
33 test: expectAsync((_) {}, count: 0)), 32 test: expectAsync((_) {}, count: 0)),
34 completion(equals(12))); 33 completion(equals(12)));
35 34
36 expect(errorWrapper.catchError(expectAsync((error) { 35 expect(errorWrapper.catchError(expectAsync((error) {
37 expect(error, equals("oh no")); 36 expect(error, equals("oh no"));
38 return "value"; 37 return 42;
39 }), test: expectAsync((error) { 38 }), test: expectAsync((error) {
40 expect(error, equals("oh no")); 39 expect(error, equals("oh no"));
41 return true; 40 return true;
42 })), completion(equals("value"))); 41 })), completion(equals(42)));
43 }); 42 });
44 43
45 test("then()", () { 44 test("then()", () {
46 expect(wrapper.then((value) => value.toString()), 45 expect(wrapper.then((value) => value.toString()),
47 completion(equals("12"))); 46 completion(equals("12")));
48 expect(errorWrapper.then(expectAsync((_) {}, count: 0)), 47 expect(errorWrapper.then(expectAsync((_) {}, count: 0)),
49 throwsA("oh no")); 48 throwsA("oh no"));
50 }); 49 });
51 50
52 test("whenComplete()", () { 51 test("whenComplete()", () {
(...skipping 11 matching lines...) Expand all
64 throwsA(new isInstanceOf<TimeoutException>())); 63 throwsA(new isInstanceOf<TimeoutException>()));
65 64
66 expect( 65 expect(
67 new TypeSafeFuture<int>(new Completer<Object>().future) 66 new TypeSafeFuture<int>(new Completer<Object>().future)
68 .timeout(Duration.ZERO, onTimeout: expectAsync(() => 15)), 67 .timeout(Duration.ZERO, onTimeout: expectAsync(() => 15)),
69 completion(equals(15))); 68 completion(equals(15)));
70 }); 69 });
71 }); 70 });
72 71
73 group("with invalid types", () { 72 group("with invalid types", () {
74 var wrapper; 73 TypeSafeFuture<int> wrapper;
75 setUp(() { 74 setUp(() {
76 wrapper = new TypeSafeFuture<int>(new Future<Object>.value("foo")); 75 wrapper = new TypeSafeFuture<int>(new Future<Object>.value("foo"));
77 }); 76 });
78 77
79 group("throws a CastError for", () { 78 group("throws a CastError for", () {
80 test("asStream()", () { 79 test("asStream()", () {
81 expect(wrapper.asStream().first, throwsCastError); 80 expect(wrapper.asStream().first, throwsCastError);
82 }); 81 });
83 82
84 test("then()", () { 83 test("then()", () {
(...skipping 12 matching lines...) Expand all
97 expect(wrapper.timeout(new Duration(seconds: 3)).then((_) {}), 96 expect(wrapper.timeout(new Duration(seconds: 3)).then((_) {}),
98 throwsCastError); 97 throwsCastError);
99 98
100 expect( 99 expect(
101 new TypeSafeFuture<int>(new Completer<Object>().future) 100 new TypeSafeFuture<int>(new Completer<Object>().future)
102 .timeout(Duration.ZERO, onTimeout: expectAsync(() => "foo")) 101 .timeout(Duration.ZERO, onTimeout: expectAsync(() => "foo"))
103 .then((_) {}), 102 .then((_) {}),
104 throwsCastError); 103 throwsCastError);
105 }); 104 });
106 }); 105 });
107
108 group("doesn't throw a CastError for", () {
109 test("catchError()", () {
110 // catchError has a Future<dynamic> return type, so even if there's no
111 // error we don't re-wrap the returned future.
112 expect(wrapper.catchError(expectAsync((_) {}, count: 0)),
113 completion(equals("foo")));
114 });
115 });
116 }); 106 });
117 } 107 }
OLDNEW
« no previous file with comments | « test/subscription_stream_test.dart ('k') | test/typed_wrapper/stream_subscription_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698