| 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',
|
| + }]);
|
| +}
|
|
|