blob: 790dd87eecb3ca6fc85eea8c6a98c135f8ffbea4 [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.
// @dart = 2.9
/// @assertion factory StreamController.broadcast({void onListen(), void onCancel(), bool sync: false})
/// It is not allowed to call add, addError, or close before a previous call has returned.
/// @description Checks that it is not allowed to call add, addError or close
/// before a previous call has returned.
/// @needsreview Will only work if events for sync:true are indeed delivered
/// synchronously. The doc states that they _may be_ passed directly.
/// @author ilya
/*
import "dart:async";
import "../../../Utils/async_utils.dart";
import "../../../Utils/expect.dart";
main() {
var c = new StreamController.broadcast(sync:true);
c.stream.listen((_) {
Expect.throws(() => c.add(2));
Expect.throws(() => c.addError(2));
}, onError: (_) {
Expect.throws(() => c.add(2));
Expect.throws(() => c.addError(2));
}, onDone: () {
Expect.throws(() => c.close());
});
c.add(1);
c.addError(1);
c.close();
}
*/
main() {}