Index: packages/unittest/test/async_setup_teardown_test.dart |
diff --git a/packages/unittest/test/async_setup_teardown_test.dart b/packages/unittest/test/async_setup_teardown_test.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..1068ee7025d03377a5dca0783a119d81a9f97050 |
--- /dev/null |
+++ b/packages/unittest/test/async_setup_teardown_test.dart |
@@ -0,0 +1,71 @@ |
+// 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.async_setup_teardown; |
+ |
+import 'dart:async'; |
+ |
+import 'package:metatest/metatest.dart'; |
+import 'package:unittest/unittest.dart'; |
+ |
+void main() => initTests(_test); |
+ |
+void _test(message) { |
+ initMetatest(message); |
+ |
+ expectTestsPass('good setup/good teardown', () { |
+ setUp(() { |
+ return new Future.value(0); |
+ }); |
+ tearDown(() { |
+ return new Future.value(0); |
+ }); |
+ test('foo1', () {}); |
+ }); |
+ |
+ expectTestResults('good setup/bad teardown', () { |
+ setUp(() { |
+ return new Future.value(0); |
+ }); |
+ tearDown(() { |
+ return new Future.error("Failed to complete tearDown"); |
+ }); |
+ test('foo2', () {}); |
+ }, [ |
+ { |
+ 'result': 'error', |
+ 'message': 'Teardown failed: Caught Failed to complete tearDown' |
+ } |
+ ]); |
+ |
+ expectTestResults('bad setup/good teardown', () { |
+ setUp(() { |
+ return new Future.error("Failed to complete setUp"); |
+ }); |
+ tearDown(() { |
+ return new Future.value(0); |
+ }); |
+ test('foo3', () {}); |
+ }, [ |
+ { |
+ 'result': 'error', |
+ 'message': 'Setup failed: Caught Failed to complete setUp' |
+ } |
+ ]); |
+ |
+ expectTestResults('bad setup/bad teardown', () { |
+ setUp(() { |
+ return new Future.error("Failed to complete setUp"); |
+ }); |
+ tearDown(() { |
+ return new Future.error("Failed to complete tearDown"); |
+ }); |
+ test('foo4', () {}); |
+ }, [ |
+ { |
+ 'result': 'error', |
+ 'message': 'Setup failed: Caught Failed to complete setUp' |
+ } |
+ ]); |
+} |