blob: 2733bf879e345826c064625fb737c43148e71c5d [file] [log] [blame]
// Copyright (c) 2016, 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 addStream(Stream<S> stream)
* Consumes the elements of stream.
*
* Listens on stream and does something for each event.
*
* Returns a future which is completed when the stream is done being added, and
* the consumer is ready to accept a new stream.
*
* @description Checks the addStresm method.
* @author ngl@unipro.ru
*/
library addStream_A01_t01;
import "dart:async";
import "../../../Utils/expect.dart";
test(StreamConsumer create()) {
StreamConsumer sc1 = create();
if (sc1 is StreamController) {
StreamController sc = sc1;
List values = [1, 2, 3, 4, 5, 6];
int i = 0;
sc.stream.listen((value) {
Expect.equals(values[i++], value);
},
onError: (error) {
Expect.fail("Unexpected error: $error");
},
onDone: () {
asyncEnd();
});
asyncStart();
sc1.addStream(new Stream.fromIterable([1, 2, 3])).then((_) {
sc1.addStream(new Stream.fromIterable([4, 5, 6])).then((_) {
sc1.close();
});
});
}
}