| // 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.expect_async_args_test; |
| |
| import 'package:unittest/unittest.dart'; |
| |
| import 'package:metatest/metatest.dart'; |
| |
| void main() => initTests(_test); |
| |
| void _test(message) { |
| initMetatest(message); |
| |
| expectTestResults('expect async args', () { |
| var count = 0; |
| List<int> _getArgs([a = 0, b = 0, c = 0, d = 0, e = 0, f = 0]) { |
| count++; |
| return <int>[a, b, c, d, e, f]; |
| } |
| |
| test('expect async args', () { |
| expect(expectAsync(_getArgs)(), [0, 0, 0, 0, 0, 0]); |
| expect(expectAsync(_getArgs)(5), [5, 0, 0, 0, 0, 0]); |
| expect(expectAsync(_getArgs)(1, 2, 3, 4, 5, 6), [1, 2, 3, 4, 5, 6]); |
| }); |
| |
| test('invoked with too many args', () { |
| expectAsync(_getArgs)(1, 2, 3, 4, 5, 6, 7); |
| }); |
| |
| test('created with too many args', () { |
| expectAsync((a1, a2, a3, a4, a5, a6, a7) { |
| count++; |
| })(); |
| }); |
| |
| test('verify count', () { |
| expect(count, 3); |
| }); |
| }, [ |
| {'description': 'expect async args', 'result': 'pass',}, |
| {'description': 'invoked with too many args', 'result': 'error',}, |
| {'description': 'created with too many args', 'result': 'error',}, |
| {'description': 'verify count', 'result': 'pass',} |
| ]); |
| } |