OLD | NEW |
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 scheduled_test_test; | 5 library scheduled_test_test; |
6 | 6 |
7 import 'dart:async'; | 7 import 'dart:async'; |
8 | 8 |
9 import 'package:scheduled_test/scheduled_test.dart'; | 9 import 'package:scheduled_test/scheduled_test.dart'; |
10 import 'package:scheduled_test/src/utils.dart'; | 10 import 'package:scheduled_test/src/utils.dart'; |
(...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
286 }); | 286 }); |
287 | 287 |
288 sleep(50).then(wrapAsync((_) => expect('foo', equals('bar')))); | 288 sleep(50).then(wrapAsync((_) => expect('foo', equals('bar')))); |
289 }); | 289 }); |
290 | 290 |
291 test('test 2', () { | 291 test('test 2', () { |
292 expect(onCompleteRun, isTrue); | 292 expect(onCompleteRun, isTrue); |
293 }); | 293 }); |
294 }, passing: ['test 2']); | 294 }, passing: ['test 2']); |
295 | 295 |
296 expectTestsPass('currentSchedule.errors contains the error in the onComplete ' | 296 expectTestsPass('currentSchedule.error contains the error in the onComplete ' |
297 'queue', () { | 297 'queue', () { |
298 var errors; | 298 var error; |
299 test('test 1', () { | 299 test('test 1', () { |
300 currentSchedule.onComplete.schedule(() { | 300 currentSchedule.onComplete.schedule(() { |
301 errors = currentSchedule.errors; | 301 error = currentSchedule.error; |
302 }); | 302 }); |
303 | 303 |
304 throw 'error'; | 304 throw 'error'; |
305 }); | 305 }); |
306 | 306 |
307 test('test 2', () { | 307 test('test 2', () { |
308 expect(errors, everyElement(new isInstanceOf<ScheduleError>())); | 308 expect(error, new isInstanceOf<ScheduleError>()); |
309 expect(errors.map((e) => e.error), equals(['error'])); | 309 expect(error.error, equals('error')); |
310 }); | 310 }); |
311 }, passing: ['test 2']); | 311 }, passing: ['test 2']); |
312 | 312 |
313 expectTestsPass('onComplete tasks can be scheduled during normal tasks', () { | 313 expectTestsPass('onComplete tasks can be scheduled during normal tasks', () { |
314 var onCompleteRun = false; | 314 var onCompleteRun = false; |
315 test('test 1', () { | 315 test('test 1', () { |
316 schedule(() { | 316 schedule(() { |
317 currentSchedule.onComplete.schedule(() { | 317 currentSchedule.onComplete.schedule(() { |
318 onCompleteRun = true; | 318 onCompleteRun = true; |
319 }); | 319 }); |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
388 }); | 388 }); |
389 | 389 |
390 sleep(50).then(wrapAsync((_) => expect('foo', equals('bar')))); | 390 sleep(50).then(wrapAsync((_) => expect('foo', equals('bar')))); |
391 }); | 391 }); |
392 | 392 |
393 test('test 2', () { | 393 test('test 2', () { |
394 expect(onExceptionRun, isTrue); | 394 expect(onExceptionRun, isTrue); |
395 }); | 395 }); |
396 }, passing: ['test 2']); | 396 }, passing: ['test 2']); |
397 | 397 |
398 expectTestsPass('currentSchedule.errors contains the error in the ' | 398 expectTestsPass('currentSchedule.error contains the error in the onException ' |
399 'onException queue', () { | 399 'queue', () { |
400 var errors; | 400 var error; |
401 test('test 1', () { | 401 test('test 1', () { |
402 currentSchedule.onException.schedule(() { | 402 currentSchedule.onException.schedule(() { |
403 errors = currentSchedule.errors; | 403 error = currentSchedule.error; |
404 }); | 404 }); |
405 | 405 |
406 throw 'error'; | 406 throw 'error'; |
407 }); | 407 }); |
408 | 408 |
409 test('test 2', () { | 409 test('test 2', () { |
410 expect(errors, everyElement(new isInstanceOf<ScheduleError>())); | 410 expect(error, new isInstanceOf<ScheduleError>()); |
411 expect(errors.map((e) => e.error), equals(['error'])); | 411 expect(error.error, equals('error')); |
412 }); | 412 }); |
413 }, passing: ['test 2']); | 413 }, passing: ['test 2']); |
414 | 414 |
415 expectTestsPass('currentSchedule.errors contains an error passed into ' | 415 expectTestsPass('currentSchedule.error contains an error passed into ' |
416 'signalError synchronously', () { | 416 'signalError synchronously', () { |
417 var errors; | 417 var error; |
418 test('test 1', () { | 418 test('test 1', () { |
419 currentSchedule.onException.schedule(() { | 419 currentSchedule.onException.schedule(() { |
420 errors = currentSchedule.errors; | 420 error = currentSchedule.error; |
421 }); | 421 }); |
422 | 422 |
423 currentSchedule.signalError('error'); | 423 currentSchedule.signalError('error'); |
424 }); | 424 }); |
425 | 425 |
426 test('test 2', () { | 426 test('test 2', () { |
427 expect(errors, everyElement(new isInstanceOf<ScheduleError>())); | 427 expect(error, new isInstanceOf<ScheduleError>()); |
428 expect(errors.map((e) => e.error), equals(['error'])); | 428 expect(error.error, equals('error')); |
429 }); | 429 }); |
430 }, passing: ['test 2']); | 430 }, passing: ['test 2']); |
431 | 431 |
432 expectTestsPass('currentSchedule.errors contains an error passed into ' | 432 expectTestsPass('currentSchedule.error contains an error passed into ' |
433 'signalError asynchronously', () { | 433 'signalError asynchronously', () { |
434 var errors; | 434 var error; |
435 test('test 1', () { | 435 test('test 1', () { |
436 currentSchedule.onException.schedule(() { | 436 currentSchedule.onException.schedule(() { |
437 errors = currentSchedule.errors; | 437 error = currentSchedule.error; |
438 }); | 438 }); |
439 | 439 |
440 schedule(() => currentSchedule.signalError('error')); | 440 schedule(() => currentSchedule.signalError('error')); |
441 }); | 441 }); |
442 | 442 |
443 test('test 2', () { | 443 test('test 2', () { |
444 expect(errors, everyElement(new isInstanceOf<ScheduleError>())); | 444 expect(error, new isInstanceOf<ScheduleError>()); |
445 expect(errors.map((e) => e.error), equals(['error'])); | 445 expect(error.error, equals('error')); |
446 }); | 446 }); |
447 }, passing: ['test 2']); | 447 }, passing: ['test 2']); |
448 | 448 |
449 expectTestsPass('currentSchedule.errors contains an error passed into ' | 449 expectTestsPass('currentSchedule.error contains an error passed into ' |
450 'signalError out-of-band', () { | 450 'signalError out-of-band', () { |
451 var errors; | 451 var error; |
452 test('test 1', () { | 452 test('test 1', () { |
453 currentSchedule.onException.schedule(() { | 453 currentSchedule.onException.schedule(() { |
454 errors = currentSchedule.errors; | 454 error = currentSchedule.error; |
455 }); | 455 }); |
456 | 456 |
457 sleep(50).then(wrapAsync((_) => currentSchedule.signalError('error'))); | 457 sleep(50).then(wrapAsync((_) => currentSchedule.signalError('error'))); |
458 }); | 458 }); |
459 | 459 |
460 test('test 2', () { | 460 test('test 2', () { |
461 expect(errors, everyElement(new isInstanceOf<ScheduleError>())); | 461 expect(error, new isInstanceOf<ScheduleError>()); |
462 expect(errors.map((e) => e.error), equals(['error'])); | 462 expect(error.error, equals('error')); |
463 }); | 463 }); |
464 }, passing: ['test 2']); | 464 }, passing: ['test 2']); |
465 | 465 |
466 expectTestsPass('currentSchedule.errors contains errors from both the task ' | |
467 'queue and the onException queue in onComplete', () { | |
468 var errors; | |
469 test('test 1', () { | |
470 currentSchedule.onComplete.schedule(() { | |
471 errors = currentSchedule.errors; | |
472 }); | |
473 | |
474 currentSchedule.onException.schedule(() { | |
475 throw 'error2'; | |
476 }); | |
477 | |
478 throw 'error1'; | |
479 }); | |
480 | |
481 test('test 2', () { | |
482 expect(errors, everyElement(new isInstanceOf<ScheduleError>())); | |
483 expect(errors.map((e) => e.error), equals(['error1', 'error2'])); | |
484 }); | |
485 }, passing: ['test 2']); | |
486 | |
487 expectTestsPass('currentSchedule.errors contains multiple out-of-band errors ' | |
488 'from both the main task queue and onException in onComplete', () { | |
489 var errors; | |
490 test('test 1', () { | |
491 currentSchedule.onComplete.schedule(() { | |
492 errors = currentSchedule.errors; | |
493 }); | |
494 | |
495 currentSchedule.onException.schedule(() { | |
496 sleep(25).then(wrapAsync((_) { | |
497 throw 'error3'; | |
498 })); | |
499 sleep(50).then(wrapAsync((_) { | |
500 throw 'error4'; | |
501 })); | |
502 }); | |
503 | |
504 sleep(25).then(wrapAsync((_) { | |
505 throw 'error1'; | |
506 })); | |
507 sleep(50).then(wrapAsync((_) { | |
508 throw 'error2'; | |
509 })); | |
510 }); | |
511 | |
512 test('test 2', () { | |
513 expect(errors, everyElement(new isInstanceOf<ScheduleError>())); | |
514 expect(errors.map((e) => e.error), | |
515 orderedEquals(['error1', 'error2', 'error3', 'error4'])); | |
516 }); | |
517 }, passing: ['test 2']); | |
518 | |
519 expectTestsPass('currentSchedule.errors contains both an out-of-band error ' | |
520 'and an error raised afterwards in a task', () { | |
521 var errors; | |
522 test('test 1', () { | |
523 currentSchedule.onComplete.schedule(() { | |
524 errors = currentSchedule.errors; | |
525 }); | |
526 | |
527 sleep(25).then(wrapAsync((_) { | |
528 throw 'out-of-band'; | |
529 })); | |
530 | |
531 schedule(() => sleep(50).then((_) { | |
532 throw 'in-band'; | |
533 })); | |
534 }); | |
535 | |
536 test('test 2', () { | |
537 expect(errors, everyElement(new isInstanceOf<ScheduleError>())); | |
538 expect(errors.map((e) => e.error), equals(['out-of-band', 'in-band'])); | |
539 }); | |
540 }, passing: ['test 2']); | |
541 | |
542 expectTestsPass('currentSchedule.currentTask returns the current task while ' | 466 expectTestsPass('currentSchedule.currentTask returns the current task while ' |
543 'executing a task', () { | 467 'executing a task', () { |
544 test('test', () { | 468 test('test', () { |
545 schedule(() => expect('foo', equals('foo')), 'task 1'); | 469 schedule(() => expect('foo', equals('foo')), 'task 1'); |
546 | 470 |
547 schedule(() { | 471 schedule(() { |
548 expect(currentSchedule.currentTask.description, equals('task 2')); | 472 expect(currentSchedule.currentTask.description, equals('task 2')); |
549 }, 'task 2'); | 473 }, 'task 2'); |
550 | 474 |
551 schedule(() => expect('bar', equals('bar')), 'task 3'); | 475 schedule(() => expect('bar', equals('bar')), 'task 3'); |
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
711 }); | 635 }); |
712 }); | 636 }); |
713 | 637 |
714 group('group 2', () { | 638 group('group 2', () { |
715 test('test 2', () { | 639 test('test 2', () { |
716 expect(setUpRun, isFalse); | 640 expect(setUpRun, isFalse); |
717 }); | 641 }); |
718 }); | 642 }); |
719 }); | 643 }); |
720 } | 644 } |
OLD | NEW |