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

Side by Side Diff: test/backend/declarer_test.dart

Issue 2515303002: Add expectAsyncX and expectAsyncUntilX methods, and deprecate the old methods. (Closed)
Patch Set: Mark parameter types as Object. Created 4 years 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 | « lib/src/frontend/expect_async.dart ('k') | test/backend/invoker_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) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, 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:test/src/backend/group.dart'; 7 import 'package:test/src/backend/group.dart';
8 import 'package:test/src/backend/invoker.dart'; 8 import 'package:test/src/backend/invoker.dart';
9 import 'package:test/src/backend/suite.dart'; 9 import 'package:test/src/backend/suite.dart';
10 import 'package:test/src/backend/test.dart'; 10 import 'package:test/src/backend/test.dart';
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
58 expect(tests[2].name, equals("description 3")); 58 expect(tests[2].name, equals("description 3"));
59 }); 59 });
60 }); 60 });
61 61
62 group(".setUp()", () { 62 group(".setUp()", () {
63 test("is run before all tests", () async { 63 test("is run before all tests", () async {
64 var setUpRun = false; 64 var setUpRun = false;
65 var tests = declare(() { 65 var tests = declare(() {
66 setUp(() => setUpRun = true); 66 setUp(() => setUpRun = true);
67 67
68 test("description 1", expectAsync(() { 68 test("description 1", expectAsync0(() {
69 expect(setUpRun, isTrue); 69 expect(setUpRun, isTrue);
70 setUpRun = false; 70 setUpRun = false;
71 }, max: 1)); 71 }, max: 1));
72 72
73 test("description 2", expectAsync(() { 73 test("description 2", expectAsync0(() {
74 expect(setUpRun, isTrue); 74 expect(setUpRun, isTrue);
75 setUpRun = false; 75 setUpRun = false;
76 }, max: 1)); 76 }, max: 1));
77 }); 77 });
78 78
79 await _runTest(tests[0]); 79 await _runTest(tests[0]);
80 await _runTest(tests[1]); 80 await _runTest(tests[1]);
81 }); 81 });
82 82
83 test("can return a Future", () { 83 test("can return a Future", () {
84 var setUpRun = false; 84 var setUpRun = false;
85 var tests = declare(() { 85 var tests = declare(() {
86 setUp(() { 86 setUp(() {
87 return new Future(() => setUpRun = true); 87 return new Future(() => setUpRun = true);
88 }); 88 });
89 89
90 test("description", expectAsync(() { 90 test("description", expectAsync0(() {
91 expect(setUpRun, isTrue); 91 expect(setUpRun, isTrue);
92 }, max: 1)); 92 }, max: 1));
93 }); 93 });
94 94
95 return _runTest(tests.single); 95 return _runTest(tests.single);
96 }); 96 });
97 97
98 test("runs in call order within a group", () async { 98 test("runs in call order within a group", () async {
99 var firstSetUpRun = false; 99 var firstSetUpRun = false;
100 var secondSetUpRun = false; 100 var secondSetUpRun = false;
101 var thirdSetUpRun = false; 101 var thirdSetUpRun = false;
102 var tests = declare(() { 102 var tests = declare(() {
103 setUp(expectAsync(() async { 103 setUp(expectAsync0(() async {
104 expect(secondSetUpRun, isFalse); 104 expect(secondSetUpRun, isFalse);
105 expect(thirdSetUpRun, isFalse); 105 expect(thirdSetUpRun, isFalse);
106 firstSetUpRun = true; 106 firstSetUpRun = true;
107 })); 107 }));
108 108
109 setUp(expectAsync(() async { 109 setUp(expectAsync0(() async {
110 expect(firstSetUpRun, isTrue); 110 expect(firstSetUpRun, isTrue);
111 expect(thirdSetUpRun, isFalse); 111 expect(thirdSetUpRun, isFalse);
112 secondSetUpRun = true; 112 secondSetUpRun = true;
113 })); 113 }));
114 114
115 setUp(expectAsync(() async { 115 setUp(expectAsync0(() async {
116 expect(firstSetUpRun, isTrue); 116 expect(firstSetUpRun, isTrue);
117 expect(secondSetUpRun, isTrue); 117 expect(secondSetUpRun, isTrue);
118 thirdSetUpRun = true; 118 thirdSetUpRun = true;
119 })); 119 }));
120 120
121 test("description", expectAsync(() { 121 test("description", expectAsync0(() {
122 expect(firstSetUpRun, isTrue); 122 expect(firstSetUpRun, isTrue);
123 expect(secondSetUpRun, isTrue); 123 expect(secondSetUpRun, isTrue);
124 expect(thirdSetUpRun, isTrue); 124 expect(thirdSetUpRun, isTrue);
125 })); 125 }));
126 }); 126 });
127 127
128 await _runTest(tests.single); 128 await _runTest(tests.single);
129 }); 129 });
130 }); 130 });
131 131
132 group(".tearDown()", () { 132 group(".tearDown()", () {
133 test("is run after all tests", () async { 133 test("is run after all tests", () async {
134 var tearDownRun; 134 var tearDownRun;
135 var tests = declare(() { 135 var tests = declare(() {
136 setUp(() => tearDownRun = false); 136 setUp(() => tearDownRun = false);
137 tearDown(() => tearDownRun = true); 137 tearDown(() => tearDownRun = true);
138 138
139 test("description 1", expectAsync(() { 139 test("description 1", expectAsync0(() {
140 expect(tearDownRun, isFalse); 140 expect(tearDownRun, isFalse);
141 }, max: 1)); 141 }, max: 1));
142 142
143 test("description 2", expectAsync(() { 143 test("description 2", expectAsync0(() {
144 expect(tearDownRun, isFalse); 144 expect(tearDownRun, isFalse);
145 }, max: 1)); 145 }, max: 1));
146 }); 146 });
147 147
148 await _runTest(tests[0]); 148 await _runTest(tests[0]);
149 expect(tearDownRun, isTrue); 149 expect(tearDownRun, isTrue);
150 await _runTest(tests[1]); 150 await _runTest(tests[1]);
151 expect(tearDownRun, isTrue); 151 expect(tearDownRun, isTrue);
152 }); 152 });
153 153
154 test("is run after an out-of-band failure", () async { 154 test("is run after an out-of-band failure", () async {
155 var tearDownRun; 155 var tearDownRun;
156 var tests = declare(() { 156 var tests = declare(() {
157 setUp(() => tearDownRun = false); 157 setUp(() => tearDownRun = false);
158 tearDown(() => tearDownRun = true); 158 tearDown(() => tearDownRun = true);
159 159
160 test("description 1", expectAsync(() { 160 test("description 1", expectAsync0(() {
161 Invoker.current.addOutstandingCallback(); 161 Invoker.current.addOutstandingCallback();
162 new Future(() => throw new TestFailure("oh no")); 162 new Future(() => throw new TestFailure("oh no"));
163 }, max: 1)); 163 }, max: 1));
164 }); 164 });
165 165
166 await _runTest(tests.single, shouldFail: true); 166 await _runTest(tests.single, shouldFail: true);
167 expect(tearDownRun, isTrue); 167 expect(tearDownRun, isTrue);
168 }); 168 });
169 169
170 test("can return a Future", () async { 170 test("can return a Future", () async {
171 var tearDownRun = false; 171 var tearDownRun = false;
172 var tests = declare(() { 172 var tests = declare(() {
173 tearDown(() { 173 tearDown(() {
174 return new Future(() => tearDownRun = true); 174 return new Future(() => tearDownRun = true);
175 }); 175 });
176 176
177 test("description", expectAsync(() { 177 test("description", expectAsync0(() {
178 expect(tearDownRun, isFalse); 178 expect(tearDownRun, isFalse);
179 }, max: 1)); 179 }, max: 1));
180 }); 180 });
181 181
182 await _runTest(tests.single); 182 await _runTest(tests.single);
183 expect(tearDownRun, isTrue); 183 expect(tearDownRun, isTrue);
184 }); 184 });
185 185
186 test("isn't run until there are no outstanding callbacks", () async { 186 test("isn't run until there are no outstanding callbacks", () async {
187 var outstandingCallbackRemoved = false; 187 var outstandingCallbackRemoved = false;
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
220 220
221 await _runTest(tests.single); 221 await _runTest(tests.single);
222 expect(outstandingCallbackRemoved, isTrue); 222 expect(outstandingCallbackRemoved, isTrue);
223 }); 223 });
224 224
225 test("runs in reverse call order within a group", () async { 225 test("runs in reverse call order within a group", () async {
226 var firstTearDownRun = false; 226 var firstTearDownRun = false;
227 var secondTearDownRun = false; 227 var secondTearDownRun = false;
228 var thirdTearDownRun = false; 228 var thirdTearDownRun = false;
229 var tests = declare(() { 229 var tests = declare(() {
230 tearDown(expectAsync(() async { 230 tearDown(expectAsync0(() async {
231 expect(secondTearDownRun, isTrue); 231 expect(secondTearDownRun, isTrue);
232 expect(thirdTearDownRun, isTrue); 232 expect(thirdTearDownRun, isTrue);
233 firstTearDownRun = true; 233 firstTearDownRun = true;
234 })); 234 }));
235 235
236 tearDown(expectAsync(() async { 236 tearDown(expectAsync0(() async {
237 expect(firstTearDownRun, isFalse); 237 expect(firstTearDownRun, isFalse);
238 expect(thirdTearDownRun, isTrue); 238 expect(thirdTearDownRun, isTrue);
239 secondTearDownRun = true; 239 secondTearDownRun = true;
240 })); 240 }));
241 241
242 tearDown(expectAsync(() async { 242 tearDown(expectAsync0(() async {
243 expect(firstTearDownRun, isFalse); 243 expect(firstTearDownRun, isFalse);
244 expect(secondTearDownRun, isFalse); 244 expect(secondTearDownRun, isFalse);
245 thirdTearDownRun = true; 245 thirdTearDownRun = true;
246 })); 246 }));
247 247
248 test("description", expectAsync(() { 248 test("description", expectAsync0(() {
249 expect(firstTearDownRun, isFalse); 249 expect(firstTearDownRun, isFalse);
250 expect(secondTearDownRun, isFalse); 250 expect(secondTearDownRun, isFalse);
251 expect(thirdTearDownRun, isFalse); 251 expect(thirdTearDownRun, isFalse);
252 }, max: 1)); 252 }, max: 1));
253 }); 253 });
254 254
255 await _runTest(tests.single); 255 await _runTest(tests.single);
256 }); 256 });
257 257
258 test("runs further tearDowns in a group even if one fails", () async { 258 test("runs further tearDowns in a group even if one fails", () async {
259 var tests = declare(() { 259 var tests = declare(() {
260 tearDown(expectAsync(() {})); 260 tearDown(expectAsync0(() {}));
261 261
262 tearDown(() async { 262 tearDown(() async {
263 throw 'error'; 263 throw 'error';
264 }); 264 });
265 265
266 test("description", expectAsync(() {})); 266 test("description", expectAsync0(() {}));
267 }); 267 });
268 268
269 await _runTest(tests.single, shouldFail: true); 269 await _runTest(tests.single, shouldFail: true);
270 }); 270 });
271 }); 271 });
272 272
273 group("in a group,", () { 273 group("in a group,", () {
274 test("tests inherit the group's description", () { 274 test("tests inherit the group's description", () {
275 var entries = declare(() { 275 var entries = declare(() {
276 group("group", () { 276 group("group", () {
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
360 }); 360 });
361 }); 361 });
362 362
363 group(".setUp()", () { 363 group(".setUp()", () {
364 test("is scoped to the group", () async { 364 test("is scoped to the group", () async {
365 var setUpRun = false; 365 var setUpRun = false;
366 var entries = declare(() { 366 var entries = declare(() {
367 group("group", () { 367 group("group", () {
368 setUp(() => setUpRun = true); 368 setUp(() => setUpRun = true);
369 369
370 test("description 1", expectAsync(() { 370 test("description 1", expectAsync0(() {
371 expect(setUpRun, isTrue); 371 expect(setUpRun, isTrue);
372 setUpRun = false; 372 setUpRun = false;
373 }, max: 1)); 373 }, max: 1));
374 }); 374 });
375 375
376 test("description 2", expectAsync(() { 376 test("description 2", expectAsync0(() {
377 expect(setUpRun, isFalse); 377 expect(setUpRun, isFalse);
378 setUpRun = false; 378 setUpRun = false;
379 }, max: 1)); 379 }, max: 1));
380 }); 380 });
381 381
382 await _runTest((entries[0] as Group).entries.single); 382 await _runTest((entries[0] as Group).entries.single);
383 await _runTest(entries[1]); 383 await _runTest(entries[1]);
384 }); 384 });
385 385
386 test("runs from the outside in", () { 386 test("runs from the outside in", () {
387 var outerSetUpRun = false; 387 var outerSetUpRun = false;
388 var middleSetUpRun = false; 388 var middleSetUpRun = false;
389 var innerSetUpRun = false; 389 var innerSetUpRun = false;
390 var entries = declare(() { 390 var entries = declare(() {
391 setUp(expectAsync(() { 391 setUp(expectAsync0(() {
392 expect(middleSetUpRun, isFalse); 392 expect(middleSetUpRun, isFalse);
393 expect(innerSetUpRun, isFalse); 393 expect(innerSetUpRun, isFalse);
394 outerSetUpRun = true; 394 outerSetUpRun = true;
395 }, max: 1)); 395 }, max: 1));
396 396
397 group("middle", () { 397 group("middle", () {
398 setUp(expectAsync(() { 398 setUp(expectAsync0(() {
399 expect(outerSetUpRun, isTrue); 399 expect(outerSetUpRun, isTrue);
400 expect(innerSetUpRun, isFalse); 400 expect(innerSetUpRun, isFalse);
401 middleSetUpRun = true; 401 middleSetUpRun = true;
402 }, max: 1)); 402 }, max: 1));
403 403
404 group("inner", () { 404 group("inner", () {
405 setUp(expectAsync(() { 405 setUp(expectAsync0(() {
406 expect(outerSetUpRun, isTrue); 406 expect(outerSetUpRun, isTrue);
407 expect(middleSetUpRun, isTrue); 407 expect(middleSetUpRun, isTrue);
408 innerSetUpRun = true; 408 innerSetUpRun = true;
409 }, max: 1)); 409 }, max: 1));
410 410
411 test("description", expectAsync(() { 411 test("description", expectAsync0(() {
412 expect(outerSetUpRun, isTrue); 412 expect(outerSetUpRun, isTrue);
413 expect(middleSetUpRun, isTrue); 413 expect(middleSetUpRun, isTrue);
414 expect(innerSetUpRun, isTrue); 414 expect(innerSetUpRun, isTrue);
415 }, max: 1)); 415 }, max: 1));
416 }); 416 });
417 }); 417 });
418 }); 418 });
419 419
420 var middleGroup = entries.single as Group; 420 var middleGroup = entries.single as Group;
421 var innerGroup = middleGroup.entries.single as Group; 421 var innerGroup = middleGroup.entries.single as Group;
422 return _runTest(innerGroup.entries.single); 422 return _runTest(innerGroup.entries.single);
423 }); 423 });
424 424
425 test("handles Futures when chained", () { 425 test("handles Futures when chained", () {
426 var outerSetUpRun = false; 426 var outerSetUpRun = false;
427 var innerSetUpRun = false; 427 var innerSetUpRun = false;
428 var entries = declare(() { 428 var entries = declare(() {
429 setUp(expectAsync(() { 429 setUp(expectAsync0(() {
430 expect(innerSetUpRun, isFalse); 430 expect(innerSetUpRun, isFalse);
431 return new Future(() => outerSetUpRun = true); 431 return new Future(() => outerSetUpRun = true);
432 }, max: 1)); 432 }, max: 1));
433 433
434 group("inner", () { 434 group("inner", () {
435 setUp(expectAsync(() { 435 setUp(expectAsync0(() {
436 expect(outerSetUpRun, isTrue); 436 expect(outerSetUpRun, isTrue);
437 return new Future(() => innerSetUpRun = true); 437 return new Future(() => innerSetUpRun = true);
438 }, max: 1)); 438 }, max: 1));
439 439
440 test("description", expectAsync(() { 440 test("description", expectAsync0(() {
441 expect(outerSetUpRun, isTrue); 441 expect(outerSetUpRun, isTrue);
442 expect(innerSetUpRun, isTrue); 442 expect(innerSetUpRun, isTrue);
443 }, max: 1)); 443 }, max: 1));
444 }); 444 });
445 }); 445 });
446 446
447 var innerGroup = entries.single as Group; 447 var innerGroup = entries.single as Group;
448 return _runTest(innerGroup.entries.single); 448 return _runTest(innerGroup.entries.single);
449 }); 449 });
450 450
(...skipping 26 matching lines...) Expand all
477 477
478 group(".tearDown()", () { 478 group(".tearDown()", () {
479 test("is scoped to the group", () async { 479 test("is scoped to the group", () async {
480 var tearDownRun; 480 var tearDownRun;
481 var entries = declare(() { 481 var entries = declare(() {
482 setUp(() => tearDownRun = false); 482 setUp(() => tearDownRun = false);
483 483
484 group("group", () { 484 group("group", () {
485 tearDown(() => tearDownRun = true); 485 tearDown(() => tearDownRun = true);
486 486
487 test("description 1", expectAsync(() { 487 test("description 1", expectAsync0(() {
488 expect(tearDownRun, isFalse); 488 expect(tearDownRun, isFalse);
489 }, max: 1)); 489 }, max: 1));
490 }); 490 });
491 491
492 test("description 2", expectAsync(() { 492 test("description 2", expectAsync0(() {
493 expect(tearDownRun, isFalse); 493 expect(tearDownRun, isFalse);
494 }, max: 1)); 494 }, max: 1));
495 }); 495 });
496 496
497 var testGroup = entries[0] as Group; 497 var testGroup = entries[0] as Group;
498 await _runTest(testGroup.entries.single); 498 await _runTest(testGroup.entries.single);
499 expect(tearDownRun, isTrue); 499 expect(tearDownRun, isTrue);
500 await _runTest(entries[1]); 500 await _runTest(entries[1]);
501 expect(tearDownRun, isFalse); 501 expect(tearDownRun, isFalse);
502 }); 502 });
503 503
504 test("runs from the inside out", () async { 504 test("runs from the inside out", () async {
505 var innerTearDownRun = false; 505 var innerTearDownRun = false;
506 var middleTearDownRun = false; 506 var middleTearDownRun = false;
507 var outerTearDownRun = false; 507 var outerTearDownRun = false;
508 var entries = declare(() { 508 var entries = declare(() {
509 tearDown(expectAsync(() { 509 tearDown(expectAsync0(() {
510 expect(innerTearDownRun, isTrue); 510 expect(innerTearDownRun, isTrue);
511 expect(middleTearDownRun, isTrue); 511 expect(middleTearDownRun, isTrue);
512 outerTearDownRun = true; 512 outerTearDownRun = true;
513 }, max: 1)); 513 }, max: 1));
514 514
515 group("middle", () { 515 group("middle", () {
516 tearDown(expectAsync(() { 516 tearDown(expectAsync0(() {
517 expect(innerTearDownRun, isTrue); 517 expect(innerTearDownRun, isTrue);
518 expect(outerTearDownRun, isFalse); 518 expect(outerTearDownRun, isFalse);
519 middleTearDownRun = true; 519 middleTearDownRun = true;
520 }, max: 1)); 520 }, max: 1));
521 521
522 group("inner", () { 522 group("inner", () {
523 tearDown(expectAsync(() { 523 tearDown(expectAsync0(() {
524 expect(outerTearDownRun, isFalse); 524 expect(outerTearDownRun, isFalse);
525 expect(middleTearDownRun, isFalse); 525 expect(middleTearDownRun, isFalse);
526 innerTearDownRun = true; 526 innerTearDownRun = true;
527 }, max: 1)); 527 }, max: 1));
528 528
529 test("description", expectAsync(() { 529 test("description", expectAsync0(() {
530 expect(outerTearDownRun, isFalse); 530 expect(outerTearDownRun, isFalse);
531 expect(middleTearDownRun, isFalse); 531 expect(middleTearDownRun, isFalse);
532 expect(innerTearDownRun, isFalse); 532 expect(innerTearDownRun, isFalse);
533 }, max: 1)); 533 }, max: 1));
534 }); 534 });
535 }); 535 });
536 }); 536 });
537 537
538 var middleGroup = entries.single as Group; 538 var middleGroup = entries.single as Group;
539 var innerGroup = middleGroup.entries.single as Group; 539 var innerGroup = middleGroup.entries.single as Group;
540 await _runTest(innerGroup.entries.single); 540 await _runTest(innerGroup.entries.single);
541 expect(innerTearDownRun, isTrue); 541 expect(innerTearDownRun, isTrue);
542 expect(middleTearDownRun, isTrue); 542 expect(middleTearDownRun, isTrue);
543 expect(outerTearDownRun, isTrue); 543 expect(outerTearDownRun, isTrue);
544 }); 544 });
545 545
546 test("handles Futures when chained", () async { 546 test("handles Futures when chained", () async {
547 var outerTearDownRun = false; 547 var outerTearDownRun = false;
548 var innerTearDownRun = false; 548 var innerTearDownRun = false;
549 var entries = declare(() { 549 var entries = declare(() {
550 tearDown(expectAsync(() { 550 tearDown(expectAsync0(() {
551 expect(innerTearDownRun, isTrue); 551 expect(innerTearDownRun, isTrue);
552 return new Future(() => outerTearDownRun = true); 552 return new Future(() => outerTearDownRun = true);
553 }, max: 1)); 553 }, max: 1));
554 554
555 group("inner", () { 555 group("inner", () {
556 tearDown(expectAsync(() { 556 tearDown(expectAsync0(() {
557 expect(outerTearDownRun, isFalse); 557 expect(outerTearDownRun, isFalse);
558 return new Future(() => innerTearDownRun = true); 558 return new Future(() => innerTearDownRun = true);
559 }, max: 1)); 559 }, max: 1));
560 560
561 test("description", expectAsync(() { 561 test("description", expectAsync0(() {
562 expect(outerTearDownRun, isFalse); 562 expect(outerTearDownRun, isFalse);
563 expect(innerTearDownRun, isFalse); 563 expect(innerTearDownRun, isFalse);
564 }, max: 1)); 564 }, max: 1));
565 }); 565 });
566 }); 566 });
567 567
568 var innerGroup = entries.single as Group; 568 var innerGroup = entries.single as Group;
569 await _runTest(innerGroup.entries.single); 569 await _runTest(innerGroup.entries.single);
570 expect(innerTearDownRun, isTrue); 570 expect(innerTearDownRun, isTrue);
571 expect(outerTearDownRun, isTrue); 571 expect(outerTearDownRun, isTrue);
572 }); 572 });
573 573
574 test("runs outer callbacks even when inner ones fail", () async { 574 test("runs outer callbacks even when inner ones fail", () async {
575 var outerTearDownRun = false; 575 var outerTearDownRun = false;
576 var entries = declare(() { 576 var entries = declare(() {
577 tearDown(() { 577 tearDown(() {
578 return new Future(() => outerTearDownRun = true); 578 return new Future(() => outerTearDownRun = true);
579 }); 579 });
580 580
581 group("inner", () { 581 group("inner", () {
582 tearDown(() { 582 tearDown(() {
583 throw 'inner error'; 583 throw 'inner error';
584 }); 584 });
585 585
586 test("description", expectAsync(() { 586 test("description", expectAsync0(() {
587 expect(outerTearDownRun, isFalse); 587 expect(outerTearDownRun, isFalse);
588 }, max: 1)); 588 }, max: 1));
589 }); 589 });
590 }); 590 });
591 591
592 var innerGroup = entries.single as Group; 592 var innerGroup = entries.single as Group;
593 await _runTest(innerGroup.entries.single, shouldFail: true); 593 await _runTest(innerGroup.entries.single, shouldFail: true);
594 expect(outerTearDownRun, isTrue); 594 expect(outerTearDownRun, isTrue);
595 }); 595 });
596 }); 596 });
597 }); 597 });
598 } 598 }
599 599
600 /// Runs [test]. 600 /// Runs [test].
601 /// 601 ///
602 /// This automatically sets up an `onError` listener to ensure that the test 602 /// This automatically sets up an `onError` listener to ensure that the test
603 /// doesn't throw any invisible exceptions. 603 /// doesn't throw any invisible exceptions.
604 Future _runTest(Test test, {bool shouldFail: false}) { 604 Future _runTest(Test test, {bool shouldFail: false}) {
605 var liveTest = test.load(_suite); 605 var liveTest = test.load(_suite);
606 606
607 liveTest.onError.listen(shouldFail 607 liveTest.onError.listen(shouldFail
608 ? expectAsync((_) {}) 608 ? expectAsync1((_) {})
609 : (error) => registerException(error.error, error.stackTrace)); 609 : (error) => registerException(error.error, error.stackTrace));
610 610
611 return liveTest.run(); 611 return liveTest.run();
612 } 612 }
OLDNEW
« no previous file with comments | « lib/src/frontend/expect_async.dart ('k') | test/backend/invoker_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698