blob: d62816aada880b2e972dbc113dc779077e25bb8b [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.protect_async_test;
import 'dart:async';
import 'package:unittest/unittest.dart';
import 'package:metatest/metatest.dart';
void main() => initTests(_test);
void _test(message) {
initMetatest(message);
expectTestResults('protectAsync', () {
test('protectAsync0', () {
var protected = () {
throw new StateError('error during protectAsync0');
};
new Future(protected);
});
test('protectAsync1', () {
var protected = (arg) {
throw new StateError('error during protectAsync1: $arg');
};
new Future(() => protected('one arg'));
});
test('protectAsync2', () {
var protected = (arg1, arg2) {
throw new StateError('error during protectAsync2: $arg1, $arg2');
};
new Future(() => protected('arg1', 'arg2'));
});
test('throw away 1', () {
return new Future(() {});
});
}, [{
'result': 'error',
'message': 'Caught Bad state: error during protectAsync0'
}, {
'result': 'error',
'message': 'Caught Bad state: error during protectAsync1: one arg'
}, {
'result': 'error',
'message': 'Caught Bad state: error during protectAsync2: arg1, arg2'
}, {
'result': 'pass',
'message': ''
}]);
}