blob: 0e9170a335e5bf361ea3b6682f0f9ffa6db7284f [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 abstract Stream<T> asStream()
/// The stream will produce single data or error event containing the completion
/// result of this future, and then it will close with a done event.
/// @description Checks that the stream is closed after the completion value is
/// send.
/// @author kaigorodov
import "dart:async";
import "../../../Utils/expect.dart";
String output1 = "";
main() {
var value = 99;
Future future = new Future.sync(() => value);
Stream stream = future.asStream();
int count = 1;
asyncStart();
stream.listen((var event) {
// should be invoked first
count = count + 1;
}, onDone: () {
Expect.equals(2, count);
asyncEnd();
} // should be invoked second
);
}