Index: tests/language/async_star_take_reyield_test.dart |
diff --git a/tests/language/asyncstar_concat_test.dart b/tests/language/async_star_take_reyield_test.dart |
similarity index 51% |
copy from tests/language/asyncstar_concat_test.dart |
copy to tests/language/async_star_take_reyield_test.dart |
index aeb1361cd85fdcc35bf1fd466b161c2462befc4e..7a916d9a58d1e75a4a1238332799d25093d6e4cd 100644 |
--- a/tests/language/asyncstar_concat_test.dart |
+++ b/tests/language/async_star_take_reyield_test.dart |
@@ -2,28 +2,25 @@ |
// 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 "dart:async"; |
import "package:expect/expect.dart"; |
import "package:async_helper/async_helper.dart"; |
-range(start, end) async* { |
- for (int i = start; i < end; i++) { |
- yield i; |
- } |
-} |
- |
-concat(a, b) async* { |
- yield* a; |
- yield* b; |
+expectList(stream, list) { |
+ return stream.toList().then((v) { |
+ Expect.listEquals(v, list); |
+ }); |
} |
-test() async { |
- Expect.listEquals([1, 2, 3, 11, 12, 13], |
- await concat(range(1, 4), range(11, 14)).toList()); |
+mkStream(int n) async* { |
+ for (int i = 0; i < n; i++) yield i; |
} |
main() { |
+ f(s) async* { |
+ var r = 0; |
+ await for(var v in s.take(5)) yield r += v; |
+ } |
asyncStart(); |
- test().then((_) { |
- asyncEnd(); |
- }); |
-} |
+ expectList(f(mkStream(10)), [0, 1, 3, 6, 10]).then(asyncSuccess); |
+} |