OLD | NEW |
(Empty) | |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. |
| 4 |
| 5 library unittest.protect_async_test; |
| 6 |
| 7 import 'dart:async'; |
| 8 |
| 9 import 'package:unittest/unittest.dart'; |
| 10 |
| 11 import 'package:metatest/metatest.dart'; |
| 12 |
| 13 void main() => initTests(_test); |
| 14 |
| 15 void _test(message) { |
| 16 initMetatest(message); |
| 17 |
| 18 expectTestResults('protectAsync', () { |
| 19 test('protectAsync0', () { |
| 20 var protected = () { |
| 21 throw new StateError('error during protectAsync0'); |
| 22 }; |
| 23 new Future(protected); |
| 24 }); |
| 25 |
| 26 test('protectAsync1', () { |
| 27 var protected = (arg) { |
| 28 throw new StateError('error during protectAsync1: $arg'); |
| 29 }; |
| 30 new Future(() => protected('one arg')); |
| 31 }); |
| 32 |
| 33 test('protectAsync2', () { |
| 34 var protected = (arg1, arg2) { |
| 35 throw new StateError('error during protectAsync2: $arg1, $arg2'); |
| 36 }; |
| 37 new Future(() => protected('arg1', 'arg2')); |
| 38 }); |
| 39 |
| 40 test('throw away 1', () { |
| 41 return new Future(() {}); |
| 42 }); |
| 43 }, [ |
| 44 { |
| 45 'result': 'error', |
| 46 'message': 'Caught Bad state: error during protectAsync0' |
| 47 }, |
| 48 { |
| 49 'result': 'error', |
| 50 'message': 'Caught Bad state: error during protectAsync1: one arg' |
| 51 }, |
| 52 { |
| 53 'result': 'error', |
| 54 'message': 'Caught Bad state: error during protectAsync2: arg1, arg2' |
| 55 }, |
| 56 {'result': 'pass', 'message': ''} |
| 57 ]); |
| 58 } |
OLD | NEW |