| // Copyright (c) 2017, 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. |
| |
| import 'package:test/test.dart'; |
| |
| import 'utils_new.dart'; |
| |
| void main() { |
| group('returned Future from expectLater()', () { |
| test('completes immediately for a sync matcher', () { |
| expect(expectLater(true, isTrue), completes); |
| }); |
| |
| test('contains the expect failure', () { |
| expect(expectLater(Future.value(true), completion(isFalse)), |
| throwsA(isTestFailure(anything))); |
| }); |
| |
| test('contains an async error', () { |
| expect(expectLater(Future.error('oh no'), completion(isFalse)), |
| throwsA('oh no')); |
| }); |
| }); |
| |
| group('an async matcher that fails synchronously', () { |
| test('throws synchronously', () { |
| expect(() => expect(() {}, throwsA(anything)), |
| throwsA(isTestFailure(anything))); |
| }); |
| |
| test('can be used with synchronous operators', () { |
| expect(() {}, isNot(throwsA(anything))); |
| }); |
| }); |
| } |