blob: 3be4e4ecb68b8b8dfea778303926bef56dd2348c [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 bool isBroadcast
/// Reports whether this stream is a broadcast stream.
/// @description Checks true is returned for a broadcast stream.
/// @author kaigorodov
import "dart:async";
import "../../../Utils/expect.dart";
class MyStreamSubscription<T> extends StreamSubscription<T> {
@override
Future<E> asFuture<E>([E? futureValue]) {
throw UnimplementedError();
}
@override
Future<void> cancel() {
throw UnimplementedError();
}
@override
void onData(void Function(T data)? handleData) {
}
@override
void onDone(void Function()? handleDone) {
}
@override
void onError(Function? handleError) {
}
@override
void pause([Future<void>? resumeSignal]) {
}
@override
void resume() {
}
@override
bool get isPaused => throw UnimplementedError();
}
class MyStream<T> extends Stream<T> {
StreamSubscription<T> listen(void onData(T event)?,
{Function? onError, void onDone()?, bool? cancelOnError})
{
return new MyStreamSubscription();
}
}
main() {
Stream s = new MyStream().asBroadcastStream();
Expect.isTrue(s.isBroadcast);
}