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

Unified Diff: pkg/unittest/test/async_exception_with_future_test.dart

Issue 524153002: Sharing metatest logic between unittest and scheduled_test (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: status fixes Created 6 years, 3 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
« no previous file with comments | « pkg/unittest/test/async_exception_test.dart ('k') | pkg/unittest/test/async_setup_teardown_test.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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..7dd8515db9d40374a2cef202c0cadc73cca7c916 100644
--- a/pkg/unittest/test/async_exception_with_future_test.dart
+++ b/pkg/unittest/test/async_exception_with_future_test.dart
@@ -2,27 +2,46 @@
// 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';
+void main() => initTests(_test);
-var testName = 'async exception with future test';
+void _test(message) {
+ initMetatest(message);
-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;
- });
-};
+ expectTestResults('async exception with future test', () {
+ var tearDownHappened = false;
-final expected = buildStatusString(0, 1, 0, testName,
- message: 'Caught error!', teardown: 'teardown');
+ 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.
+ new Future.sync(() {
+ throw "error!";
+ });
+ return new Completer().future;
+ });
+
+ test('follow up', () {
+ expect(tearDownHappened, isTrue);
+ });
+
+ }, [{
+ 'description': 'test',
+ 'message': 'Caught error!',
+ 'result': 'fail',
+ }, {
+ 'description': 'follow up',
+ 'result': 'pass',
+ }]);
+}
« no previous file with comments | « pkg/unittest/test/async_exception_test.dart ('k') | pkg/unittest/test/async_setup_teardown_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698