| Index: third_party/pkg/angular/lib/mock/exception_handler.dart
|
| diff --git a/third_party/pkg/angular/lib/mock/exception_handler.dart b/third_party/pkg/angular/lib/mock/exception_handler.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..7bcd17b89232f682f67174d44d38295e24a477e8
|
| --- /dev/null
|
| +++ b/third_party/pkg/angular/lib/mock/exception_handler.dart
|
| @@ -0,0 +1,43 @@
|
| +part of angular.mock;
|
| +
|
| +/**
|
| + * Mock implementation of [ExceptionHandler] that rethrows exceptions.
|
| + */
|
| +class RethrowExceptionHandler extends ExceptionHandler {
|
| + call(error, stack, [reason]){
|
| + throw "$error $reason \nORIGINAL STACKTRACE:\n $stack";
|
| + }
|
| +}
|
| +
|
| +class ExceptionWithStack {
|
| + final dynamic error;
|
| + final dynamic stack;
|
| + ExceptionWithStack(this.error, this.stack);
|
| + toString() => "$error\n$stack";
|
| +}
|
| +
|
| +/**
|
| + * Mock implementation of [ExceptionHandler] that logs all exceptions for
|
| + * later processing.
|
| + */
|
| +class LoggingExceptionHandler implements ExceptionHandler {
|
| + /**
|
| + * All exceptions are stored here for later examining.
|
| + */
|
| + final List<ExceptionWithStack> errors = [];
|
| +
|
| + call(error, stack, [reason]) {
|
| + errors.add(new ExceptionWithStack(error, stack));
|
| + }
|
| +
|
| + /**
|
| + * This method throws an exception if the errors is not empty.
|
| + * It is recommended that this method is called on test tear-down
|
| + * to verify that all exceptions have been processed.
|
| + */
|
| + assertEmpty() {
|
| + if (errors.length > 0) {
|
| + throw new ArgumentError('Exception Logger not empty:\n$errors');
|
| + }
|
| + }
|
| +}
|
|
|