blob: 0002ea2aa7b9aba0382245e78486bec3823d87a8 [file] [log] [blame]
// Copyright (c) 2017, 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.
// @dart = 2.9
/// @assertion Future done
/// Get a future that will complete when the consumer closes, or when an error
/// occurs.
/// @description Checks that [done] will complete after the consumer closes
/// @author iarkh@unipro.ru
import "../../../Utils/expect.dart";
import "dart:io";
import "dart:async";
test() async {
StreamController<List<int>> controller = new StreamController<List<int>>();
dynamic sink = new IOSink(controller);
int isDone = 0;
sink.done.then((addresses) {
Expect.isTrue(controller.isClosed);
isDone++;
}, onError: (e) { Expect.fail("Unexpected error appeared: $e"); });
await controller.close();
Expect.equals(1, isDone);
}
main() {
test();
}