blob: c9138d01f772e86a0030dd35ca57541211036889 [file] [log] [blame]
// 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'
}]);
}