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

Unified Diff: pkg/scheduled_test/lib/src/schedule_error.dart

Issue 12288061: Support nested tasks in scheduled_test. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 10 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 side-by-side diff with in-line comments
Download patch
Index: pkg/scheduled_test/lib/src/schedule_error.dart
diff --git a/pkg/scheduled_test/lib/src/schedule_error.dart b/pkg/scheduled_test/lib/src/schedule_error.dart
index 76d6e009be2980c858b329789fa404b4d86408fa..d36be02db6c081cba4edc75afdd95fb3a9febb8a 100644
--- a/pkg/scheduled_test/lib/src/schedule_error.dart
+++ b/pkg/scheduled_test/lib/src/schedule_error.dart
@@ -26,13 +26,15 @@ class ScheduleError extends AsyncError {
/// The state of the schedule at the time the error was detected.
final ScheduleState _stateWhenDetected;
+ int get hashCode => schedule.hashCode ^ task.hashCode ^ queue.hashCode ^
+ _stateWhenDetected.hashCode ^ error.hashCode ^ stackTrace.hashCode ^
+ cause.hashCode;
+
/// Creates a new [ScheduleError] wrapping [error]. The metadata in
/// [AsyncError]s and [ScheduleError]s will be preserved.
factory ScheduleError.from(Schedule schedule, error, {stackTrace,
AsyncError cause}) {
- if (error is ScheduleError) {
- if (schedule == null) schedule = error.schedule;
- }
+ if (error is ScheduleError) return error;
if (error is AsyncError) {
// Overwrite the explicit stack trace, because it probably came from a
@@ -52,6 +54,11 @@ class ScheduleError extends AsyncError {
this.queue = schedule.currentQueue,
this._stateWhenDetected = schedule.state;
+ bool operator ==(other) => other is ScheduleError && task == other.task &&
+ queue == other.queue && _stateWhenDetected == other._stateWhenDetected &&
+ error == other.error && stackTrace == other.stackTrace &&
+ cause == other.cause;
+
String toString() {
var result = new StringBuffer();

Powered by Google App Engine
This is Rietveld 408576698