Index: packages/unittest/test/protect_async_test.dart |
diff --git a/packages/unittest/test/protect_async_test.dart b/packages/unittest/test/protect_async_test.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..19211f2bb3e83a860747f78c31c348930500847a |
--- /dev/null |
+++ b/packages/unittest/test/protect_async_test.dart |
@@ -0,0 +1,58 @@ |
+// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
+// for details. All rights reserved. Use of this source code is governed by a |
+// BSD-style license that can be found in the LICENSE file. |
+ |
+library unittest.protect_async_test; |
+ |
+import 'dart:async'; |
+ |
+import 'package:unittest/unittest.dart'; |
+ |
+import 'package:metatest/metatest.dart'; |
+ |
+void main() => initTests(_test); |
+ |
+void _test(message) { |
+ initMetatest(message); |
+ |
+ expectTestResults('protectAsync', () { |
+ test('protectAsync0', () { |
+ var protected = () { |
+ throw new StateError('error during protectAsync0'); |
+ }; |
+ new Future(protected); |
+ }); |
+ |
+ test('protectAsync1', () { |
+ var protected = (arg) { |
+ throw new StateError('error during protectAsync1: $arg'); |
+ }; |
+ new Future(() => protected('one arg')); |
+ }); |
+ |
+ test('protectAsync2', () { |
+ var protected = (arg1, arg2) { |
+ throw new StateError('error during protectAsync2: $arg1, $arg2'); |
+ }; |
+ new Future(() => protected('arg1', 'arg2')); |
+ }); |
+ |
+ test('throw away 1', () { |
+ return new Future(() {}); |
+ }); |
+ }, [ |
+ { |
+ 'result': 'error', |
+ 'message': 'Caught Bad state: error during protectAsync0' |
+ }, |
+ { |
+ 'result': 'error', |
+ 'message': 'Caught Bad state: error during protectAsync1: one arg' |
+ }, |
+ { |
+ 'result': 'error', |
+ 'message': 'Caught Bad state: error during protectAsync2: arg1, arg2' |
+ }, |
+ {'result': 'pass', 'message': ''} |
+ ]); |
+} |