blob: 06ed398f9f68b6c3b55b32eac8488c78b09e631c [file] [log] [blame]
/*
* 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 factory StreamTransformer(StreamSubscription<T>
* transformer(Stream<S> stream, bool cancelOnError))
* Creates a StreamTransformer.
*
* The transformer closure receives the stream, that was bound, as argument
* and returns a StreamSubscription. In almost all cases the closure listens
* itself to the stream that is given as argument.
*
* @description Checks that transformer will listen to whatever stream the
* the returned StreamSubscription is created for.
* @author ilya
*/
import "dart:async";
import "../../../Utils/async_utils.dart";
import "../../../Utils/expect.dart";
main() {
var s = new Stream.fromIterable([1]);
var tr = new StreamTransformer((_, __) {
var s2 = new Stream.fromIterable([2]);
return s2.listen(null);
});
asyncStart();
s.transform(tr).toList().then((x) {
Expect.listEquals([2], x);
asyncEnd();
});
}