Index: pkg/unittest/test/async_exception_with_future_test.dart |
diff --git a/pkg/unittest/test/async_exception_with_future_test.dart b/pkg/unittest/test/async_exception_with_future_test.dart |
index dd249cfe0646c2c9eef5507f971a37b485ded7a7..0aba737a043aaacc231f9836d1928da625e80bb4 100644 |
--- a/pkg/unittest/test/async_exception_with_future_test.dart |
+++ b/pkg/unittest/test/async_exception_with_future_test.dart |
@@ -2,27 +2,48 @@ |
// 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 unittestTest; |
+library unittest.async_exception_with_future_test; |
import 'dart:async'; |
-import 'dart:isolate'; |
+import 'package:metatest/metatest.dart'; |
import 'package:unittest/unittest.dart'; |
-part 'utils.dart'; |
+import 'utils.dart'; |
-var testName = 'async exception with future test'; |
+void main() => initTests(_test); |
-var testFunction = (TestConfiguration testConfig) { |
- tearDown(() { testConfig.teardown = 'teardown'; }); |
- test(testName, () { |
- // The "throw" statement below should terminate the test immediately. |
- // The framework should not wait for the future to complete. |
- // tearDown should still execute. |
- _defer(() { throw "error!"; }); |
- return new Completer().future; |
- }); |
-}; |
+void _test(message) { |
+ initMetatest(message); |
-final expected = buildStatusString(0, 1, 0, testName, |
- message: 'Caught error!', teardown: 'teardown'); |
+ expectTestResults('async exception with future test', () { |
+ var tearDownHappened = false; |
+ |
+ tearDown(() { |
+ tearDownHappened = true; |
+ }); |
+ |
+ test('test', () { |
+ expect(tearDownHappened, isFalse); |
+ // The "throw" statement below should terminate the test immediately. |
+ // The framework should not wait for the future to complete. |
+ // tearDown should still execute. |
+ defer(() { |
+ throw "error!"; |
+ }); |
+ return new Completer().future; |
+ }); |
+ |
+ test('follow up', () { |
+ expect(tearDownHappened, isTrue); |
+ }); |
+ |
+ }, [{ |
+ 'description': 'test', |
+ 'message': 'Caught error!', |
+ 'result': 'fail', |
+ }, { |
+ 'description': 'follow up', |
+ 'result': 'pass', |
+ }]); |
+} |