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

Side by Side Diff: pkg/unittest/lib/mock.dart

Issue 11770004: Rename Date to DateTime. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Address comments and keep Backwards-compatibility class Date. 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 | « pkg/unittest/lib/interactive_html_config.dart ('k') | pkg/unittest/lib/src/test_case.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 /** 5 /**
6 * A simple mocking/spy library. 6 * A simple mocking/spy library.
7 * 7 *
8 * To create a mock objects for some class T, create a new class using: 8 * To create a mock objects for some class T, create a new class using:
9 * 9 *
10 * class MockT extends Mock implements T {}; 10 * class MockT extends Mock implements T {};
(...skipping 347 matching lines...) Expand 10 before | Expand all | Expand 10 after
358 /** Returns the [matcher]'s representation. */ 358 /** Returns the [matcher]'s representation. */
359 String toString() => matcher.toString(); 359 String toString() => matcher.toString();
360 } 360 }
361 361
362 /** 362 /**
363 * Every call to a [Mock] object method is logged. The logs are 363 * Every call to a [Mock] object method is logged. The logs are
364 * kept in instances of [LogEntry]. 364 * kept in instances of [LogEntry].
365 */ 365 */
366 class LogEntry { 366 class LogEntry {
367 /** The time of the event. */ 367 /** The time of the event. */
368 Date time; 368 DateTime time;
369 369
370 /** The mock object name, if any. */ 370 /** The mock object name, if any. */
371 final String mockName; 371 final String mockName;
372 372
373 /** The method name. */ 373 /** The method name. */
374 final String methodName; 374 final String methodName;
375 375
376 /** The parameters. */ 376 /** The parameters. */
377 final List args; 377 final List args;
378 378
379 /** The behavior that resulted. */ 379 /** The behavior that resulted. */
380 final Action action; 380 final Action action;
381 381
382 /** The value that was returned (if no throw). */ 382 /** The value that was returned (if no throw). */
383 final value; 383 final value;
384 384
385 LogEntry(this.mockName, this.methodName, 385 LogEntry(this.mockName, this.methodName,
386 this.args, this.action, [this.value]) { 386 this.args, this.action, [this.value]) {
387 time = new Date.now(); 387 time = new DateTime.now();
388 } 388 }
389 389
390 String _pad2(int val) => (val >= 10 ? '$val' : '0$val'); 390 String _pad2(int val) => (val >= 10 ? '$val' : '0$val');
391 391
392 String toString([Date baseTime]) { 392 String toString([DateTime baseTime]) {
393 Description d = new StringDescription(); 393 Description d = new StringDescription();
394 if (baseTime == null) { 394 if (baseTime == null) {
395 // Show absolute time. 395 // Show absolute time.
396 d.add('${time.hour}:${_pad2(time.minute)}:' 396 d.add('${time.hour}:${_pad2(time.minute)}:'
397 '${_pad2(time.second)}.${time.millisecond}> '); 397 '${_pad2(time.second)}.${time.millisecond}> ');
398 } else { 398 } else {
399 // Show relative time. 399 // Show relative time.
400 int delta = time.millisecondsSinceEpoch - baseTime.millisecondsSinceEpoch; 400 int delta = time.millisecondsSinceEpoch - baseTime.millisecondsSinceEpoch;
401 int secs = delta ~/ 1000; 401 int secs = delta ~/ 1000;
402 int msecs = delta % 1000; 402 int msecs = delta % 1000;
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after
558 } 558 }
559 } 559 }
560 return true; 560 return true;
561 } 561 }
562 562
563 /** 563 /**
564 * Turn the logs into human-readable text. If [baseTime] is specified 564 * Turn the logs into human-readable text. If [baseTime] is specified
565 * then each entry is prefixed with the offset from that time in 565 * then each entry is prefixed with the offset from that time in
566 * milliseconds; otherwise the time of day is used. 566 * milliseconds; otherwise the time of day is used.
567 */ 567 */
568 String toString([Date baseTime]) { 568 String toString([DateTime baseTime]) {
569 String s = ''; 569 String s = '';
570 for (var e in logs) { 570 for (var e in logs) {
571 s = '$s${e.toString(baseTime)}\n'; 571 s = '$s${e.toString(baseTime)}\n';
572 } 572 }
573 return s; 573 return s;
574 } 574 }
575 575
576 /** 576 /**
577 * Find the first log entry that satisfies [logFilter] and 577 * Find the first log entry that satisfies [logFilter] and
578 * return its position. A search [start] position can be provided 578 * return its position. A search [start] position can be provided
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
656 return newList; 656 return newList;
657 } 657 }
658 } 658 }
659 659
660 /** 660 /**
661 * Returns log events that happened after [when]. If [inPlace] 661 * Returns log events that happened after [when]. If [inPlace]
662 * is true, then it returns this LogEntryList after removing 662 * is true, then it returns this LogEntryList after removing
663 * the entries that happened up to [when]; otherwise a new 663 * the entries that happened up to [when]; otherwise a new
664 * list is created. 664 * list is created.
665 */ 665 */
666 LogEntryList after(Date when, [bool inPlace = false]) => 666 LogEntryList after(DateTime when, [bool inPlace = false]) =>
667 _tail((e) => e.time > when, inPlace, 'after $when', logs.length); 667 _tail((e) => e.time > when, inPlace, 'after $when', logs.length);
668 668
669 /** 669 /**
670 * Returns log events that happened from [when] onwards. If 670 * Returns log events that happened from [when] onwards. If
671 * [inPlace] is true, then it returns this LogEntryList after 671 * [inPlace] is true, then it returns this LogEntryList after
672 * removing the entries that happened before [when]; otherwise 672 * removing the entries that happened before [when]; otherwise
673 * a new list is created. 673 * a new list is created.
674 */ 674 */
675 LogEntryList from(Date when, [bool inPlace = false]) => 675 LogEntryList from(DateTime when, [bool inPlace = false]) =>
676 _tail((e) => e.time >= when, inPlace, 'from $when', logs.length); 676 _tail((e) => e.time >= when, inPlace, 'from $when', logs.length);
677 677
678 /** 678 /**
679 * Returns log events that happened until [when]. If [inPlace] 679 * Returns log events that happened until [when]. If [inPlace]
680 * is true, then it returns this LogEntryList after removing 680 * is true, then it returns this LogEntryList after removing
681 * the entries that happened after [when]; otherwise a new 681 * the entries that happened after [when]; otherwise a new
682 * list is created. 682 * list is created.
683 */ 683 */
684 LogEntryList until(Date when, [bool inPlace = false]) => 684 LogEntryList until(DateTime when, [bool inPlace = false]) =>
685 _head((e) => e.time > when, inPlace, 'until $when', logs.length); 685 _head((e) => e.time > when, inPlace, 'until $when', logs.length);
686 686
687 /** 687 /**
688 * Returns log events that happened before [when]. If [inPlace] 688 * Returns log events that happened before [when]. If [inPlace]
689 * is true, then it returns this LogEntryList after removing 689 * is true, then it returns this LogEntryList after removing
690 * the entries that happened from [when] onwards; otherwise a new 690 * the entries that happened from [when] onwards; otherwise a new
691 * list is created. 691 * list is created.
692 */ 692 */
693 LogEntryList before(Date when, [bool inPlace = false]) => 693 LogEntryList before(DateTime when, [bool inPlace = false]) =>
694 _head((e) => e.time >= when, inPlace, 'before $when', logs.length); 694 _head((e) => e.time >= when, inPlace, 'before $when', logs.length);
695 695
696 /** 696 /**
697 * Returns log events that happened after [logEntry]'s time. 697 * Returns log events that happened after [logEntry]'s time.
698 * If [inPlace] is true, then it returns this LogEntryList after 698 * If [inPlace] is true, then it returns this LogEntryList after
699 * removing the entries that happened up to [when]; otherwise a new 699 * removing the entries that happened up to [when]; otherwise a new
700 * list is created. If [logEntry] is null the current time is used. 700 * list is created. If [logEntry] is null the current time is used.
701 */ 701 */
702 LogEntryList afterEntry(LogEntry logEntry, [bool inPlace = false]) => 702 LogEntryList afterEntry(LogEntry logEntry, [bool inPlace = false]) =>
703 after(logEntry == null ? new Date.now() : logEntry.time); 703 after(logEntry == null ? new DateTime.now() : logEntry.time);
704 704
705 /** 705 /**
706 * Returns log events that happened from [logEntry]'s time onwards. 706 * Returns log events that happened from [logEntry]'s time onwards.
707 * If [inPlace] is true, then it returns this LogEntryList after 707 * If [inPlace] is true, then it returns this LogEntryList after
708 * removing the entries that happened before [when]; otherwise 708 * removing the entries that happened before [when]; otherwise
709 * a new list is created. If [logEntry] is null the current time is used. 709 * a new list is created. If [logEntry] is null the current time is used.
710 */ 710 */
711 LogEntryList fromEntry(LogEntry logEntry, [bool inPlace = false]) => 711 LogEntryList fromEntry(LogEntry logEntry, [bool inPlace = false]) =>
712 from(logEntry == null ? new Date.now() : logEntry.time); 712 from(logEntry == null ? new DateTime.now() : logEntry.time);
713 713
714 /** 714 /**
715 * Returns log events that happened until [logEntry]'s time. If 715 * Returns log events that happened until [logEntry]'s time. If
716 * [inPlace] is true, then it returns this LogEntryList after removing 716 * [inPlace] is true, then it returns this LogEntryList after removing
717 * the entries that happened after [when]; otherwise a new 717 * the entries that happened after [when]; otherwise a new
718 * list is created. If [logEntry] is null the epoch time is used. 718 * list is created. If [logEntry] is null the epoch time is used.
719 */ 719 */
720 LogEntryList untilEntry(LogEntry logEntry, [bool inPlace = false]) => 720 LogEntryList untilEntry(LogEntry logEntry, [bool inPlace = false]) =>
721 until(logEntry == null ? 721 until(logEntry == null ?
722 new Date.fromMillisecondsSinceEpoch(0) : logEntry.time); 722 new DateTime.fromMillisecondsSinceEpoch(0) : logEntry.time);
723 723
724 /** 724 /**
725 * Returns log events that happened before [logEntry]'s time. If 725 * Returns log events that happened before [logEntry]'s time. If
726 * [inPlace] is true, then it returns this LogEntryList after removing 726 * [inPlace] is true, then it returns this LogEntryList after removing
727 * the entries that happened from [when] onwards; otherwise a new 727 * the entries that happened from [when] onwards; otherwise a new
728 * list is created. If [logEntry] is null the epoch time is used. 728 * list is created. If [logEntry] is null the epoch time is used.
729 */ 729 */
730 LogEntryList beforeEntry(LogEntry logEntry, [bool inPlace = false]) => 730 LogEntryList beforeEntry(LogEntry logEntry, [bool inPlace = false]) =>
731 before(logEntry == null ? 731 before(logEntry == null ?
732 new Date.fromMillisecondsSinceEpoch(0) : logEntry.time); 732 new DateTime.fromMillisecondsSinceEpoch(0) : logEntry.time);
733 733
734 /** 734 /**
735 * Returns log events that happened after the first event in [segment]. 735 * Returns log events that happened after the first event in [segment].
736 * If [inPlace] is true, then it returns this LogEntryList after removing 736 * If [inPlace] is true, then it returns this LogEntryList after removing
737 * the entries that happened earlier; otherwise a new list is created. 737 * the entries that happened earlier; otherwise a new list is created.
738 */ 738 */
739 LogEntryList afterFirst(LogEntryList segment, [bool inPlace = false]) => 739 LogEntryList afterFirst(LogEntryList segment, [bool inPlace = false]) =>
740 afterEntry(segment.first, inPlace); 740 afterEntry(segment.first, inPlace);
741 741
742 /** 742 /**
(...skipping 722 matching lines...) Expand 10 before | Expand all | Expand 10 after
1465 } 1465 }
1466 } 1466 }
1467 } 1467 }
1468 1468
1469 /** Clear both logs and behavior. */ 1469 /** Clear both logs and behavior. */
1470 void reset() { 1470 void reset() {
1471 resetBehavior(); 1471 resetBehavior();
1472 clearLogs(); 1472 clearLogs();
1473 } 1473 }
1474 } 1474 }
OLDNEW
« no previous file with comments | « pkg/unittest/lib/interactive_html_config.dart ('k') | pkg/unittest/lib/src/test_case.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698