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

Side by Side Diff: tests/corelib/future_test.dart

Issue 11783009: Big merge from experimental to bleeding edge. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 11 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 | « tests/corelib/for_in_test.dart ('k') | tests/corelib/futures_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) 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 // TODO(ajohnsen): This test needs to be updated.
6 // Can Dart2JS on V8 somehow run it?
7
5 // Tests for Future.immediate 8 // Tests for Future.immediate
9 import 'dart:async';
10 import 'dart:isolate';
6 11
7 testImmediate() { 12 testImmediate() {
8 final future = new Future<String>.immediate("42"); 13 final future = new Future<String>.immediate("42");
9 Expect.isTrue(future.isComplete); 14 future.then((x) => Expect.equals("42", x));
10 Expect.isTrue(future.hasValue);
11 var value = null;
12 future.then((x) => value = x);
13 Expect.equals("42", value);
14 } 15 }
15 16
16 // Tests for getters (value, exception, isComplete, isValue) 17 // Tests for getters (value, exception, isComplete, isValue)
17 18
18 testNeverComplete() { 19 testNeverComplete() {
19 final completer = new Completer<int>(); 20 final completer = new Completer<int>();
20 final future = completer.future; 21 final future = completer.future;
21 Expect.isFalse(future.isComplete); 22 future.then((v) => Except.fails("Value not expected"));
22 Expect.isFalse(future.hasValue); 23 future.catchError((e) => Except.fails("Value not expected"));
23 Expect.throws(() { future.value; });
24 Expect.throws(() { future.exception; });
25 } 24 }
26 25
27 testComplete() { 26 testComplete() {
28 final completer = new Completer<int>(); 27 final completer = new Completer<int>();
29 final future = completer.future; 28 final future = completer.future;
30 29
31 completer.complete(3); 30 completer.complete(3);
32 31
33 Expect.isTrue(future.isComplete); 32 future.then((v) => Expect.equals(3, v));
34 Expect.isTrue(future.hasValue);
35 Expect.equals(3, future.value);
36 Expect.isNull(future.exception);
37 }
38
39 // Tests for [onComplete]
40
41 testCompleteWithCompleteHandlerBeforeComplete() {
42 final completer = new Completer<int>();
43 final future = completer.future;
44
45 int before;
46 future.onComplete((f) {
47 Expect.equals(future, f);
48 Expect.isTrue(f.isComplete);
49 Expect.isTrue(f.hasValue);
50 before = f.value;
51 });
52 Expect.throws(() => future.value);
53 Expect.isNull(before);
54 completer.complete(3);
55
56 Expect.equals(3, future.value);
57 Expect.equals(3, before);
58 }
59
60 testExceptionWithCompleteHandlerBeforeComplete() {
61 final completer = new Completer<int>();
62 final future = completer.future;
63 final exception = new Exception();
64
65 var err;
66 future.onComplete((f) {
67 Expect.equals(future, f);
68 Expect.isTrue(f.isComplete);
69 Expect.isFalse(f.hasValue);
70 err = f.exception;
71 });
72 Expect.throws(() => future.exception);
73 Expect.isNull(err);
74 completer.completeException(exception);
75 Expect.equals(exception, future.exception);
76 Expect.equals(exception, err);
77 Expect.throws(() => future.value, (e) => e.source == exception);
78 }
79
80 testCompleteWithCompleteHandlerAfterComplete() {
81 final completer = new Completer<int>();
82 final future = completer.future;
83
84 int after;
85 completer.complete(3);
86 future.onComplete((f) {
87 Expect.equals(future, f);
88 Expect.isTrue(f.isComplete);
89 Expect.isTrue(f.hasValue);
90 after = f.value;
91 });
92 Expect.equals(3, future.value);
93 Expect.equals(3, after);
94 }
95
96 testExceptionWithCompleteHandlerAfterComplete() {
97 final completer = new Completer<int>();
98 final future = completer.future;
99 final exception = new Exception();
100
101 var err;
102 completer.completeException(exception);
103 future.onComplete((f) {
104 Expect.equals(future, f);
105 Expect.isTrue(f.isComplete);
106 Expect.isFalse(f.hasValue);
107 err = f.exception;
108 });
109 Expect.equals(exception, future.exception);
110 Expect.equals(exception, err);
111 Expect.throws(() => future.value, (e) => e.source == exception);
112 }
113
114 testCompleteWithManyCompleteHandlers() {
115 final completer = new Completer<int>();
116 final future = completer.future;
117 int before;
118 int after1;
119 int after2;
120
121 future.onComplete((f) { before = f.value; });
122 completer.complete(3);
123 future.onComplete((f) { after1 = f.value; });
124 future.onComplete((f) { after2 = f.value; });
125
126 Expect.equals(3, future.value);
127 Expect.equals(3, before);
128 Expect.equals(3, after1);
129 Expect.equals(3, after2);
130 }
131
132 testExceptionWithManyCompleteHandlers() {
133 final completer = new Completer<int>();
134 final future = completer.future;
135 final exception = new Exception();
136 var before;
137 var after1;
138 var after2;
139
140 future.onComplete((f) { before = f.exception; });
141 completer.completeException(exception);
142 future.onComplete((f) { after1 = f.exception; });
143 future.onComplete((f) { after2 = f.exception; });
144
145 Expect.equals(exception, future.exception);
146 Expect.equals(exception, before);
147 Expect.equals(exception, after1);
148 Expect.equals(exception, after2);
149 Expect.throws(() => future.value, (e) => e.source == exception);
150 } 33 }
151 34
152 // Tests for [then] 35 // Tests for [then]
153 36
154 testCompleteWithSuccessHandlerBeforeComplete() { 37 testCompleteWithSuccessHandlerBeforeComplete() {
155 final completer = new Completer<int>(); 38 final completer = new Completer<int>();
156 final future = completer.future; 39 final future = completer.future;
157 40
158 int before; 41 int before;
159 future.then((int v) { before = v; }); 42 future.then((int v) { before = v; });
160 Expect.throws(() { future.value; });
161 Expect.isNull(before); 43 Expect.isNull(before);
162 completer.complete(3); 44 completer.complete(3);
163 45
164 Expect.equals(3, future.value);
165 Expect.equals(3, before); 46 Expect.equals(3, before);
166 } 47 }
167 48
168 testCompleteWithSuccessHandlerAfterComplete() { 49 testCompleteWithSuccessHandlerAfterComplete() {
169 final completer = new Completer<int>(); 50 final completer = new Completer<int>();
170 final future = completer.future; 51 final future = completer.future;
171 52
172 int after; 53 int after;
173 completer.complete(3); 54 completer.complete(3);
174 Expect.equals(3, future.value);
175 Expect.isNull(after); 55 Expect.isNull(after);
176 56
177 future.then((int v) { after = v; }); 57 future.then((int v) { after = v; });
178 58
179 Expect.equals(3, future.value);
180 Expect.equals(3, after); 59 Expect.equals(3, after);
181 } 60 }
182 61
183 testCompleteManySuccessHandlers() { 62 testCompleteManySuccessHandlers() {
184 final completer = new Completer<int>(); 63 final completer = new Completer<int>();
185 final future = completer.future; 64 final future = completer.future;
186 int before; 65 int before;
187 int after1; 66 int after1;
188 int after2; 67 int after2;
189 68
190 future.then((int v) { before = v; }); 69 future.then((int v) { before = v; });
191 completer.complete(3); 70 completer.complete(3);
192 future.then((int v) { after1 = v; }); 71 future.then((int v) { after1 = v; });
193 future.then((int v) { after2 = v; }); 72 future.then((int v) { after2 = v; });
194 73
195 Expect.equals(3, future.value);
196 Expect.equals(3, before); 74 Expect.equals(3, before);
197 Expect.equals(3, after1); 75 Expect.equals(3, after1);
198 Expect.equals(3, after2); 76 Expect.equals(3, after2);
199 } 77 }
200 78
201 // Tests for [handleException] 79 // Tests for [handleException]
202 80
203 testException() { 81 testException() {
204 final completer = new Completer<int>(); 82 final completer = new Completer<int>();
205 final future = completer.future; 83 final future = completer.future;
206 final ex = new Exception(); 84 final ex = new Exception();
207 future.then((_) {}); // exception is thrown if we plan to use the value 85 // future.catchError((e) => print("got error"));//Expect.equals(e, ex));
208 Expect.throws( 86 future.then((v) {print(v);})
209 () { completer.completeException(ex); }, 87 .catchError((e) => Expect.equals(e.error, ex));
210 (e) => e.source == ex); 88 completer.completeError(ex);
211 } 89 }
212 90
213 testExceptionNoSuccessListeners() { 91 testExceptionNoSuccessListeners() {
214 final completer = new Completer<int>(); 92 final completer = new Completer<int>();
215 final future = completer.future; 93 final future = completer.future;
216 final ex = new Exception(); 94 final ex = new Exception();
217 completer.completeException(ex); // future.then is not called, so no exception 95 completer.completeException(ex); // future.then is not called, so no exception
218 } 96 }
219 97
220 testExceptionHandler() { 98 testExceptionHandler() {
221 final completer = new Completer<int>(); 99 final completer = new Completer<int>();
222 final future = completer.future; 100 final future = completer.future;
223 final ex = new Exception(); 101 final ex = new Exception();
224 102
225 var ex2; 103 var ex2;
226 future.handleException((e) { ex2 = e; return true; }); 104 future.catchError((e) { ex2 = e.error; });
227 completer.completeException(ex); 105 completer.completeError(ex);
228 Expect.equals(ex, ex2); 106 Expect.equals(ex, ex2);
229 } 107 }
230 108
231 testExceptionHandlerReturnsTrue() { 109 testExceptionHandlerReturnsTrue() {
232 final completer = new Completer<int>(); 110 final completer = new Completer<int>();
233 final future = completer.future; 111 final future = completer.future;
234 final ex = new Exception(); 112 final ex = new Exception();
235 113
236 bool reached = false; 114 bool reached = false;
237 future.handleException((e) { return true; }); 115 future.catchError((e) { });
238 future.handleException((e) { reached = true; return false; }); // overshadowed 116 future.catchError((e) { reached = true; }, test: (e) => false)
239 completer.completeException(ex); 117 .catchError((e) {});
118 completer.completeError(ex);
240 Expect.isFalse(reached); 119 Expect.isFalse(reached);
241 } 120 }
242 121
243 testExceptionHandlerReturnsTrue2() { 122 testExceptionHandlerReturnsTrue2() {
244 final completer = new Completer<int>(); 123 final completer = new Completer<int>();
245 final future = completer.future; 124 final future = completer.future;
246 final ex = new Exception(); 125 final ex = new Exception();
247 126
248 bool reached = false; 127 bool reached = false;
249 future.handleException((e) { return false; }); 128 future.catchError((e) { }, test: (e) => false)
250 future.handleException((e) { reached = true; return true; }); 129 .catchError((e) { reached = true; });
251 completer.completeException(ex); 130 completer.completeError(ex);
252 Expect.isTrue(reached); 131 Expect.isTrue(reached);
253 } 132 }
254 133
255 testExceptionHandlerReturnsFalse() { 134 testExceptionHandlerReturnsFalse() {
256 final completer = new Completer<int>(); 135 final completer = new Completer<int>();
257 final future = completer.future; 136 final future = completer.future;
258 final ex = new Exception(); 137 final ex = new Exception();
259 138
260 bool reached = false; 139 bool reached = false;
261 future.then((_) {}); // ensure exception is thrown... 140
262 future.handleException((e) { return false; }); 141 future.catchError((e) { });
263 future.handleException((e) { reached = true; return false; }); // overshadowed 142
264 Expect.throws( 143 future.catchError((e) { reached = true; }, test: (e) => false)
265 () { completer.completeException(ex); }, 144 .catchError((e) { });
266 (e) => e.source == ex); 145
267 Expect.isTrue(reached); 146 completer.completeError(ex);
147
148 Expect.isFalse(reached);
268 } 149 }
269 150
270 testExceptionHandlerReturnsFalse2() { 151 testExceptionHandlerReturnsFalse2() {
271 final completer = new Completer<int>(); 152 final completer = new Completer<int>();
272 final future = completer.future; 153 final future = completer.future;
273 final ex = new Exception(); 154 final ex = new Exception();
274 155
275 bool reached = false; 156 bool reached = false;
276 future.handleException((e) { return false; }); 157 future.handleException((e) { return false; });
277 future.handleException((e) { reached = true; return false; }); // overshadowed 158 future.handleException((e) { reached = true; return false; }); // overshadowed
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
324 final completer = new Completer(); 205 final completer = new Completer();
325 final future = completer.future; 206 final future = completer.future;
326 207
327 final stackTrace = 'fake stack trace'; 208 final stackTrace = 'fake stack trace';
328 completer.completeException(new Exception(), stackTrace); 209 completer.completeException(new Exception(), stackTrace);
329 Expect.equals(stackTrace, future.stackTrace); 210 Expect.equals(stackTrace, future.stackTrace);
330 } 211 }
331 212
332 testCallStackIsCapturedIfTransformCallbackThrows() { 213 testCallStackIsCapturedIfTransformCallbackThrows() {
333 final completer = new Completer(); 214 final completer = new Completer();
334 final transformed = completer.future.transform((_) { 215 final transformed = completer.future.then((_) {
335 throw 'whoops!'; 216 throw 'whoops!';
336 }); 217 });
337 218
338 final stackTrace = 'fake stack trace'; 219 final stackTrace = 'fake stack trace';
339 completer.complete('blah'); 220 completer.complete('blah');
340 Expect.isNotNull(transformed.stackTrace); 221 Expect.isNotNull(transformed.stackTrace);
341 } 222 }
342 223
343 testCallStackIsCapturedIfChainCallbackThrows() { 224 testCallStackIsCapturedIfChainCallbackThrows() {
344 final completer = new Completer(); 225 final completer = new Completer();
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
421 future.then((v) => Expect.fail("Should not succeed")); 302 future.then((v) => Expect.fail("Should not succeed"));
422 completer.completeException(ex); 303 completer.completeException(ex);
423 Expect.equals(ex, exceptionFromCompleteHandler); 304 Expect.equals(ex, exceptionFromCompleteHandler);
424 Expect.equals(ex, exceptionFromExceptionHandler); 305 Expect.equals(ex, exceptionFromExceptionHandler);
425 } 306 }
426 307
427 // Tests for Future.transform 308 // Tests for Future.transform
428 309
429 testTransformSuccess() { 310 testTransformSuccess() {
430 final completer = new Completer<String>(); 311 final completer = new Completer<String>();
431 final transformedFuture = completer.future.transform((x) => "** $x **"); 312 final transformedFuture = completer.future.then((x) => "** $x **");
432 Expect.isFalse(transformedFuture.isComplete); 313 Expect.isFalse(transformedFuture.isComplete);
433 completer.complete("42"); 314 completer.complete("42");
434 Expect.equals("** 42 **", transformedFuture.value); 315 Expect.equals("** 42 **", transformedFuture.value);
435 } 316 }
436 317
437 testTransformFutureFails() { 318 testTransformFutureFails() {
438 final completer = new Completer<String>(); 319 final completer = new Completer<String>();
439 final error = new Exception("Oh no!"); 320 final error = new Exception("Oh no!");
440 final transformedFuture = completer.future.transform((x) { 321 final transformedFuture = completer.future.then((x) {
441 Expect.fail("transformer shouldn't be called"); 322 Expect.fail("transformer shouldn't be called");
442 }); 323 });
443 Expect.isFalse(transformedFuture.isComplete); 324 Expect.isFalse(transformedFuture.isComplete);
444 completer.completeException(error); 325 completer.completeException(error);
445 Expect.equals(error, transformedFuture.exception); 326 Expect.equals(error, transformedFuture.exception);
446 } 327 }
447 328
448 testTransformTransformerFails() { 329 testTransformTransformerFails() {
449 final completer = new Completer<String>(); 330 final completer = new Completer<String>();
450 final error = new Exception("Oh no!"); 331 final error = new Exception("Oh no!");
451 final transformedFuture = completer.future.transform((x) { throw error; }); 332 final transformedFuture = completer.future.then((x) { throw error; });
452 Expect.isFalse(transformedFuture.isComplete); 333 Expect.isFalse(transformedFuture.isComplete);
453 transformedFuture.then((v) => null); 334 transformedFuture.then((v) => null);
454 Expect.throws(() => completer.complete("42"), (e) => e.source == error); 335 Expect.throws(() => completer.complete("42"), (e) => e.source == error);
455 Expect.equals(error, transformedFuture.exception); 336 Expect.equals(error, transformedFuture.exception);
456 } 337 }
457 338
458 // Tests for Future.chain 339 // Tests for Future.chain
459 340
460 testChainSuccess() { 341 testChainSuccess() {
461 final completerA = new Completer<String>(); 342 final completerA = new Completer<String>();
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
577 Expect.isTrue(transformedFuture.isComplete); 458 Expect.isTrue(transformedFuture.isComplete);
578 Expect.equals("transformed value", transformedFuture.value); 459 Expect.equals("transformed value", transformedFuture.value);
579 } 460 }
580 461
581 // Tests for branching exceptions 462 // Tests for branching exceptions
582 463
583 testExceptionTravelsAlongBothBranches() { 464 testExceptionTravelsAlongBothBranches() {
584 var results = <int>[]; 465 var results = <int>[];
585 466
586 var completer = new Completer(); 467 var completer = new Completer();
587 var branch1 = completer.future.transform((_) => null); 468 var branch1 = completer.future.then((_) => null);
588 var branch2 = completer.future.transform((_) => null); 469 var branch2 = completer.future.then((_) => null);
589 470
590 branch1.handleException((e) { 471 branch1.handleException((e) {
591 results.add(1); 472 results.add(1);
592 return true; 473 return true;
593 }); 474 });
594 475
595 branch2.handleException((e) { 476 branch2.handleException((e) {
596 results.add(2); 477 results.add(2);
597 return true; 478 return true;
598 }); 479 });
599 480
600 completer.completeException("error"); 481 completer.completeException("error");
601 Expect.setEquals([1, 2], results); 482 Expect.setEquals([1, 2], results);
602 } 483 }
603 484
604 testExceptionTravelsAlongBothBranchesAfterComplete() { 485 testExceptionTravelsAlongBothBranchesAfterComplete() {
605 var results = <int>[]; 486 var results = <int>[];
606 487
607 var completer = new Completer(); 488 var completer = new Completer();
608 completer.completeException("error"); 489 completer.completeException("error");
609 490
610 var branch1 = completer.future.transform((_) => null); 491 var branch1 = completer.future.then((_) => null);
611 var branch2 = completer.future.transform((_) => null); 492 var branch2 = completer.future.then((_) => null);
612 493
613 branch1.handleException((e) { 494 branch1.handleException((e) {
614 results.add(1); 495 results.add(1);
615 return true; 496 return true;
616 }); 497 });
617 498
618 branch2.handleException((e) { 499 branch2.handleException((e) {
619 results.add(2); 500 results.add(2);
620 return true; 501 return true;
621 }); 502 });
622 503
623 Expect.setEquals([1, 2], results); 504 Expect.setEquals([1, 2], results);
624 } 505 }
625 506
626 testExceptionIsHandledInBaseAndBranch() { 507 testExceptionIsHandledInBaseAndBranch() {
627 var results = <String>[]; 508 var results = <String>[];
628 509
629 var completer = new Completer(); 510 var completer = new Completer();
630 var branch = completer.future.transform((_) => null); 511 var branch = completer.future.then((_) => null);
631 512
632 completer.future.handleException((e) { 513 completer.future.handleException((e) {
633 results.add("base"); 514 results.add("base");
634 return true; 515 return true;
635 }); 516 });
636 517
637 branch.handleException((e) { 518 branch.handleException((e) {
638 results.add("branch"); 519 results.add("branch");
639 return true; 520 return true;
640 }); 521 });
641 522
642 completer.completeException("error"); 523 completer.completeException("error");
643 Expect.setEquals(["base", "branch"], results); 524 Expect.setEquals(["base", "branch"], results);
644 } 525 }
645 526
646 testExceptionIsHandledInBaseAndBranchAfterComplete() { 527 testExceptionIsHandledInBaseAndBranchAfterComplete() {
647 var results = <String>[]; 528 var results = <String>[];
648 529
649 var completer = new Completer(); 530 var completer = new Completer();
650 completer.completeException("error"); 531 completer.completeException("error");
651 532
652 var branch = completer.future.transform((_) => null); 533 var branch = completer.future.then((_) => null);
653 534
654 completer.future.handleException((e) { 535 completer.future.handleException((e) {
655 results.add("base"); 536 results.add("base");
656 return true; 537 return true;
657 }); 538 });
658 539
659 branch.handleException((e) { 540 branch.handleException((e) {
660 results.add("branch"); 541 results.add("branch");
661 return true; 542 return true;
662 }); 543 });
663 544
664 Expect.setEquals(["base", "branch"], results); 545 Expect.setEquals(["base", "branch"], results);
665 } 546 }
666 547
667 main() { 548 main() {
549 // /*
668 testImmediate(); 550 testImmediate();
669 testNeverComplete(); 551 testNeverComplete();
670 testComplete(); 552 testComplete();
671 testCompleteWithCompleteHandlerBeforeComplete();
672 testExceptionWithCompleteHandlerBeforeComplete();
673 testCompleteWithCompleteHandlerAfterComplete();
674 testExceptionWithCompleteHandlerAfterComplete();
675 testCompleteWithManyCompleteHandlers();
676 testExceptionWithManyCompleteHandlers();
677 testCompleteWithSuccessHandlerBeforeComplete(); 553 testCompleteWithSuccessHandlerBeforeComplete();
678 testCompleteWithSuccessHandlerAfterComplete(); 554 testCompleteWithSuccessHandlerAfterComplete();
679 testCompleteManySuccessHandlers(); 555 testCompleteManySuccessHandlers();
680 testException(); 556 testException();
681 testExceptionHandler(); 557 testExceptionHandler();
682 testExceptionHandlerReturnsTrue(); 558 testExceptionHandlerReturnsTrue();
683 testExceptionHandlerReturnsTrue2(); 559 testExceptionHandlerReturnsTrue2();
684 testExceptionHandlerReturnsFalse(); 560 testExceptionHandlerReturnsFalse();
561 // */
562 /*
563 */
564 /*
685 testExceptionHandlerReturnsFalse2(); 565 testExceptionHandlerReturnsFalse2();
686 testExceptionHandlerAfterCompleteThenNotCalled(); 566 testExceptionHandlerAfterCompleteThenNotCalled();
687 testExceptionHandlerAfterCompleteReturnsFalseThenThrows(); 567 testExceptionHandlerAfterCompleteReturnsFalseThenThrows();
688 testCallStackThrowsIfNotComplete(); 568 testCallStackThrowsIfNotComplete();
689 testCallStackIsNullIfCompletedSuccessfully(); 569 testCallStackIsNullIfCompletedSuccessfully();
690 testCallStackReturnsCallstackPassedToCompleteException(); 570 testCallStackReturnsCallstackPassedToCompleteException();
691 testCallStackIsCapturedIfTransformCallbackThrows(); 571 testCallStackIsCapturedIfTransformCallbackThrows();
692 testCallStackIsCapturedIfChainCallbackThrows(); 572 testCallStackIsCapturedIfChainCallbackThrows();
693 testCallStackIsPreservedIfExceptionIsRethrownInTransformException(); 573 testCallStackIsPreservedIfExceptionIsRethrownInTransformException();
694 testCompleteWithCompletionAndSuccessHandlers(); 574 testCompleteWithCompletionAndSuccessHandlers();
695 testExceptionWithCompletionAndSuccessHandlers(); 575 testExceptionWithCompletionAndSuccessHandlers();
696 testExceptionWithCompletionAndSuccessAndExceptionHandlers(); 576 testExceptionWithCompletionAndSuccessAndExceptionHandlers();
697 testTransformSuccess(); 577 testTransformSuccess();
698 testTransformFutureFails(); 578 testTransformFutureFails();
699 testTransformTransformerFails(); 579 testTransformTransformerFails();
700 testChainSuccess(); 580 testChainSuccess();
701 testChainFirstFutureFails(); 581 testChainFirstFutureFails();
702 testChainTransformerFails(); 582 testChainTransformerFails();
703 testChainSecondFutureFails(); 583 testChainSecondFutureFails();
704 testTransformExceptionCompletesNormally(); 584 testTransformExceptionCompletesNormally();
705 testTransformExceptionThrows(); 585 testTransformExceptionThrows();
706 testTransformExceptionReturns(); 586 testTransformExceptionReturns();
707 testTransformExceptionReturnsAFuture(); 587 testTransformExceptionReturnsAFuture();
708 testExceptionTravelsAlongBothBranches(); 588 testExceptionTravelsAlongBothBranches();
709 testExceptionTravelsAlongBothBranchesAfterComplete(); 589 testExceptionTravelsAlongBothBranchesAfterComplete();
710 testExceptionIsHandledInBaseAndBranch(); 590 testExceptionIsHandledInBaseAndBranch();
711 testExceptionIsHandledInBaseAndBranchAfterComplete(); 591 testExceptionIsHandledInBaseAndBranchAfterComplete();
592 */
712 } 593 }
OLDNEW
« no previous file with comments | « tests/corelib/for_in_test.dart ('k') | tests/corelib/futures_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698