a2c7cd6c3f
(There are so many subdirectories under language/ that I figure going a letter at a time is easier to review than going a subdirectory at a time and sending out a huge flurry of tiny CLs.) Change-Id: Ie899b93c5a5f502ca67953b722cecb68c5c6d233 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/400146 Auto-Submit: Bob Nystrom <rnystrom@google.com> Reviewed-by: Lasse Nielsen <lrn@google.com> Commit-Queue: Lasse Nielsen <lrn@google.com>
34 lines
779 B
Dart
34 lines
779 B
Dart
// Copyright (c) 2015, 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 "dart:async";
|
|
import "package:expect/async_helper.dart";
|
|
import "package:expect/expect.dart";
|
|
|
|
expectList(actualStream, expectedList) {
|
|
return actualStream.toList().then((v) {
|
|
Expect.listEquals(expectedList, v);
|
|
});
|
|
}
|
|
|
|
Stream<int> makeStream(int n) async* {
|
|
for (int i = 0; i < n; i++) yield i;
|
|
}
|
|
|
|
main() {
|
|
fivePartialSums(Stream<int> s) async* {
|
|
var r = 0;
|
|
await for (var v in s.take(5)) yield r += v;
|
|
}
|
|
|
|
asyncStart();
|
|
expectList(fivePartialSums(makeStream(10)), [
|
|
0,
|
|
1,
|
|
3,
|
|
6,
|
|
10,
|
|
]).then(asyncSuccess);
|
|
}
|