| // Copyright (c) 2011, 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. |
| |
| /// @assertion Future forEach(void action(T element)) |
| /// Completes the future with an error if the stream has an error event, or if |
| /// action throws. |
| /// @description Checks that the future is completed with error if the stream has |
| /// an error event. |
| /// @author kaigorodov |
| |
| library forEach_A02_t01; |
| |
| import "dart:async"; |
| import "../../../Utils/expect.dart"; |
| |
| void check(Stream s, Object expectedError) { |
| AsyncExpect.error(expectedError, s.forEach((element) {})); |
| } |
| |
| void test(CreateStreamWithErrorsFunction create) { |
| check(create([1, 2, 3, 4], isError: (v) => v == 4, defVal: 42), 4); |
| List list = []; |
| check( |
| create([null, "2", -3, 4.0, list], isError: (v) => v == list, defVal: 42), |
| list); |
| check( |
| create([null, "2", -3, 4.0, list], isError: (v) => v == 4.0, defVal: 42), |
| 4.0); |
| } |