Run dartfmt --fix to drop unnecessary new/const (#74)
Bump minimum SDK version in pubspec to 2.0.0
diff --git a/analysis_options.yaml b/analysis_options.yaml
index 24a615c..82ef545 100644
--- a/analysis_options.yaml
+++ b/analysis_options.yaml
@@ -4,3 +4,5 @@
linter:
rules:
- prefer_typing_uninitialized_variables
+ - unnecessary_new
+ - unnecessary_const
diff --git a/lib/src/async_cache.dart b/lib/src/async_cache.dart
index 53084ca..6bd34bd 100644
--- a/lib/src/async_cache.dart
+++ b/lib/src/async_cache.dart
@@ -49,7 +49,7 @@
/// An ephemeral cache guarantees that a callback function will only be
/// executed at most once concurrently. This is useful for requests for which
/// data is updated frequently but stale data is acceptable.
- factory AsyncCache.ephemeral() => new AsyncCache(Duration.zero);
+ factory AsyncCache.ephemeral() => AsyncCache(Duration.zero);
/// Returns a cached value from a previous call to [fetch], or runs [callback]
/// to compute a new one.
@@ -58,7 +58,7 @@
/// value. Otherwise, runs [callback] and returns its new return value.
Future<T> fetch(Future<T> callback()) async {
if (_cachedStreamSplitter != null) {
- throw new StateError('Previously used to cache via `fetchStream`');
+ throw StateError('Previously used to cache via `fetchStream`');
}
if (_cachedValueFuture == null) {
_cachedValueFuture = callback();
@@ -76,11 +76,11 @@
/// return value.
Stream<T> fetchStream(Stream<T> callback()) {
if (_cachedValueFuture != null) {
- throw new StateError('Previously used to cache via `fetch`');
+ throw StateError('Previously used to cache via `fetch`');
}
if (_cachedStreamSplitter == null) {
- _cachedStreamSplitter = new StreamSplitter(callback()
- .transform(new StreamTransformer.fromHandlers(handleDone: (sink) {
+ _cachedStreamSplitter = StreamSplitter(callback()
+ .transform(StreamTransformer.fromHandlers(handleDone: (sink) {
_startStaleTimer();
sink.close();
})));
@@ -100,6 +100,6 @@
}
void _startStaleTimer() {
- _stale = new Timer(_duration, invalidate);
+ _stale = Timer(_duration, invalidate);
}
}
diff --git a/lib/src/async_memoizer.dart b/lib/src/async_memoizer.dart
index d1c0f32..5e83400 100644
--- a/lib/src/async_memoizer.dart
+++ b/lib/src/async_memoizer.dart
@@ -31,7 +31,7 @@
///
/// This can be accessed at any time, and will fire once [runOnce] is called.
Future<T> get future => _completer.future;
- final _completer = new Completer<T>();
+ final _completer = Completer<T>();
/// Whether [runOnce] has been called yet.
bool get hasRun => _completer.isCompleted;
@@ -40,7 +40,7 @@
///
/// If [runOnce] has already been called, this returns the original result.
Future<T> runOnce(FutureOr<T> computation()) {
- if (!hasRun) _completer.complete(new Future.sync(computation));
+ if (!hasRun) _completer.complete(Future.sync(computation));
return future;
}
}
diff --git a/lib/src/byte_collector.dart b/lib/src/byte_collector.dart
index 3c1d49d..f01cc2a 100644
--- a/lib/src/byte_collector.dart
+++ b/lib/src/byte_collector.dart
@@ -31,7 +31,7 @@
Stream<List<int>> source) {
return _collectBytes(
source,
- (subscription, result) => new CancelableOperation.fromFuture(result,
+ (subscription, result) => CancelableOperation.fromFuture(result,
onCancel: subscription.cancel));
}
@@ -46,7 +46,7 @@
StreamSubscription<List<int>> subscription, Future<Uint8List> result)) {
var byteLists = <List<int>>[];
var length = 0;
- var completer = new Completer<Uint8List>.sync();
+ var completer = Completer<Uint8List>.sync();
var subscription = source.listen(
(bytes) {
byteLists.add(bytes);
@@ -62,7 +62,7 @@
// Join a lists of bytes with a known total length into a single [Uint8List].
Uint8List _collect(int length, List<List<int>> byteLists) {
- var result = new Uint8List(length);
+ var result = Uint8List(length);
int i = 0;
for (var byteList in byteLists) {
var end = i + byteList.length;
diff --git a/lib/src/cancelable_operation.dart b/lib/src/cancelable_operation.dart
index 0e010da..e6115cb 100644
--- a/lib/src/cancelable_operation.dart
+++ b/lib/src/cancelable_operation.dart
@@ -31,7 +31,7 @@
/// It's guaranteed to only be called once.
factory CancelableOperation.fromFuture(Future<T> inner,
{FutureOr onCancel()}) {
- var completer = new CancelableCompleter<T>(onCancel: onCancel);
+ var completer = CancelableCompleter<T>(onCancel: onCancel);
completer.complete(inner);
return completer.operation;
}
@@ -45,7 +45,7 @@
/// canceled, this is as well.
Stream<T> asStream() {
var controller =
- new StreamController<T>(sync: true, onCancel: _completer._cancel);
+ StreamController<T>(sync: true, onCancel: _completer._cancel);
value.then((value) {
controller.add(value);
@@ -64,7 +64,7 @@
/// If this operation is cancelled, the returned future waits for the future
/// returned by [cancel], then completes to [cancellationValue].
Future<T> valueOrCancellation([T cancellationValue]) {
- var completer = new Completer<T>.sync();
+ var completer = Completer<T>.sync();
value.then((result) => completer.complete(result),
onError: completer.completeError);
@@ -100,8 +100,8 @@
/// It's guaranteed to only be called once.
CancelableCompleter({FutureOr onCancel()})
: _onCancel = onCancel,
- _inner = new Completer<T>() {
- _operation = new CancelableOperation<T>._(this);
+ _inner = Completer<T>() {
+ _operation = CancelableOperation<T>._(this);
}
/// The operation controlled by this completer.
@@ -117,14 +117,14 @@
bool _isCanceled = false;
/// The memoizer for [_cancel].
- final _cancelMemo = new AsyncMemoizer();
+ final _cancelMemo = AsyncMemoizer();
/// Completes [operation] to [value].
///
/// If [value] is a [Future], this will complete to the result of that
/// [Future] once it completes.
void complete([value]) {
- if (_isCompleted) throw new StateError("Operation already completed");
+ if (_isCompleted) throw StateError("Operation already completed");
_isCompleted = true;
if (value is! Future) {
@@ -150,7 +150,7 @@
/// Completes [operation] to [error].
void completeError(Object error, [StackTrace stackTrace]) {
- if (_isCompleted) throw new StateError("Operation already completed");
+ if (_isCompleted) throw StateError("Operation already completed");
_isCompleted = true;
if (_isCanceled) return;
@@ -159,7 +159,7 @@
/// Cancel the completer.
Future _cancel() {
- if (_inner.isCompleted) return new Future.value();
+ if (_inner.isCompleted) return Future.value();
return _cancelMemo.runOnce(() {
_isCanceled = true;
diff --git a/lib/src/delegate/event_sink.dart b/lib/src/delegate/event_sink.dart
index 54c3e52..95d7841 100644
--- a/lib/src/delegate/event_sink.dart
+++ b/lib/src/delegate/event_sink.dart
@@ -23,7 +23,7 @@
/// [add] may throw a [CastError] if the argument type doesn't match the
/// reified type of [sink].
static EventSink<T> typed<T>(EventSink sink) =>
- sink is EventSink<T> ? sink : new DelegatingEventSink._(sink);
+ sink is EventSink<T> ? sink : DelegatingEventSink._(sink);
void add(T data) {
_sink.add(data);
diff --git a/lib/src/delegate/sink.dart b/lib/src/delegate/sink.dart
index 7c68a0f..b8ba76d 100644
--- a/lib/src/delegate/sink.dart
+++ b/lib/src/delegate/sink.dart
@@ -21,7 +21,7 @@
/// throw a [CastError] if the argument type doesn't match the reified type of
/// [sink].
static Sink<T> typed<T>(Sink sink) =>
- sink is Sink<T> ? sink : new DelegatingSink._(sink);
+ sink is Sink<T> ? sink : DelegatingSink._(sink);
void add(T data) {
_sink.add(data);
diff --git a/lib/src/delegate/stream_consumer.dart b/lib/src/delegate/stream_consumer.dart
index ba83040..ad53182 100644
--- a/lib/src/delegate/stream_consumer.dart
+++ b/lib/src/delegate/stream_consumer.dart
@@ -25,7 +25,7 @@
static StreamConsumer<T> typed<T>(StreamConsumer consumer) =>
consumer is StreamConsumer<T>
? consumer
- : new DelegatingStreamConsumer._(consumer);
+ : DelegatingStreamConsumer._(consumer);
Future addStream(Stream<T> stream) => _consumer.addStream(stream);
diff --git a/lib/src/delegate/stream_sink.dart b/lib/src/delegate/stream_sink.dart
index 198df8a..67eb33c 100644
--- a/lib/src/delegate/stream_sink.dart
+++ b/lib/src/delegate/stream_sink.dart
@@ -25,7 +25,7 @@
/// throw a [CastError] if the argument type doesn't match the reified type of
/// [sink].
static StreamSink<T> typed<T>(StreamSink sink) =>
- sink is StreamSink<T> ? sink : new DelegatingStreamSink._(sink);
+ sink is StreamSink<T> ? sink : DelegatingStreamSink._(sink);
void add(T data) {
_sink.add(data);
diff --git a/lib/src/delegate/stream_subscription.dart b/lib/src/delegate/stream_subscription.dart
index 6bef924..07af08e 100644
--- a/lib/src/delegate/stream_subscription.dart
+++ b/lib/src/delegate/stream_subscription.dart
@@ -26,7 +26,7 @@
static StreamSubscription<T> typed<T>(StreamSubscription subscription) =>
subscription is StreamSubscription<T>
? subscription
- : new TypeSafeStreamSubscription<T>(subscription);
+ : TypeSafeStreamSubscription<T>(subscription);
void onData(void handleData(T data)) {
_source.onData(handleData);
diff --git a/lib/src/future_group.dart b/lib/src/future_group.dart
index 0bf3158..7e17494 100644
--- a/lib/src/future_group.dart
+++ b/lib/src/future_group.dart
@@ -31,7 +31,7 @@
/// This will also complete with an error if any of the futures in the group
/// fails, regardless of whether [close] was called.
Future<List<T>> get future => _completer.future;
- final _completer = new Completer<List<T>>();
+ final _completer = Completer<List<T>>();
/// Whether this group has no pending futures.
bool get isIdle => _pending == 0;
@@ -43,7 +43,7 @@
/// called, this stream will close.
Stream get onIdle {
if (_onIdleController == null) {
- _onIdleController = new StreamController.broadcast(sync: true);
+ _onIdleController = StreamController.broadcast(sync: true);
}
return _onIdleController.stream;
}
@@ -54,11 +54,11 @@
/// the order they were added.
///
/// The slots for futures that haven't completed yet are `null`.
- final _values = new List<T>();
+ final _values = List<T>();
/// Wait for [task] to complete.
void add(Future<T> task) {
- if (_closed) throw new StateError("The FutureGroup is closed.");
+ if (_closed) throw StateError("The FutureGroup is closed.");
// Ensure that future values are put into [values] in the same order they're
// added to the group by pre-allocating a slot for them and recording its
diff --git a/lib/src/lazy_stream.dart b/lib/src/lazy_stream.dart
index f07c387..278957a 100644
--- a/lib/src/lazy_stream.dart
+++ b/lib/src/lazy_stream.dart
@@ -22,13 +22,13 @@
/// a listener and forwards to the returned stream.
LazyStream(FutureOr<Stream<T>> callback()) : _callback = callback {
// Explicitly check for null because we null out [_callback] internally.
- if (_callback == null) throw new ArgumentError.notNull('callback');
+ if (_callback == null) throw ArgumentError.notNull('callback');
}
StreamSubscription<T> listen(void onData(T event),
{Function onError, void onDone(), bool cancelOnError}) {
if (_callback == null) {
- throw new StateError("Stream has already been listened to.");
+ throw StateError("Stream has already been listened to.");
}
// Null out the callback before we invoke it to ensure that even while
diff --git a/lib/src/null_stream_sink.dart b/lib/src/null_stream_sink.dart
index c83790c..c9d3d5d 100644
--- a/lib/src/null_stream_sink.dart
+++ b/lib/src/null_stream_sink.dart
@@ -42,13 +42,13 @@
///
/// If [done] is passed, it's used as the [Sink.done] future. Otherwise, a
/// completed future is used.
- NullStreamSink({Future done}) : done = done ?? new Future.value();
+ NullStreamSink({Future done}) : done = done ?? Future.value();
/// Creates a null sink whose [done] future emits [error].
///
/// Note that this error will not be considered uncaught.
NullStreamSink.error(error, [StackTrace stackTrace])
- : done = new Future.error(error, stackTrace)
+ : done = Future.error(error, stackTrace)
// Don't top-level the error. This gives the user a change to call
// [close] or [done], and matches the behavior of a remote endpoint
// experiencing an error.
@@ -66,7 +66,7 @@
_checkEventAllowed();
_addingStream = true;
- var future = stream.listen(null).cancel() ?? new Future.value();
+ var future = stream.listen(null).cancel() ?? Future.value();
return future.whenComplete(() {
_addingStream = false;
});
@@ -75,9 +75,9 @@
/// Throws a [StateError] if [close] has been called or an [addStream] call is
/// pending.
void _checkEventAllowed() {
- if (_closed) throw new StateError("Cannot add to a closed sink.");
+ if (_closed) throw StateError("Cannot add to a closed sink.");
if (_addingStream) {
- throw new StateError("Cannot add to a sink while adding a stream.");
+ throw StateError("Cannot add to a sink while adding a stream.");
}
}
diff --git a/lib/src/restartable_timer.dart b/lib/src/restartable_timer.dart
index 7b05821..b8e414a 100644
--- a/lib/src/restartable_timer.dart
+++ b/lib/src/restartable_timer.dart
@@ -26,7 +26,7 @@
/// The [callback] function is invoked after the given [duration]. Unlike a
/// normal non-periodic [Timer], [callback] may be called more than once.
RestartableTimer(this._duration, this._callback) {
- _timer = new Timer(_duration, _callback);
+ _timer = Timer(_duration, _callback);
}
bool get isActive => _timer.isActive;
@@ -37,7 +37,7 @@
/// This restarts the timer even if it has already fired or has been canceled.
void reset() {
_timer.cancel();
- _timer = new Timer(_duration, _callback);
+ _timer = Timer(_duration, _callback);
}
void cancel() {
@@ -49,6 +49,6 @@
// See https://github.com/dart-lang/sdk/issues/31664
// ignore: override_on_non_overriding_getter
int get tick {
- throw new UnimplementedError("tick");
+ throw UnimplementedError("tick");
}
}
diff --git a/lib/src/result/capture_sink.dart b/lib/src/result/capture_sink.dart
index 742c160..0477a19 100644
--- a/lib/src/result/capture_sink.dart
+++ b/lib/src/result/capture_sink.dart
@@ -13,11 +13,11 @@
CaptureSink(EventSink<Result<T>> sink) : _sink = sink;
void add(T value) {
- _sink.add(new Result<T>.value(value));
+ _sink.add(Result<T>.value(value));
}
void addError(Object error, [StackTrace stackTrace]) {
- _sink.add(new Result.error(error, stackTrace));
+ _sink.add(Result.error(error, stackTrace));
}
void close() {
diff --git a/lib/src/result/capture_transformer.dart b/lib/src/result/capture_transformer.dart
index b9a538a..a727a8e 100644
--- a/lib/src/result/capture_transformer.dart
+++ b/lib/src/result/capture_transformer.dart
@@ -15,6 +15,6 @@
const CaptureStreamTransformer();
Stream<Result<T>> bind(Stream<T> source) =>
- new Stream<Result<T>>.eventTransformed(
- source, (sink) => new CaptureSink<T>(sink));
+ Stream<Result<T>>.eventTransformed(
+ source, (sink) => CaptureSink<T>(sink));
}
diff --git a/lib/src/result/error.dart b/lib/src/result/error.dart
index 2feb2c2..8f29d13 100644
--- a/lib/src/result/error.dart
+++ b/lib/src/result/error.dart
@@ -30,7 +30,7 @@
sink.addError(error, stackTrace);
}
- Future<Null> get asFuture => new Future<Null>.error(error, stackTrace);
+ Future<Null> get asFuture => Future<Null>.error(error, stackTrace);
/// Calls an error handler with the error and stacktrace.
///
diff --git a/lib/src/result/release_transformer.dart b/lib/src/result/release_transformer.dart
index 01865cc..1aead30 100644
--- a/lib/src/result/release_transformer.dart
+++ b/lib/src/result/release_transformer.dart
@@ -12,9 +12,9 @@
const ReleaseStreamTransformer();
Stream<T> bind(Stream<Result<T>> source) {
- return new Stream<T>.eventTransformed(source, _createSink);
+ return Stream<T>.eventTransformed(source, _createSink);
}
// Since Stream.eventTransformed is not generic, this method can be static.
- static EventSink<Result> _createSink(EventSink sink) => new ReleaseSink(sink);
+ static EventSink<Result> _createSink(EventSink sink) => ReleaseSink(sink);
}
diff --git a/lib/src/result/result.dart b/lib/src/result/result.dart
index 25503b5..28799fa 100644
--- a/lib/src/result/result.dart
+++ b/lib/src/result/result.dart
@@ -28,14 +28,14 @@
/// The result of the transformation is a stream of [Result] values and no
/// error events. This is the transformer used by [captureStream].
static const StreamTransformer<Object, Result<Object>>
- captureStreamTransformer = const CaptureStreamTransformer<Object>();
+ captureStreamTransformer = CaptureStreamTransformer<Object>();
/// A stream transformer that releases a stream of result events.
///
/// The result of the transformation is a stream of values and error events.
/// This is the transformer used by [releaseStream].
static const StreamTransformer<Result<Object>, Object>
- releaseStreamTransformer = const ReleaseStreamTransformer<Object>();
+ releaseStreamTransformer = ReleaseStreamTransformer<Object>();
/// A sink transformer that captures events into [Result]s.
///
@@ -43,8 +43,8 @@
/// values and no error events.
static const StreamSinkTransformer<Object, Result<Object>>
captureSinkTransformer =
- const StreamSinkTransformer<Object, Result<Object>>.fromStreamTransformer(
- const CaptureStreamTransformer<Object>());
+ StreamSinkTransformer<Object, Result<Object>>.fromStreamTransformer(
+ CaptureStreamTransformer<Object>());
/// A sink transformer that releases result events.
///
@@ -52,8 +52,8 @@
/// error events.
static const StreamSinkTransformer<Result<Object>, Object>
releaseSinkTransformer =
- const StreamSinkTransformer<Result<Object>, Object>.fromStreamTransformer(
- const ReleaseStreamTransformer<Object>());
+ StreamSinkTransformer<Result<Object>, Object>.fromStreamTransformer(
+ ReleaseStreamTransformer<Object>());
/// Creates a `Result` with the result of calling [computation].
///
@@ -62,9 +62,9 @@
/// the call.
factory Result(T computation()) {
try {
- return new ValueResult<T>(computation());
+ return ValueResult<T>(computation());
} catch (e, s) {
- return new ErrorResult(e, s);
+ return ErrorResult(e, s);
}
}
@@ -77,15 +77,15 @@
///
/// Alias for [ErrorResult.ErrorResult].
factory Result.error(Object error, [StackTrace stackTrace]) =>
- new ErrorResult(error, stackTrace);
+ ErrorResult(error, stackTrace);
/// Captures the result of a future into a `Result` future.
///
/// The resulting future will never have an error.
/// Errors have been converted to an [ErrorResult] value.
static Future<Result<T>> capture<T>(Future<T> future) {
- return future.then((value) => new ValueResult(value),
- onError: (error, stackTrace) => new ErrorResult(error, stackTrace));
+ return future.then((value) => ValueResult(value),
+ onError: (error, stackTrace) => ErrorResult(error, stackTrace));
}
/// Captures each future in [elements],
@@ -111,13 +111,13 @@
}
});
} else {
- results.add(new Result<T>.value(element));
+ results.add(Result<T>.value(element));
}
}
if (pending == 0) {
- return new Future<List<Result<T>>>.value(results);
+ return Future<List<Result<T>>>.value(results);
}
- completer = new Completer<List<Result<T>>>();
+ completer = Completer<List<Result<T>>>();
return completer.future;
}
@@ -136,7 +136,7 @@
/// The returned stream will not have any error events.
/// Errors from the source stream have been converted to [ErrorResult]s.
static Stream<Result<T>> captureStream<T>(Stream<T> source) =>
- source.transform(new CaptureStreamTransformer<T>());
+ source.transform(CaptureStreamTransformer<T>());
/// Releases a stream of [result] values into a stream of the results.
///
@@ -144,7 +144,7 @@
/// the returned stream as appropriate.
/// Errors from the source stream become errors in the returned stream.
static Stream<T> releaseStream<T>(Stream<Result<T>> source) =>
- source.transform(new ReleaseStreamTransformer<T>());
+ source.transform(ReleaseStreamTransformer<T>());
/// Releases results added to the returned sink as data and errors on [sink].
///
@@ -152,7 +152,7 @@
/// on [sink]. Errors added to the returned sink are forwarded directly to
/// [sink] and so is the [EventSink.close] calls.
static EventSink<Result<T>> releaseSink<T>(EventSink<T> sink) =>
- new ReleaseSink<T>(sink);
+ ReleaseSink<T>(sink);
/// Captures the events of the returned sink into results on [sink].
///
@@ -162,7 +162,7 @@
///
/// When the returned sink is closed, so is [sink].
static EventSink<T> captureSink<T>(EventSink<Result<T>> sink) =>
- new CaptureSink<T>(sink);
+ CaptureSink<T>(sink);
/// Converts a result of a result to a single result.
///
@@ -188,7 +188,7 @@
return result.asError;
}
}
- return new Result<List<T>>.value(values);
+ return Result<List<T>>.value(values);
}
/// Whether this result is a value result.
diff --git a/lib/src/result/value.dart b/lib/src/result/value.dart
index edc41fb..dddc9fe 100644
--- a/lib/src/result/value.dart
+++ b/lib/src/result/value.dart
@@ -27,7 +27,7 @@
sink.add(value);
}
- Future<T> get asFuture => new Future.value(value);
+ Future<T> get asFuture => Future.value(value);
int get hashCode => value.hashCode ^ 0x323f1d61;
diff --git a/lib/src/single_subscription_transformer.dart b/lib/src/single_subscription_transformer.dart
index ff17189..8007a42 100644
--- a/lib/src/single_subscription_transformer.dart
+++ b/lib/src/single_subscription_transformer.dart
@@ -18,8 +18,8 @@
Stream<T> bind(Stream<S> stream) {
StreamSubscription<S> subscription;
- var controller = new StreamController<T>(
- sync: true, onCancel: () => subscription.cancel());
+ var controller =
+ StreamController<T>(sync: true, onCancel: () => subscription.cancel());
subscription = stream.listen((value) {
// TODO(nweiz): When we release a new major version, get rid of the second
// type parameter and avoid this conversion.
diff --git a/lib/src/stream_completer.dart b/lib/src/stream_completer.dart
index 4311de5..bbb2155 100644
--- a/lib/src/stream_completer.dart
+++ b/lib/src/stream_completer.dart
@@ -24,7 +24,7 @@
/// the listen is performed directly on the source stream.
class StreamCompleter<T> {
/// The stream doing the actual work, is returned by [stream].
- final _stream = new _CompleterStream<T>();
+ final _stream = _CompleterStream<T>();
/// Convert a `Future<Stream>` to a `Stream`.
///
@@ -35,7 +35,7 @@
/// If the future completes with an error, the returned stream will
/// instead contain just that error.
static Stream<T> fromFuture<T>(Future<Stream<T>> streamFuture) {
- var completer = new StreamCompleter<T>();
+ var completer = StreamCompleter<T>();
streamFuture.then(completer.setSourceStream, onError: completer.setError);
return completer.stream;
}
@@ -75,7 +75,7 @@
/// most once. Trying to call any of them again will fail.
void setSourceStream(Stream<T> sourceStream) {
if (_stream._isSourceStreamSet) {
- throw new StateError("Source stream already set");
+ throw StateError("Source stream already set");
}
_stream._setSourceStream(sourceStream);
}
@@ -86,7 +86,7 @@
/// most once. Trying to call any of them again will fail.
void setEmpty() {
if (_stream._isSourceStreamSet) {
- throw new StateError("Source stream already set");
+ throw StateError("Source stream already set");
}
_stream._setEmpty();
}
@@ -98,7 +98,7 @@
/// Any one of [setSourceStream], [setEmpty], and [setError] may be called at
/// most once. Trying to call any of them again will fail.
void setError(error, [StackTrace stackTrace]) {
- setSourceStream(new Stream.fromFuture(new Future.error(error, stackTrace)));
+ setSourceStream(Stream.fromFuture(Future.error(error, stackTrace)));
}
}
@@ -179,6 +179,6 @@
// Creates the [_controller].
void _createController() {
assert(_controller == null);
- _controller = new StreamController<T>(sync: true);
+ _controller = StreamController<T>(sync: true);
}
}
diff --git a/lib/src/stream_group.dart b/lib/src/stream_group.dart
index 6361a5c..d647ce3 100644
--- a/lib/src/stream_group.dart
+++ b/lib/src/stream_group.dart
@@ -47,14 +47,14 @@
/// subscriptions will be canceled and set to null again. Single-subscriber
/// stream subscriptions will be left intact, since they can't be
/// re-subscribed.
- final _subscriptions = new Map<Stream<T>, StreamSubscription<T>>();
+ final _subscriptions = Map<Stream<T>, StreamSubscription<T>>();
/// Merges the events from [streams] into a single (single-subscriber) stream.
///
/// This is equivalent to adding [streams] to a group, closing that group, and
/// returning its stream.
static Stream<T> merge<T>(Iterable<Stream<T>> streams) {
- var group = new StreamGroup<T>();
+ var group = StreamGroup<T>();
streams.forEach(group.add);
group.close();
return group.stream;
@@ -62,7 +62,7 @@
/// Creates a new stream group where [stream] is single-subscriber.
StreamGroup() {
- _controller = new StreamController<T>(
+ _controller = StreamController<T>(
onListen: _onListen,
onPause: _onPause,
onResume: _onResume,
@@ -72,7 +72,7 @@
/// Creates a new stream group where [stream] is a broadcast stream.
StreamGroup.broadcast() {
- _controller = new StreamController<T>.broadcast(
+ _controller = StreamController<T>.broadcast(
onListen: _onListen, onCancel: _onCancelBroadcast, sync: true);
}
@@ -90,7 +90,7 @@
/// Throws a [StateError] if this group is closed.
Future add(Stream<T> stream) {
if (_closed) {
- throw new StateError("Can't add a Stream to a closed StreamGroup.");
+ throw StateError("Can't add a Stream to a closed StreamGroup.");
}
if (_state == _StreamGroupState.dormant) {
@@ -219,12 +219,12 @@
///
/// New streams added to the group will be listened once the group has a
/// listener.
- static const dormant = const _StreamGroupState("dormant");
+ static const dormant = _StreamGroupState("dormant");
/// The group has one or more listeners and is actively firing events.
///
/// New streams added to the group will be immediately listeners.
- static const listening = const _StreamGroupState("listening");
+ static const listening = _StreamGroupState("listening");
/// The group is paused and no more events will be fired until it resumes.
///
@@ -232,7 +232,7 @@
/// will be resumed once the group itself is resumed.
///
/// This state is only used by single-subscriber groups.
- static const paused = const _StreamGroupState("paused");
+ static const paused = _StreamGroupState("paused");
/// The group is canceled and no more events will be fired ever.
///
@@ -240,7 +240,7 @@
/// discarded.
///
/// This state is only used by single-subscriber groups.
- static const canceled = const _StreamGroupState("canceled");
+ static const canceled = _StreamGroupState("canceled");
/// The name of the state.
///
diff --git a/lib/src/stream_queue.dart b/lib/src/stream_queue.dart
index 61a1654..fd3186e 100644
--- a/lib/src/stream_queue.dart
+++ b/lib/src/stream_queue.dart
@@ -44,7 +44,7 @@
///
/// Example:
///
-/// var events = new StreamQueue<String>(someStreamOfLines);
+/// var events = StreamQueue<String>(someStreamOfLines);
/// var first = await events.next;
/// while (first.startsWith('#')) {
/// // Skip comments.
@@ -107,12 +107,12 @@
var _eventsReceived = 0;
/// Queue of events not used by a request yet.
- final QueueList<Result<T>> _eventQueue = new QueueList();
+ final QueueList<Result<T>> _eventQueue = QueueList();
/// Queue of pending requests.
///
/// Access through methods below to ensure consistency.
- final Queue<_EventRequest> _requestQueue = new Queue();
+ final Queue<_EventRequest> _requestQueue = Queue();
/// Create a `StreamQueue` of the events of [source].
factory StreamQueue(Stream<T> source) => StreamQueue._(source);
@@ -133,7 +133,7 @@
/// one events.
Future<bool> get hasNext {
if (!_isClosed) {
- var hasNextRequest = new _HasNextRequest<T>();
+ var hasNextRequest = _HasNextRequest<T>();
_addRequest(hasNextRequest);
return hasNextRequest.future;
}
@@ -146,9 +146,9 @@
/// If one of the next [count] events is an error, the returned future
/// completes with this error, and the error is still left in the queue.
Future<List<T>> lookAhead(int count) {
- if (count < 0) throw new RangeError.range(count, 0, null, "count");
+ if (count < 0) throw RangeError.range(count, 0, null, "count");
if (!_isClosed) {
- var request = new _LookAheadRequest<T>(count);
+ var request = _LookAheadRequest<T>(count);
_addRequest(request);
return request.future;
}
@@ -171,7 +171,7 @@
/// first events that were not consumed by previous requeusts.
Future<T> get next {
if (!_isClosed) {
- var nextRequest = new _NextRequest<T>();
+ var nextRequest = _NextRequest<T>();
_addRequest(nextRequest);
return nextRequest.future;
}
@@ -184,7 +184,7 @@
/// If the next event is an error event, it stays in the queue.
Future<T> get peek {
if (!_isClosed) {
- var nextRequest = new _PeekRequest<T>();
+ var nextRequest = _PeekRequest<T>();
_addRequest(nextRequest);
return nextRequest.future;
}
@@ -204,7 +204,7 @@
if (_isClosed) {
throw _failClosed();
}
- var request = new _RestRequest<T>(this);
+ var request = _RestRequest<T>(this);
_isClosed = true;
_addRequest(request);
return request.stream;
@@ -226,9 +226,9 @@
/// then all events were succssfully skipped. If the value
/// is greater than zero then the stream ended early.
Future<int> skip(int count) {
- if (count < 0) throw new RangeError.range(count, 0, null, "count");
+ if (count < 0) throw RangeError.range(count, 0, null, "count");
if (!_isClosed) {
- var request = new _SkipRequest<T>(count);
+ var request = _SkipRequest<T>(count);
_addRequest(request);
return request.future;
}
@@ -251,9 +251,9 @@
/// of data collected so far. That is, the returned
/// list may have fewer than [count] elements.
Future<List<T>> take(int count) {
- if (count < 0) throw new RangeError.range(count, 0, null, "count");
+ if (count < 0) throw RangeError.range(count, 0, null, "count");
if (!_isClosed) {
- var request = new _TakeRequest<T>(count);
+ var request = _TakeRequest<T>(count);
_addRequest(request);
return request.future;
}
@@ -295,7 +295,7 @@
StreamQueueTransaction<T> startTransaction() {
if (_isClosed) throw _failClosed();
- var request = new _TransactionRequest(this);
+ var request = _TransactionRequest(this);
_addRequest(request);
return request.transaction;
}
@@ -353,7 +353,7 @@
/// See also [startTransaction] and [withTransaction].
///
/// ```dart
- /// final _stdinQueue = new StreamQueue(stdin);
+ /// final _stdinQueue = StreamQueue(stdin);
///
/// /// Returns an operation that completes when the user sends a line to
/// /// standard input.
@@ -365,7 +365,7 @@
CancelableOperation<S> cancelable<S>(
Future<S> callback(StreamQueue<T> queue)) {
var transaction = startTransaction();
- var completer = new CancelableCompleter<S>(onCancel: () {
+ var completer = CancelableCompleter<S>(onCancel: () {
transaction.reject();
});
@@ -393,17 +393,17 @@
/// After calling `cancel`, no further events can be requested.
/// None of [lookAhead], [next], [peek], [rest], [skip], [take] or [cancel]
/// may be called again.
- Future cancel({bool immediate: false}) {
+ Future cancel({bool immediate = false}) {
if (_isClosed) throw _failClosed();
_isClosed = true;
if (!immediate) {
- var request = new _CancelRequest<T>(this);
+ var request = _CancelRequest<T>(this);
_addRequest(request);
return request.future;
}
- if (_isDone && _eventQueue.isEmpty) return new Future.value();
+ if (_isDone && _eventQueue.isEmpty) return Future.value();
return _cancel();
}
@@ -444,7 +444,7 @@
Stream<T> _extractStream() {
assert(_isClosed);
if (_isDone) {
- return new Stream<T>.empty();
+ return Stream<T>.empty();
}
_isDone = true;
@@ -456,7 +456,7 @@
_subscription = null;
var wasPaused = subscription.isPaused;
- var result = new SubscriptionStream<T>(subscription);
+ var result = SubscriptionStream<T>(subscription);
// Resume after creating stream because that pauses the subscription too.
// This way there won't be a short resumption in the middle.
if (wasPaused) subscription.resume();
@@ -481,9 +481,9 @@
if (_isDone) return;
if (_subscription == null) {
_subscription = _source.listen((data) {
- _addResult(new Result.value(data));
+ _addResult(Result.value(data));
}, onError: (error, StackTrace stackTrace) {
- _addResult(new Result.error(error, stackTrace));
+ _addResult(Result.error(error, stackTrace));
}, onDone: () {
_subscription = null;
this._close();
@@ -529,7 +529,7 @@
/// Returns a [StateError] with a message saying that either
/// [cancel] or [rest] have already been called.
Error _failClosed() {
- return new StateError("Already cancelled");
+ return StateError("Already cancelled");
}
/// Adds a new request to the queue.
@@ -558,7 +558,7 @@
final StreamSplitter<T> _splitter;
/// Queues created using [newQueue].
- final _queues = new Set<StreamQueue>();
+ final _queues = Set<StreamQueue>();
/// Whether [commit] has been called.
var _committed = false;
@@ -567,7 +567,7 @@
var _rejected = false;
StreamQueueTransaction._(this._parent, Stream<T> source)
- : _splitter = new StreamSplitter(source);
+ : _splitter = StreamSplitter(source);
/// Creates a new copy of the parent queue.
///
@@ -575,7 +575,7 @@
/// [StreamQueue.startTransaction] was called. Its position can be committed
/// to the parent queue using [commit].
StreamQueue<T> newQueue() {
- var queue = new StreamQueue(_splitter.split());
+ var queue = StreamQueue(_splitter.split());
_queues.add(queue);
return queue;
}
@@ -592,9 +592,9 @@
void commit(StreamQueue<T> queue) {
_assertActive();
if (!_queues.contains(queue)) {
- throw new ArgumentError("Queue doesn't belong to this transaction.");
+ throw ArgumentError("Queue doesn't belong to this transaction.");
} else if (queue._requestQueue.isNotEmpty) {
- throw new StateError("A queue with pending requests can't be committed.");
+ throw StateError("A queue with pending requests can't be committed.");
}
_committed = true;
@@ -639,9 +639,9 @@
/// Throws a [StateError] if [accept] or [reject] has already been called.
void _assertActive() {
if (_committed) {
- throw new StateError("This transaction has already been accepted.");
+ throw StateError("This transaction has already been accepted.");
} else if (_rejected) {
- throw new StateError("This transaction has already been rejected.");
+ throw StateError("This transaction has already been rejected.");
}
}
}
@@ -690,7 +690,7 @@
/// and is then complete.
class _NextRequest<T> implements _EventRequest<T> {
/// Completer for the future returned by [StreamQueue.next].
- final _completer = new Completer<T>();
+ final _completer = Completer<T>();
_NextRequest();
@@ -702,8 +702,7 @@
return true;
}
if (isDone) {
- _completer.completeError(
- new StateError("No elements"), StackTrace.current);
+ _completer.completeError(StateError("No elements"), StackTrace.current);
return true;
}
return false;
@@ -716,7 +715,7 @@
/// and is then complete, but doesn't consume the event.
class _PeekRequest<T> implements _EventRequest<T> {
/// Completer for the future returned by [StreamQueue.next].
- final _completer = new Completer<T>();
+ final _completer = Completer<T>();
_PeekRequest();
@@ -728,8 +727,7 @@
return true;
}
if (isDone) {
- _completer.completeError(
- new StateError("No elements"), StackTrace.current);
+ _completer.completeError(StateError("No elements"), StackTrace.current);
return true;
}
return false;
@@ -739,7 +737,7 @@
/// Request for a [StreamQueue.skip] call.
class _SkipRequest<T> implements _EventRequest<T> {
/// Completer for the future returned by the skip call.
- final _completer = new Completer<int>();
+ final _completer = Completer<int>();
/// Number of remaining events to skip.
///
@@ -776,7 +774,7 @@
/// Common superclass for [_TakeRequest] and [_LookAheadRequest].
abstract class _ListRequest<T> implements _EventRequest<T> {
/// Completer for the future returned by the take call.
- final _completer = new Completer<List<T>>();
+ final _completer = Completer<List<T>>();
/// List collecting events until enough have been seen.
final _list = <T>[];
@@ -846,7 +844,7 @@
class _CancelRequest<T> implements _EventRequest<T> {
/// Completer for the future returned by the `cancel` call.
/// TODO(lrn); make this Completer<void> when that is implemented.
- final _completer = new Completer();
+ final _completer = Completer();
/// When the event is completed, it needs to cancel the active subscription
/// of the `StreamQueue` object, if any.
@@ -875,7 +873,7 @@
/// stream events subscription and creates a stream from it.
class _RestRequest<T> implements _EventRequest<T> {
/// Completer for the stream returned by the `rest` call.
- final _completer = new StreamCompleter<T>();
+ final _completer = StreamCompleter<T>();
/// The [StreamQueue] object that has this request queued.
///
@@ -898,7 +896,7 @@
} else {
// There are prefetched events which needs to be added before the
// remaining stream.
- var controller = new StreamController<T>();
+ var controller = StreamController<T>();
for (var event in events) {
event.addTo(controller);
}
@@ -918,7 +916,7 @@
/// If the request is closed without seeing an event, then
/// the [future] is completed with `false`.
class _HasNextRequest<T> implements _EventRequest<T> {
- final _completer = new Completer<bool>();
+ final _completer = Completer<bool>();
Future<bool> get future => _completer.future;
@@ -947,13 +945,13 @@
StreamQueueTransaction<T> _transaction;
/// The controller that passes events to [transaction].
- final _controller = new StreamController<T>(sync: true);
+ final _controller = StreamController<T>(sync: true);
/// The number of events passed to [_controller] so far.
var _eventsSent = 0;
_TransactionRequest(StreamQueue<T> parent) {
- _transaction = new StreamQueueTransaction._(parent, _controller.stream);
+ _transaction = StreamQueueTransaction._(parent, _controller.stream);
}
bool update(QueueList<Result<T>> events, bool isDone) {
diff --git a/lib/src/stream_sink_completer.dart b/lib/src/stream_sink_completer.dart
index 4219126..c7fdd03 100644
--- a/lib/src/stream_sink_completer.dart
+++ b/lib/src/stream_sink_completer.dart
@@ -24,7 +24,7 @@
///
/// Events can be added to the sink either before or after a destination sink
/// is set.
- final StreamSink<T> sink = new _CompleterSink<T>();
+ final StreamSink<T> sink = _CompleterSink<T>();
/// Returns [sink] typed as a [_CompleterSink].
_CompleterSink<T> get _sink => sink;
@@ -37,7 +37,7 @@
/// If the future completes with an error, the returned sink will instead
/// be closed. Its [Sink.done] future will contain the error.
static StreamSink<T> fromFuture<T>(Future<StreamSink<T>> sinkFuture) {
- var completer = new StreamSinkCompleter<T>();
+ var completer = StreamSinkCompleter<T>();
sinkFuture.then(completer.setDestinationSink, onError: completer.setError);
return completer.sink;
}
@@ -59,7 +59,7 @@
/// Trying to call either of them again will fail.
void setDestinationSink(StreamSink<T> destinationSink) {
if (_sink._destinationSink != null) {
- throw new StateError("Destination sink already set");
+ throw StateError("Destination sink already set");
}
_sink._setDestinationSink(destinationSink);
}
@@ -71,7 +71,7 @@
/// Either of [setDestinationSink] or [setError] may be called at most once.
/// Trying to call either of them again will fail.
void setError(error, [StackTrace stackTrace]) {
- setDestinationSink(new NullStreamSink.error(error, stackTrace));
+ setDestinationSink(NullStreamSink.error(error, stackTrace));
}
}
@@ -101,7 +101,7 @@
Future get done {
if (_doneCompleter != null) return _doneCompleter.future;
if (_destinationSink == null) {
- _doneCompleter = new Completer.sync();
+ _doneCompleter = Completer.sync();
return _doneCompleter.future;
}
return _destinationSink.done;
@@ -144,7 +144,7 @@
/// Create [_controller] if it doesn't yet exist.
void _ensureController() {
- if (_controller == null) _controller = new StreamController(sync: true);
+ if (_controller == null) _controller = StreamController(sync: true);
}
/// Sets the destination sink to which events from this sink will be provided.
diff --git a/lib/src/stream_sink_transformer.dart b/lib/src/stream_sink_transformer.dart
index 503d28a..b01132e 100644
--- a/lib/src/stream_sink_transformer.dart
+++ b/lib/src/stream_sink_transformer.dart
@@ -37,7 +37,7 @@
{void handleData(S data, EventSink<T> sink),
void handleError(Object error, StackTrace stackTrace, EventSink<T> sink),
void handleDone(EventSink<T> sink)}) {
- return new HandlerTransformer<S, T>(handleData, handleError, handleDone);
+ return HandlerTransformer<S, T>(handleData, handleError, handleDone);
}
/// Transforms the events passed to [sink].
@@ -57,5 +57,5 @@
StreamSinkTransformer transformer) =>
transformer is StreamSinkTransformer<S, T>
? transformer
- : new TypeSafeStreamSinkTransformer(transformer);
+ : TypeSafeStreamSinkTransformer(transformer);
}
diff --git a/lib/src/stream_sink_transformer/handler_transformer.dart b/lib/src/stream_sink_transformer/handler_transformer.dart
index dba8240..3137003 100644
--- a/lib/src/stream_sink_transformer/handler_transformer.dart
+++ b/lib/src/stream_sink_transformer/handler_transformer.dart
@@ -8,14 +8,14 @@
import '../delegate/stream_sink.dart';
/// The type of the callback for handling data events.
-typedef void HandleData<S, T>(S data, EventSink<T> sink);
+typedef HandleData<S, T> = void Function(S data, EventSink<T> sink);
/// The type of the callback for handling error events.
-typedef void HandleError<T>(
+typedef HandleError<T> = void Function(
Object error, StackTrace stackTrace, EventSink<T> sink);
/// The type of the callback for handling done events.
-typedef void HandleDone<T>(EventSink<T> sink);
+typedef HandleDone<T> = void Function(EventSink<T> sink);
/// A [StreamSinkTransformer] that delegates events to the given handlers.
class HandlerTransformer<S, T> implements StreamSinkTransformer<S, T> {
@@ -30,7 +30,7 @@
HandlerTransformer(this._handleData, this._handleError, this._handleDone);
- StreamSink<S> bind(StreamSink<T> sink) => new _HandlerSink<S, T>(this, sink);
+ StreamSink<S> bind(StreamSink<T> sink) => _HandlerSink<S, T>(this, sink);
}
/// A sink created by [HandlerTransformer].
@@ -49,7 +49,7 @@
_HandlerSink(this._transformer, StreamSink<T> inner)
: _inner = inner,
- _safeCloseInner = new _SafeCloseSink<T>(inner);
+ _safeCloseInner = _SafeCloseSink<T>(inner);
void add(S event) {
if (_transformer._handleData == null) {
@@ -69,7 +69,7 @@
Future addStream(Stream<S> stream) {
return _inner.addStream(stream.transform(
- new StreamTransformer<S, T>.fromHandlers(
+ StreamTransformer<S, T>.fromHandlers(
handleData: _transformer._handleData,
handleError: _transformer._handleError,
handleDone: _closeSink)));
diff --git a/lib/src/stream_sink_transformer/stream_transformer_wrapper.dart b/lib/src/stream_sink_transformer/stream_transformer_wrapper.dart
index 32ac648..1010f9f 100644
--- a/lib/src/stream_sink_transformer/stream_transformer_wrapper.dart
+++ b/lib/src/stream_sink_transformer/stream_transformer_wrapper.dart
@@ -14,7 +14,7 @@
const StreamTransformerWrapper(this._transformer);
StreamSink<S> bind(StreamSink<T> sink) =>
- new _StreamTransformerWrapperSink<S, T>(_transformer, sink);
+ _StreamTransformerWrapperSink<S, T>(_transformer, sink);
}
/// A sink created by [StreamTransformerWrapper].
@@ -23,7 +23,7 @@
///
/// This is used to create a stream that can be transformed by the wrapped
/// transformer.
- final _controller = new StreamController<S>(sync: true);
+ final _controller = StreamController<S>(sync: true);
/// The original sink that's being transformed.
final StreamSink<T> _inner;
diff --git a/lib/src/stream_splitter.dart b/lib/src/stream_splitter.dart
index 3616501..9ddb63a 100644
--- a/lib/src/stream_splitter.dart
+++ b/lib/src/stream_splitter.dart
@@ -32,20 +32,20 @@
/// The buffer of events or errors that have already been emitted by
/// [_stream].
- final _buffer = new List<Result<T>>();
+ final _buffer = List<Result<T>>();
/// The controllers for branches that are listening for future events from
/// [_stream].
///
/// Once a branch is canceled, it's removed from this list. When [_stream] is
/// done, all branches are removed.
- final _controllers = new Set<StreamController<T>>();
+ final _controllers = Set<StreamController<T>>();
/// A group of futures returned by [close].
///
/// This is used to ensure that [close] doesn't complete until all
/// [StreamController.close] and [StreamSubscription.cancel] calls complete.
- final _closeGroup = new FutureGroup();
+ final _closeGroup = FutureGroup();
/// Whether [_stream] is done emitting events.
var _isDone = false;
@@ -59,8 +59,8 @@
/// then closing the [StreamSplitter].
static List<Stream<T>> splitFrom<T>(Stream<T> stream, [int count]) {
if (count == null) count = 2;
- var splitter = new StreamSplitter<T>(stream);
- var streams = new List<Stream<T>>.generate(count, (_) => splitter.split());
+ var splitter = StreamSplitter<T>(stream);
+ var streams = List<Stream<T>>.generate(count, (_) => splitter.split());
splitter.close();
return streams;
}
@@ -72,10 +72,10 @@
/// This will throw a [StateError] if [close] has been called.
Stream<T> split() {
if (_isClosed) {
- throw new StateError("Can't call split() on a closed StreamSplitter.");
+ throw StateError("Can't call split() on a closed StreamSplitter.");
}
- var controller = new StreamController<T>(
+ var controller = StreamController<T>(
onListen: _onListen, onPause: _onPause, onResume: _onResume);
controller.onCancel = () => _onCancel(controller);
@@ -183,7 +183,7 @@
/// Buffers [data] and passes it to [_controllers].
void _onData(T data) {
- if (!_isClosed) _buffer.add(new Result.value(data));
+ if (!_isClosed) _buffer.add(Result.value(data));
for (var controller in _controllers) {
controller.add(data);
}
@@ -191,7 +191,7 @@
/// Buffers [error] and passes it to [_controllers].
void _onError(Object error, StackTrace stackTrace) {
- if (!_isClosed) _buffer.add(new Result.error(error, stackTrace));
+ if (!_isClosed) _buffer.add(Result.error(error, stackTrace));
for (var controller in _controllers) {
controller.addError(error, stackTrace);
}
diff --git a/lib/src/stream_subscription_transformer.dart b/lib/src/stream_subscription_transformer.dart
index 1443b18..bee96a5 100644
--- a/lib/src/stream_subscription_transformer.dart
+++ b/lib/src/stream_subscription_transformer.dart
@@ -6,9 +6,9 @@
import 'async_memoizer.dart';
-typedef Future _AsyncHandler<T>(StreamSubscription<T> inner);
+typedef _AsyncHandler<T> = Future Function(StreamSubscription<T> inner);
-typedef void _VoidHandler<T>(StreamSubscription<T> inner);
+typedef _VoidHandler<T> = void Function(StreamSubscription<T> inner);
/// Creates a [StreamTransformer] that modifies the behavior of subscriptions to
/// a stream.
@@ -31,8 +31,8 @@
{Future handleCancel(StreamSubscription<T> inner),
void handlePause(StreamSubscription<T> inner),
void handleResume(StreamSubscription<T> inner)}) {
- return new StreamTransformer((stream, cancelOnError) {
- return new _TransformedSubscription(
+ return StreamTransformer((stream, cancelOnError) {
+ return _TransformedSubscription(
stream.listen(null, cancelOnError: cancelOnError),
handleCancel ?? (inner) => inner.cancel(),
handlePause ??
@@ -88,7 +88,7 @@
_inner = null;
return _handleCancel(inner);
});
- final _cancelMemoizer = new AsyncMemoizer();
+ final _cancelMemoizer = AsyncMemoizer();
void pause([Future resumeFuture]) {
if (_cancelMemoizer.hasRun) return;
@@ -102,5 +102,5 @@
}
Future<E> asFuture<E>([E futureValue]) =>
- _inner?.asFuture(futureValue) ?? new Completer<E>().future;
+ _inner?.asFuture(futureValue) ?? Completer<E>().future;
}
diff --git a/lib/src/stream_zip.dart b/lib/src/stream_zip.dart
index 3d5a811..ef14c3e 100644
--- a/lib/src/stream_zip.dart
+++ b/lib/src/stream_zip.dart
@@ -31,7 +31,7 @@
dataCount++;
if (dataCount == subscriptions.length) {
var data = current;
- current = new List(subscriptions.length);
+ current = List(subscriptions.length);
dataCount = 0;
for (int i = 0; i < subscriptions.length; i++) {
if (i != index) subscriptions[i].resume();
@@ -84,9 +84,9 @@
rethrow;
}
- current = new List(subscriptions.length);
+ current = List(subscriptions.length);
- controller = new StreamController<List<T>>(onPause: () {
+ controller = StreamController<List<T>>(onPause: () {
for (int i = 0; i < subscriptions.length; i++) {
// This may pause some subscriptions more than once.
// These will not be resumed by onResume below, but must wait for the
diff --git a/lib/src/subscription_stream.dart b/lib/src/subscription_stream.dart
index a235663..347c346 100644
--- a/lib/src/subscription_stream.dart
+++ b/lib/src/subscription_stream.dart
@@ -41,14 +41,14 @@
StreamSubscription<T> listen(void onData(T event),
{Function onError, void onDone(), bool cancelOnError}) {
if (_source == null) {
- throw new StateError("Stream has already been listened to.");
+ throw StateError("Stream has already been listened to.");
}
cancelOnError = (true == cancelOnError);
var subscription = _source;
_source = null;
var result = cancelOnError
- ? new _CancelOnErrorSubscriptionWrapper<T>(subscription)
+ ? _CancelOnErrorSubscriptionWrapper<T>(subscription)
: subscription;
result.onData(onData);
result.onError(onError);
diff --git a/lib/src/typed_stream_transformer.dart b/lib/src/typed_stream_transformer.dart
index cb63311..9750eb4 100644
--- a/lib/src/typed_stream_transformer.dart
+++ b/lib/src/typed_stream_transformer.dart
@@ -16,7 +16,7 @@
StreamTransformer transformer) =>
transformer is StreamTransformer<S, T>
? transformer
- : new _TypeSafeStreamTransformer(transformer);
+ : _TypeSafeStreamTransformer(transformer);
/// A wrapper that coerces the type of the stream returned by an inner
/// transformer.
diff --git a/lib/src/utils.dart b/lib/src/utils.dart
index 2aab40e..39e5a8a 100644
--- a/lib/src/utils.dart
+++ b/lib/src/utils.dart
@@ -5,8 +5,8 @@
import 'dart:async';
/// A generic typedef for a function that takes one type and returns another.
-typedef F UnaryFunction<E, F>(E argument);
+typedef UnaryFunction<E, F> = F Function(E argument);
/// A typedef for a function that takes no arguments and returns a Future or a
/// value.
-typedef FutureOr<T> FutureOrCallback<T>();
+typedef FutureOrCallback<T> = FutureOr<T> Function();
diff --git a/pubspec.yaml b/pubspec.yaml
index 37db660..0b79178 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -6,7 +6,7 @@
homepage: https://www.github.com/dart-lang/async
environment:
- sdk: '>=2.0.0-dev.23.0 <3.0.0'
+ sdk: '>=2.0.0 <3.0.0'
dependencies:
collection: ^1.5.0
diff --git a/test/async_cache_test.dart b/test/async_cache_test.dart
index a4f452f..92e34bf 100644
--- a/test/async_cache_test.dart
+++ b/test/async_cache_test.dart
@@ -13,7 +13,7 @@
setUp(() {
// Create a cache that is fresh for an hour.
- cache = new AsyncCache(const Duration(hours: 1));
+ cache = AsyncCache(const Duration(hours: 1));
});
test('should fetch via a callback when no cache exists', () async {
@@ -27,16 +27,16 @@
test('should not fetch via callback when a future is in-flight', () async {
// No actual caching is done, just avoid duplicate requests.
- cache = new AsyncCache.ephemeral();
+ cache = AsyncCache.ephemeral();
- var completer = new Completer<String>();
+ var completer = Completer<String>();
expect(cache.fetch(() => completer.future), completion('Expensive'));
expect(cache.fetch(expectAsync0(() {}, count: 0)), completion('Expensive'));
completer.complete('Expensive');
});
test('should fetch via a callback again when cache expires', () {
- new FakeAsync().run((fakeAsync) async {
+ FakeAsync().run((fakeAsync) async {
var timesCalled = 0;
call() async => 'Called ${++timesCalled}';
expect(await cache.fetch(call), 'Called 1');
@@ -67,7 +67,7 @@
test('should fetch a stream via a callback', () async {
expect(
await cache.fetchStream(expectAsync0(() {
- return new Stream.fromIterable(['1', '2', '3']);
+ return Stream.fromIterable(['1', '2', '3']);
})).toList(),
['1', '2', '3']);
});
@@ -86,22 +86,22 @@
// Unlike the above test, we want to verify that we don't make multiple
// calls if a cache is being filled currently, and instead wait for that
// cache to be completed.
- var controller = new StreamController<String>();
+ var controller = StreamController<String>();
Stream<String> call() => controller.stream;
expect(cache.fetchStream(call).toList(), completion(['1', '2', '3']));
controller.add('1');
controller.add('2');
- await new Future.value();
+ await Future.value();
expect(cache.fetchStream(call).toList(), completion(['1', '2', '3']));
controller.add('3');
await controller.close();
});
test('should fetch stream via a callback again when cache expires', () {
- new FakeAsync().run((fakeAsync) async {
+ FakeAsync().run((fakeAsync) async {
var timesCalled = 0;
Stream<String> call() {
- return new Stream.fromIterable(['Called ${++timesCalled}']);
+ return Stream.fromIterable(['Called ${++timesCalled}']);
}
expect(await cache.fetchStream(call).toList(), ['Called 1']);
@@ -125,7 +125,7 @@
test('should fetch via a callback when manually invalidated', () async {
var timesCalled = 0;
Stream<String> call() {
- return new Stream.fromIterable(['Called ${++timesCalled}']);
+ return Stream.fromIterable(['Called ${++timesCalled}']);
}
expect(await cache.fetchStream(call).toList(), ['Called 1']);
@@ -136,7 +136,7 @@
});
test('should cancel a cached stream without affecting others', () async {
- Stream<String> call() => new Stream.fromIterable(['1', '2', '3']);
+ Stream<String> call() => Stream.fromIterable(['1', '2', '3']);
expect(cache.fetchStream(call).toList(), completion(['1', '2', '3']));
@@ -145,7 +145,7 @@
});
test('should pause a cached stream without affecting others', () async {
- Stream<String> call() => new Stream.fromIterable(['1', '2', '3']);
+ Stream<String> call() => Stream.fromIterable(['1', '2', '3']);
StreamSubscription sub;
sub = cache.fetchStream(call).listen(expectAsync1((event) {
diff --git a/test/async_memoizer_test.dart b/test/async_memoizer_test.dart
index 380f58d..785f9a5 100644
--- a/test/async_memoizer_test.dart
+++ b/test/async_memoizer_test.dart
@@ -7,7 +7,7 @@
main() {
AsyncMemoizer cache;
- setUp(() => cache = new AsyncMemoizer());
+ setUp(() => cache = AsyncMemoizer());
test("runs the function only the first time runOnce() is called", () async {
var count = 0;
diff --git a/test/byte_collection_test.dart b/test/byte_collection_test.dart
index b87b074..24d218b 100644
--- a/test/byte_collection_test.dart
+++ b/test/byte_collection_test.dart
@@ -10,7 +10,7 @@
void main() {
group("collectBytes", () {
test("simple list and overflow", () {
- var result = collectBytes(new Stream.fromIterable([
+ var result = collectBytes(Stream.fromIterable([
[0],
[1],
[2],
@@ -20,25 +20,25 @@
});
test("no events", () {
- var result = collectBytes(new Stream.fromIterable([]));
+ var result = collectBytes(Stream.fromIterable([]));
expect(result, completion([]));
});
test("empty events", () {
- var result = collectBytes(new Stream.fromIterable([[], []]));
+ var result = collectBytes(Stream.fromIterable([[], []]));
expect(result, completion([]));
});
test("error event", () {
- var result = collectBytes(new Stream.fromIterable(
- new Iterable.generate(3, (n) => n == 2 ? throw "badness" : [n])));
+ var result = collectBytes(Stream.fromIterable(
+ Iterable.generate(3, (n) => n == 2 ? throw "badness" : [n])));
expect(result, throwsA("badness"));
});
});
group("collectBytes", () {
test("simple list and overflow", () {
- var result = collectBytesCancelable(new Stream.fromIterable([
+ var result = collectBytesCancelable(Stream.fromIterable([
[0],
[1],
[2],
@@ -48,23 +48,23 @@
});
test("no events", () {
- var result = collectBytesCancelable(new Stream.fromIterable([]));
+ var result = collectBytesCancelable(Stream.fromIterable([]));
expect(result.value, completion([]));
});
test("empty events", () {
- var result = collectBytesCancelable(new Stream.fromIterable([[], []]));
+ var result = collectBytesCancelable(Stream.fromIterable([[], []]));
expect(result.value, completion([]));
});
test("error event", () {
- var result = collectBytesCancelable(new Stream.fromIterable(
- new Iterable.generate(3, (n) => n == 2 ? throw "badness" : [n])));
+ var result = collectBytesCancelable(Stream.fromIterable(
+ Iterable.generate(3, (n) => n == 2 ? throw "badness" : [n])));
expect(result.value, throwsA("badness"));
});
test("cancelled", () async {
- var sc = new StreamController<List<int>>();
+ var sc = StreamController<List<int>>();
var result = collectBytesCancelable(sc.stream);
// Value never completes.
result.value.whenComplete(expectAsync0(() {}, count: 0));
@@ -87,4 +87,4 @@
});
}
-Future nextTimerTick() => new Future(() {});
+Future nextTimerTick() => Future(() {});
diff --git a/test/cancelable_operation_test.dart b/test/cancelable_operation_test.dart
index 8c92e2a..4a23856 100644
--- a/test/cancelable_operation_test.dart
+++ b/test/cancelable_operation_test.dart
@@ -13,8 +13,7 @@
group("without being canceled", () {
CancelableCompleter completer;
setUp(() {
- completer =
- new CancelableCompleter(onCancel: expectAsync0(() {}, count: 0));
+ completer = CancelableCompleter(onCancel: expectAsync0(() {}, count: 0));
});
test("sends values to the future", () {
@@ -34,14 +33,14 @@
test("sends values in a future to the future", () {
expect(completer.operation.value, completion(equals(1)));
expect(completer.isCompleted, isFalse);
- completer.complete(new Future.value(1));
+ completer.complete(Future.value(1));
expect(completer.isCompleted, isTrue);
});
test("sends errors in a future to the future", () {
expect(completer.operation.value, throwsA("error"));
expect(completer.isCompleted, isFalse);
- completer.complete(new Future.error("error"));
+ completer.complete(Future.error("error"));
expect(completer.isCompleted, isTrue);
});
@@ -74,31 +73,28 @@
test("successfully then with a future", () {
completer.complete(1);
- expect(
- () => completer.complete(new Completer().future), throwsStateError);
+ expect(() => completer.complete(Completer().future), throwsStateError);
});
test("with a future then successfully", () {
- completer.complete(new Completer().future);
+ completer.complete(Completer().future);
expect(() => completer.complete(1), throwsStateError);
});
test("with a future twice", () {
- completer.complete(new Completer().future);
- expect(
- () => completer.complete(new Completer().future), throwsStateError);
+ completer.complete(Completer().future);
+ expect(() => completer.complete(Completer().future), throwsStateError);
});
});
group("CancelableOperation.fromFuture", () {
test("forwards values", () {
- var operation = new CancelableOperation.fromFuture(new Future.value(1));
+ var operation = CancelableOperation.fromFuture(Future.value(1));
expect(operation.value, completion(equals(1)));
});
test("forwards errors", () {
- var operation =
- new CancelableOperation.fromFuture(new Future.error("error"));
+ var operation = CancelableOperation.fromFuture(Future.error("error"));
expect(operation.value, throwsA("error"));
});
});
@@ -106,7 +102,7 @@
group("when canceled", () {
test("causes the future never to fire", () async {
- var completer = new CancelableCompleter();
+ var completer = CancelableCompleter();
completer.operation.value.whenComplete(expectAsync0(() {}, count: 0));
completer.operation.cancel();
@@ -119,7 +115,7 @@
test("fires onCancel", () {
var canceled = false;
CancelableCompleter completer;
- completer = new CancelableCompleter(onCancel: expectAsync0(() {
+ completer = CancelableCompleter(onCancel: expectAsync0(() {
expect(completer.isCanceled, isTrue);
canceled = true;
}));
@@ -134,8 +130,8 @@
});
test("returns the onCancel future each time cancel is called", () {
- var completer = new CancelableCompleter(onCancel: expectAsync0(() {
- return new Future.value(1);
+ var completer = CancelableCompleter(onCancel: expectAsync0(() {
+ return Future.value(1);
}));
expect(completer.operation.cancel(), completion(equals(1)));
expect(completer.operation.cancel(), completion(equals(1)));
@@ -143,13 +139,13 @@
});
test("returns a future even if onCancel doesn't", () {
- var completer = new CancelableCompleter(onCancel: expectAsync0(() {}));
+ var completer = CancelableCompleter(onCancel: expectAsync0(() {}));
expect(completer.operation.cancel(), completes);
});
test("doesn't call onCancel if the completer has completed", () {
var completer =
- new CancelableCompleter(onCancel: expectAsync0(() {}, count: 0));
+ CancelableCompleter(onCancel: expectAsync0(() {}, count: 0));
completer.complete(1);
expect(completer.operation.value, completion(equals(1)));
expect(completer.operation.cancel(), completes);
@@ -158,8 +154,8 @@
test(
"does call onCancel if the completer has completed to an unfired "
"Future", () {
- var completer = new CancelableCompleter(onCancel: expectAsync0(() {}));
- completer.complete(new Completer().future);
+ var completer = CancelableCompleter(onCancel: expectAsync0(() {}));
+ completer.complete(Completer().future);
expect(completer.operation.cancel(), completes);
});
@@ -167,14 +163,14 @@
"doesn't call onCancel if the completer has completed to a fired "
"Future", () async {
var completer =
- new CancelableCompleter(onCancel: expectAsync0(() {}, count: 0));
- completer.complete(new Future.value(1));
+ CancelableCompleter(onCancel: expectAsync0(() {}, count: 0));
+ completer.complete(Future.value(1));
await completer.operation.value;
expect(completer.operation.cancel(), completes);
});
test("can be completed once after being canceled", () async {
- var completer = new CancelableCompleter();
+ var completer = CancelableCompleter();
completer.operation.value.whenComplete(expectAsync0(() {}, count: 0));
await completer.operation.cancel();
completer.complete(1);
@@ -182,13 +178,13 @@
});
test("fires valueOrCancellation with the given value", () {
- var completer = new CancelableCompleter();
+ var completer = CancelableCompleter();
expect(completer.operation.valueOrCancellation(1), completion(equals(1)));
completer.operation.cancel();
});
test("pipes an error through valueOrCancellation", () {
- var completer = new CancelableCompleter(onCancel: () {
+ var completer = CancelableCompleter(onCancel: () {
throw "error";
});
expect(completer.operation.valueOrCancellation(1), throwsA("error"));
@@ -196,9 +192,9 @@
});
test("valueOrCancellation waits on the onCancel future", () async {
- var innerCompleter = new Completer();
+ var innerCompleter = Completer();
var completer =
- new CancelableCompleter(onCancel: () => innerCompleter.future);
+ CancelableCompleter(onCancel: () => innerCompleter.future);
var fired = false;
completer.operation.valueOrCancellation().then((_) {
@@ -217,21 +213,21 @@
group("asStream()", () {
test("emits a value and then closes", () {
- var completer = new CancelableCompleter();
+ var completer = CancelableCompleter();
expect(completer.operation.asStream().toList(), completion(equals([1])));
completer.complete(1);
});
test("emits an error and then closes", () {
- var completer = new CancelableCompleter();
- var queue = new StreamQueue(completer.operation.asStream());
+ var completer = CancelableCompleter();
+ var queue = StreamQueue(completer.operation.asStream());
expect(queue.next, throwsA("error"));
expect(queue.hasNext, completion(isFalse));
completer.completeError("error");
});
test("cancels the completer when the subscription is canceled", () {
- var completer = new CancelableCompleter(onCancel: expectAsync0(() {}));
+ var completer = CancelableCompleter(onCancel: expectAsync0(() {}));
var sub =
completer.operation.asStream().listen(expectAsync1((_) {}, count: 0));
completer.operation.value.whenComplete(expectAsync0(() {}, count: 0));
diff --git a/test/future_group_test.dart b/test/future_group_test.dart
index b6f75ba..770a465 100644
--- a/test/future_group_test.dart
+++ b/test/future_group_test.dart
@@ -12,7 +12,7 @@
void main() {
FutureGroup futureGroup;
setUp(() {
- futureGroup = new FutureGroup();
+ futureGroup = FutureGroup();
});
group("with no futures", () {
@@ -32,7 +32,7 @@
group("with a future that already completed", () {
test("never completes if nothing happens", () async {
- futureGroup.add(new Future.value());
+ futureGroup.add(Future.value());
await flushMicrotasks();
var completed = false;
@@ -43,7 +43,7 @@
});
test("completes once it's closed", () async {
- futureGroup.add(new Future.value());
+ futureGroup.add(Future.value());
await flushMicrotasks();
expect(futureGroup.future, completes);
@@ -51,21 +51,21 @@
});
test("completes to that future's value", () {
- futureGroup.add(new Future.value(1));
+ futureGroup.add(Future.value(1));
futureGroup.close();
expect(futureGroup.future, completion(equals([1])));
});
test("completes to that future's error, even if it's not closed", () {
- futureGroup.add(new Future.error("error"));
+ futureGroup.add(Future.error("error"));
expect(futureGroup.future, throwsA("error"));
});
});
test("completes once all contained futures complete", () async {
- var completer1 = new Completer();
- var completer2 = new Completer();
- var completer3 = new Completer();
+ var completer1 = Completer();
+ var completer2 = Completer();
+ var completer3 = Completer();
futureGroup.add(completer1.future);
futureGroup.add(completer2.future);
@@ -89,9 +89,9 @@
});
test("completes to the values of the futures in order of addition", () {
- var completer1 = new Completer();
- var completer2 = new Completer();
- var completer3 = new Completer();
+ var completer1 = Completer();
+ var completer2 = Completer();
+ var completer3 = Completer();
futureGroup.add(completer1.future);
futureGroup.add(completer2.future);
@@ -108,9 +108,9 @@
test("completes to the first error to be emitted, even if it's not closed",
() {
- var completer1 = new Completer();
- var completer2 = new Completer();
- var completer3 = new Completer();
+ var completer1 = Completer();
+ var completer2 = Completer();
+ var completer3 = Completer();
futureGroup.add(completer1.future);
futureGroup.add(completer2.future);
@@ -126,9 +126,9 @@
var idle = false;
futureGroup.onIdle.listen((_) => idle = true);
- var completer1 = new Completer();
- var completer2 = new Completer();
- var completer3 = new Completer();
+ var completer1 = Completer();
+ var completer2 = Completer();
+ var completer3 = Completer();
futureGroup.add(completer1.future);
futureGroup.add(completer2.future);
@@ -158,7 +158,7 @@
var idle = false;
futureGroup.onIdle.listen((_) => idle = true);
- var completer = new Completer();
+ var completer = Completer();
futureGroup.add(completer.future);
completer.complete();
@@ -167,7 +167,7 @@
expect(futureGroup.isIdle, isTrue);
idle = false;
- completer = new Completer();
+ completer = Completer();
futureGroup.add(completer.future);
await flushMicrotasks();
@@ -202,7 +202,7 @@
futureFired = true;
}));
- var completer = new Completer();
+ var completer = Completer();
futureGroup.add(completer.future);
futureGroup.close();
diff --git a/test/lazy_stream_test.dart b/test/lazy_stream_test.dart
index 0c2e344..db1bc94 100644
--- a/test/lazy_stream_test.dart
+++ b/test/lazy_stream_test.dart
@@ -11,14 +11,14 @@
main() {
test("disallows a null callback", () {
- expect(() => new LazyStream(null), throwsArgumentError);
+ expect(() => LazyStream(null), throwsArgumentError);
});
test("calls the callback when the stream is listened", () async {
var callbackCalled = false;
- var stream = new LazyStream(expectAsync0(() {
+ var stream = LazyStream(expectAsync0(() {
callbackCalled = true;
- return new Stream.empty();
+ return Stream.empty();
}));
await flushMicrotasks();
@@ -30,9 +30,9 @@
test("calls the callback when the stream is listened", () async {
var callbackCalled = false;
- var stream = new LazyStream(expectAsync0(() {
+ var stream = LazyStream(expectAsync0(() {
callbackCalled = true;
- return new Stream.empty();
+ return Stream.empty();
}));
await flushMicrotasks();
@@ -43,8 +43,8 @@
});
test("forwards to a synchronously-provided stream", () async {
- var controller = new StreamController<int>();
- var stream = new LazyStream(expectAsync0(() => controller.stream));
+ var controller = StreamController<int>();
+ var stream = LazyStream(expectAsync0(() => controller.stream));
var events = [];
stream.listen(events.add);
@@ -65,8 +65,8 @@
});
test("forwards to an asynchronously-provided stream", () async {
- var controller = new StreamController<int>();
- var stream = new LazyStream(expectAsync0(() async => controller.stream));
+ var controller = StreamController<int>();
+ var stream = LazyStream(expectAsync0(() async => controller.stream));
var events = [];
stream.listen(events.add);
@@ -87,7 +87,7 @@
});
test("a lazy stream can't be listened to multiple times", () {
- var stream = new LazyStream(expectAsync0(() => new Stream.empty()));
+ var stream = LazyStream(expectAsync0(() => Stream.empty()));
expect(stream.isBroadcast, isFalse);
stream.listen(null);
@@ -97,9 +97,9 @@
test("a lazy stream can't be listened to from within its callback", () {
LazyStream stream;
- stream = new LazyStream(expectAsync0(() {
+ stream = LazyStream(expectAsync0(() {
expect(() => stream.listen(null), throwsStateError);
- return new Stream.empty();
+ return Stream.empty();
}));
stream.listen(null);
});
diff --git a/test/null_stream_sink_test.dart b/test/null_stream_sink_test.dart
index 244f99c..33e2655 100644
--- a/test/null_stream_sink_test.dart
+++ b/test/null_stream_sink_test.dart
@@ -12,13 +12,13 @@
void main() {
group("constructors", () {
test("done defaults to a completed future", () {
- var sink = new NullStreamSink();
+ var sink = NullStreamSink();
expect(sink.done, completes);
});
test("a custom future may be passed to done", () async {
- var completer = new Completer();
- var sink = new NullStreamSink(done: completer.future);
+ var completer = Completer();
+ var sink = NullStreamSink(done: completer.future);
var doneFired = false;
sink.done.then((_) {
@@ -33,32 +33,32 @@
});
test("NullStreamSink.error passes an error to done", () {
- var sink = new NullStreamSink.error("oh no");
+ var sink = NullStreamSink.error("oh no");
expect(sink.done, throwsA("oh no"));
});
});
group("events", () {
test("are silently dropped before close", () {
- var sink = new NullStreamSink();
+ var sink = NullStreamSink();
sink.add(1);
sink.addError("oh no");
});
test("throw StateErrors after close", () {
- var sink = new NullStreamSink();
+ var sink = NullStreamSink();
expect(sink.close(), completes);
expect(() => sink.add(1), throwsStateError);
expect(() => sink.addError("oh no"), throwsStateError);
- expect(() => sink.addStream(new Stream.empty()), throwsStateError);
+ expect(() => sink.addStream(Stream.empty()), throwsStateError);
});
group("addStream", () {
test("listens to the stream then cancels immediately", () async {
- var sink = new NullStreamSink();
+ var sink = NullStreamSink();
var canceled = false;
- var controller = new StreamController(onCancel: () {
+ var controller = StreamController(onCancel: () {
canceled = true;
});
@@ -68,9 +68,9 @@
});
test("returns the cancel future", () async {
- var completer = new Completer();
- var sink = new NullStreamSink();
- var controller = new StreamController(onCancel: () => completer.future);
+ var completer = Completer();
+ var sink = NullStreamSink();
+ var controller = StreamController(onCancel: () => completer.future);
var addStreamFired = false;
sink.addStream(controller.stream).then((_) {
@@ -85,29 +85,29 @@
});
test("pipes errors from the cancel future through addStream", () async {
- var sink = new NullStreamSink();
- var controller = new StreamController(onCancel: () => throw "oh no");
+ var sink = NullStreamSink();
+ var controller = StreamController(onCancel: () => throw "oh no");
expect(sink.addStream(controller.stream), throwsA("oh no"));
});
test("causes events to throw StateErrors until the future completes",
() async {
- var sink = new NullStreamSink();
- var future = sink.addStream(new Stream.empty());
+ var sink = NullStreamSink();
+ var future = sink.addStream(Stream.empty());
expect(() => sink.add(1), throwsStateError);
expect(() => sink.addError("oh no"), throwsStateError);
- expect(() => sink.addStream(new Stream.empty()), throwsStateError);
+ expect(() => sink.addStream(Stream.empty()), throwsStateError);
await future;
sink.add(1);
sink.addError("oh no");
- expect(sink.addStream(new Stream.empty()), completes);
+ expect(sink.addStream(Stream.empty()), completes);
});
});
});
test("close returns the done future", () {
- var sink = new NullStreamSink.error("oh no");
+ var sink = NullStreamSink.error("oh no");
expect(sink.close(), throwsA("oh no"));
});
}
diff --git a/test/restartable_timer_test.dart b/test/restartable_timer_test.dart
index 4f59f62..c46c87b 100644
--- a/test/restartable_timer_test.dart
+++ b/test/restartable_timer_test.dart
@@ -8,100 +8,99 @@
main() {
test("runs the callback once the duration has elapsed", () {
- new FakeAsync().run((async) {
+ FakeAsync().run((async) {
var fired = false;
- new RestartableTimer(new Duration(seconds: 5), () {
+ RestartableTimer(Duration(seconds: 5), () {
fired = true;
});
- async.elapse(new Duration(seconds: 4));
+ async.elapse(Duration(seconds: 4));
expect(fired, isFalse);
- async.elapse(new Duration(seconds: 1));
+ async.elapse(Duration(seconds: 1));
expect(fired, isTrue);
});
});
test("doesn't run the callback if the timer is canceled", () {
- new FakeAsync().run((async) {
+ FakeAsync().run((async) {
var fired = false;
- var timer = new RestartableTimer(new Duration(seconds: 5), () {
+ var timer = RestartableTimer(Duration(seconds: 5), () {
fired = true;
});
- async.elapse(new Duration(seconds: 4));
+ async.elapse(Duration(seconds: 4));
expect(fired, isFalse);
timer.cancel();
- async.elapse(new Duration(seconds: 4));
+ async.elapse(Duration(seconds: 4));
expect(fired, isFalse);
});
});
test("resets the duration if the timer is reset before it fires", () {
- new FakeAsync().run((async) {
+ FakeAsync().run((async) {
var fired = false;
- var timer = new RestartableTimer(new Duration(seconds: 5), () {
+ var timer = RestartableTimer(Duration(seconds: 5), () {
fired = true;
});
- async.elapse(new Duration(seconds: 4));
+ async.elapse(Duration(seconds: 4));
expect(fired, isFalse);
timer.reset();
- async.elapse(new Duration(seconds: 4));
+ async.elapse(Duration(seconds: 4));
expect(fired, isFalse);
- async.elapse(new Duration(seconds: 1));
+ async.elapse(Duration(seconds: 1));
expect(fired, isTrue);
});
});
test("re-runs the callback if the timer is reset after firing", () {
- new FakeAsync().run((async) {
+ FakeAsync().run((async) {
var fired = 0;
- var timer = new RestartableTimer(new Duration(seconds: 5), () {
+ var timer = RestartableTimer(Duration(seconds: 5), () {
fired++;
});
- async.elapse(new Duration(seconds: 5));
+ async.elapse(Duration(seconds: 5));
expect(fired, equals(1));
timer.reset();
- async.elapse(new Duration(seconds: 5));
+ async.elapse(Duration(seconds: 5));
expect(fired, equals(2));
timer.reset();
- async.elapse(new Duration(seconds: 5));
+ async.elapse(Duration(seconds: 5));
expect(fired, equals(3));
});
});
test("runs the callback if the timer is reset after being canceled", () {
- new FakeAsync().run((async) {
+ FakeAsync().run((async) {
var fired = false;
- var timer = new RestartableTimer(new Duration(seconds: 5), () {
+ var timer = RestartableTimer(Duration(seconds: 5), () {
fired = true;
});
- async.elapse(new Duration(seconds: 4));
+ async.elapse(Duration(seconds: 4));
expect(fired, isFalse);
timer.cancel();
- async.elapse(new Duration(seconds: 4));
+ async.elapse(Duration(seconds: 4));
expect(fired, isFalse);
timer.reset();
- async.elapse(new Duration(seconds: 5));
+ async.elapse(Duration(seconds: 5));
expect(fired, isTrue);
});
});
test("only runs the callback once if the timer isn't reset", () {
- new FakeAsync().run((async) {
- new RestartableTimer(
- new Duration(seconds: 5), expectAsync0(() {}, count: 1));
- async.elapse(new Duration(seconds: 10));
+ FakeAsync().run((async) {
+ RestartableTimer(Duration(seconds: 5), expectAsync0(() {}, count: 1));
+ async.elapse(Duration(seconds: 10));
});
});
}
diff --git a/test/result/result_captureAll_test.dart b/test/result/result_captureAll_test.dart
index 172e38a..c7b688f 100644
--- a/test/result/result_captureAll_test.dart
+++ b/test/result/result_captureAll_test.dart
@@ -8,16 +8,16 @@
import "package:test/test.dart";
final someStack = StackTrace.current;
-Result<int> res(int n) => new Result<int>.value(n);
-Result err(n) => new ErrorResult("$n", someStack);
+Result<int> res(int n) => Result<int>.value(n);
+Result err(n) => ErrorResult("$n", someStack);
/// Helper function creating an iterable of futures.
Iterable<Future<int>> futures(int count, {bool throwWhen(int index)}) sync* {
for (int i = 0; i < count; i++) {
if (throwWhen != null && throwWhen(i)) {
- yield new Future<int>.error("$i", someStack);
+ yield Future<int>.error("$i", someStack);
} else {
- yield new Future<int>.value(i);
+ yield Future<int>.value(i);
}
}
}
@@ -58,7 +58,7 @@
});
test("completion permutation 1-2-3", () async {
- var cs = new List.generate(3, (_) => new Completer<int>());
+ var cs = List.generate(3, (_) => Completer<int>());
var all = Result.captureAll<int>(cs.map((c) => c.future));
expect(all, completion([res(1), res(2), err(3)]));
await 0;
@@ -70,7 +70,7 @@
});
test("completion permutation 1-3-2", () async {
- var cs = new List.generate(3, (_) => new Completer<int>());
+ var cs = List.generate(3, (_) => Completer<int>());
var all = Result.captureAll<int>(cs.map((c) => c.future));
expect(all, completion([res(1), res(2), err(3)]));
await 0;
@@ -82,7 +82,7 @@
});
test("completion permutation 2-1-3", () async {
- var cs = new List.generate(3, (_) => new Completer<int>());
+ var cs = List.generate(3, (_) => Completer<int>());
var all = Result.captureAll<int>(cs.map((c) => c.future));
expect(all, completion([res(1), res(2), err(3)]));
await 0;
@@ -94,7 +94,7 @@
});
test("completion permutation 2-3-1", () async {
- var cs = new List.generate(3, (_) => new Completer<int>());
+ var cs = List.generate(3, (_) => Completer<int>());
var all = Result.captureAll<int>(cs.map((c) => c.future));
expect(all, completion([res(1), res(2), err(3)]));
await 0;
@@ -106,7 +106,7 @@
});
test("completion permutation 3-1-2", () async {
- var cs = new List.generate(3, (_) => new Completer<int>());
+ var cs = List.generate(3, (_) => Completer<int>());
var all = Result.captureAll<int>(cs.map((c) => c.future));
expect(all, completion([res(1), res(2), err(3)]));
await 0;
@@ -118,7 +118,7 @@
});
test("completion permutation 3-2-1", () async {
- var cs = new List.generate(3, (_) => new Completer<int>());
+ var cs = List.generate(3, (_) => Completer<int>());
var all = Result.captureAll<int>(cs.map((c) => c.future));
expect(all, completion([res(1), res(2), err(3)]));
await 0;
@@ -129,19 +129,19 @@
cs[0].complete(1);
});
- var seed = new Random().nextInt(0x100000000);
+ var seed = Random().nextInt(0x100000000);
int n = 25; // max 32, otherwise rnd.nextInt(1<<n) won't work.
test("randomized #$n seed:${seed.toRadixString(16)}", () async {
- var cs = new List.generate(n, (_) => new Completer<int>());
+ var cs = List.generate(n, (_) => Completer<int>());
var all = Result.captureAll<int>(cs.map((c) => c.future));
- var rnd = new Random(seed);
+ var rnd = Random(seed);
var throwFlags = rnd.nextInt(1 << n); // Bit-flag for throwing.
bool throws(index) => (throwFlags & (1 << index)) != 0;
- var expected = new List.generate(n, (x) => throws(x) ? err(x) : res(x));
+ var expected = List.generate(n, (x) => throws(x) ? err(x) : res(x));
expect(all, completion(expected));
- var completeFunctions = new List<Function()>.generate(n, (i) {
+ var completeFunctions = List<Function()>.generate(n, (i) {
var c = cs[i];
return () =>
throws(i) ? c.completeError("$i", someStack) : c.complete(i);
@@ -167,19 +167,19 @@
test("no error", () async {
var all = await Result.captureAll<int>(<FutureOr<int>>[
1,
- new Future<int>(() => 2),
+ Future<int>(() => 2),
3,
- new Future<int>.value(4),
+ Future<int>.value(4),
]);
expect(all, [res(1), res(2), res(3), res(4)]);
});
test("error", () async {
var all = await Result.captureAll<int>(<FutureOr<int>>[
1,
- new Future<int>(() => 2),
+ Future<int>(() => 2),
3,
- new Future<int>(() async => await new Future.error("4", someStack)),
- new Future<int>.value(5)
+ Future<int>(() async => await Future.error("4", someStack)),
+ Future<int>.value(5)
]);
expect(all, [res(1), res(2), res(3), err(4), res(5)]);
});
diff --git a/test/result/result_flattenAll_test.dart b/test/result/result_flattenAll_test.dart
index caaf668..4a049eb 100644
--- a/test/result/result_flattenAll_test.dart
+++ b/test/result/result_flattenAll_test.dart
@@ -6,8 +6,8 @@
import "package:test/test.dart";
final someStack = StackTrace.current;
-Result<T> res<T>(T n) => new Result<T>.value(n);
-Result err(n) => new ErrorResult("$n", someStack);
+Result<T> res<T>(T n) => Result<T>.value(n);
+Result err(n) => ErrorResult("$n", someStack);
/// Helper function creating an iterable of results.
Iterable<Result<int>> results(int count, {bool throwWhen(int index)}) sync* {
diff --git a/test/result/result_future_test.dart b/test/result/result_future_test.dart
index ffdbb7c..4218db2 100644
--- a/test/result/result_future_test.dart
+++ b/test/result/result_future_test.dart
@@ -12,8 +12,8 @@
Completer completer;
ResultFuture future;
setUp(() {
- completer = new Completer();
- future = new ResultFuture(completer.future);
+ completer = Completer();
+ future = ResultFuture(completer.future);
});
test('before completion, result is null', () {
@@ -30,7 +30,7 @@
});
test("after an error completion, result is the future's error", () {
- var trace = new Trace.current();
+ var trace = Trace.current();
completer.completeError('error', trace);
// The completer calls its listeners asynchronously. We have to wait
diff --git a/test/result/result_test.dart b/test/result/result_test.dart
index 33e146e..a33c1ba 100644
--- a/test/result/result_test.dart
+++ b/test/result/result_test.dart
@@ -10,10 +10,10 @@
import "package:test/test.dart";
void main() {
- var stack = new Trace.current();
+ var stack = Trace.current();
test("create result value", () {
- Result<int> result = new Result<int>.value(42);
+ Result<int> result = Result<int>.value(42);
expect(result.isValue, isTrue);
expect(result.isError, isFalse);
ValueResult value = result.asValue;
@@ -21,7 +21,7 @@
});
test("create result value 2", () {
- Result<int> result = new ValueResult<int>(42);
+ Result<int> result = ValueResult<int>(42);
expect(result.isValue, isTrue);
expect(result.isError, isFalse);
ValueResult<int> value = result.asValue;
@@ -29,7 +29,7 @@
});
test("create result error", () {
- Result<bool> result = new Result<bool>.error("BAD", stack);
+ Result<bool> result = Result<bool>.error("BAD", stack);
expect(result.isValue, isFalse);
expect(result.isError, isTrue);
ErrorResult error = result.asError;
@@ -38,7 +38,7 @@
});
test("create result error 2", () {
- Result<bool> result = new ErrorResult("BAD", stack);
+ Result<bool> result = ErrorResult("BAD", stack);
expect(result.isValue, isFalse);
expect(result.isError, isTrue);
ErrorResult error = result.asError;
@@ -47,7 +47,7 @@
});
test("create result error no stack", () {
- Result<bool> result = new Result<bool>.error("BAD");
+ Result<bool> result = Result<bool>.error("BAD");
expect(result.isValue, isFalse);
expect(result.isError, isTrue);
ErrorResult error = result.asError;
@@ -56,8 +56,8 @@
});
test("complete with value", () {
- Result<int> result = new ValueResult<int>(42);
- var c = new Completer<int>();
+ Result<int> result = ValueResult<int>(42);
+ var c = Completer<int>();
c.future.then(expectAsync1((int v) {
expect(v, equals(42));
}), onError: (e, s) {
@@ -67,8 +67,8 @@
});
test("complete with error", () {
- Result<bool> result = new ErrorResult("BAD", stack);
- var c = new Completer<bool>();
+ Result<bool> result = ErrorResult("BAD", stack);
+ var c = Completer<bool>();
c.future.then((bool v) {
fail("Unexpected value $v");
}, onError: expectAsync2((e, s) {
@@ -79,16 +79,16 @@
});
test("add sink value", () {
- var result = new ValueResult<int>(42);
- EventSink<int> sink = new TestSink(onData: expectAsync1((v) {
+ var result = ValueResult<int>(42);
+ EventSink<int> sink = TestSink(onData: expectAsync1((v) {
expect(v, equals(42));
}));
result.addTo(sink);
});
test("add sink error", () {
- Result<bool> result = new ErrorResult("BAD", stack);
- EventSink<bool> sink = new TestSink(onError: expectAsync2((e, s) {
+ Result<bool> result = ErrorResult("BAD", stack);
+ EventSink<bool> sink = TestSink(onError: expectAsync2((e, s) {
expect(e, equals("BAD"));
expect(s, same(stack));
}));
@@ -96,7 +96,7 @@
});
test("value as future", () {
- Result<int> result = new ValueResult<int>(42);
+ Result<int> result = ValueResult<int>(42);
result.asFuture.then(expectAsync1((int v) {
expect(v, equals(42));
}), onError: (e, s) {
@@ -105,7 +105,7 @@
});
test("error as future", () {
- Result<bool> result = new ErrorResult("BAD", stack);
+ Result<bool> result = ErrorResult("BAD", stack);
result.asFuture.then((bool v) {
fail("Unexpected value $v");
}, onError: expectAsync2((e, s) {
@@ -115,7 +115,7 @@
});
test("capture future value", () {
- Future<int> value = new Future<int>.value(42);
+ Future<int> value = Future<int>.value(42);
Result.capture(value).then(expectAsync1((Result result) {
expect(result.isValue, isTrue);
expect(result.isError, isFalse);
@@ -127,7 +127,7 @@
});
test("capture future error", () {
- Future<bool> value = new Future<bool>.error("BAD", stack);
+ Future<bool> value = Future<bool>.error("BAD", stack);
Result.capture(value).then(expectAsync1((Result result) {
expect(result.isValue, isFalse);
expect(result.isError, isTrue);
@@ -141,7 +141,7 @@
test("release future value", () {
Future<Result<int>> future =
- new Future<Result<int>>.value(new Result<int>.value(42));
+ Future<Result<int>>.value(Result<int>.value(42));
Result.release(future).then(expectAsync1((v) {
expect(v, equals(42));
}), onError: (e, s) {
@@ -152,7 +152,7 @@
test("release future error", () {
// An error in the result is unwrapped and reified by release.
Future<Result<bool>> future =
- new Future<Result<bool>>.value(new Result<bool>.error("BAD", stack));
+ Future<Result<bool>>.value(Result<bool>.error("BAD", stack));
Result.release(future).then((v) {
fail("Unexpected value: $v");
}, onError: expectAsync2((e, s) {
@@ -163,7 +163,7 @@
test("release future real error", () {
// An error in the error lane is passed through by release.
- Future<Result<bool>> future = new Future<Result<bool>>.error("BAD", stack);
+ Future<Result<bool>> future = Future<Result<bool>>.error("BAD", stack);
Result.release(future).then((v) {
fail("Unexpected value: $v");
}, onError: expectAsync2((e, s) {
@@ -173,13 +173,10 @@
});
test("capture stream", () {
- var c = new StreamController<int>();
+ var c = StreamController<int>();
var stream = Result.captureStream(c.stream);
- var expectedList = new Queue.from([
- new Result.value(42),
- new Result.error("BAD", stack),
- new Result.value(37)
- ]);
+ var expectedList = Queue.from(
+ [Result.value(42), Result.error("BAD", stack), Result.value(37)]);
void listener(Result actual) {
expect(expectedList.isEmpty, isFalse);
expectResult(actual, expectedList.removeFirst());
@@ -194,16 +191,15 @@
});
test("release stream", () {
- StreamController<Result<int>> c = new StreamController<Result<int>>();
+ StreamController<Result<int>> c = StreamController<Result<int>>();
Stream<int> stream = Result.releaseStream(c.stream);
var events = [
- new Result<int>.value(42),
- new Result<int>.error("BAD", stack),
- new Result<int>.value(37)
+ Result<int>.value(42),
+ Result<int>.error("BAD", stack),
+ Result<int>.value(37)
];
// Expect the data events, and an extra error event.
- var expectedList = new Queue.from(events)
- ..add(new Result.error("BAD2", stack));
+ var expectedList = Queue.from(events)..add(Result.error("BAD2", stack));
void dataListener(int v) {
expect(expectedList.isEmpty, isFalse);
@@ -231,7 +227,7 @@
});
test("release stream cancel on error", () {
- StreamController<Result<int>> c = new StreamController<Result<int>>();
+ StreamController<Result<int>> c = StreamController<Result<int>>();
Stream<int> stream = Result.releaseStream(c.stream);
stream.listen(expectAsync1((v) {
expect(v, equals(42));
@@ -241,34 +237,34 @@
}), onDone: () {
fail("Unexpected done event");
}, cancelOnError: true);
- c.add(new Result.value(42));
- c.add(new Result.error("BAD", stack));
- c.add(new Result.value(37));
+ c.add(Result.value(42));
+ c.add(Result.error("BAD", stack));
+ c.add(Result.value(37));
c.close();
});
test("flatten error 1", () {
- Result<int> error = new Result<int>.error("BAD", stack);
+ Result<int> error = Result<int>.error("BAD", stack);
Result<int> flattened =
- Result.flatten(new Result<Result<int>>.error("BAD", stack));
+ Result.flatten(Result<Result<int>>.error("BAD", stack));
expectResult(flattened, error);
});
test("flatten error 2", () {
- Result<int> error = new Result<int>.error("BAD", stack);
- Result<Result<int>> result = new Result<Result<int>>.value(error);
+ Result<int> error = Result<int>.error("BAD", stack);
+ Result<Result<int>> result = Result<Result<int>>.value(error);
Result<int> flattened = Result.flatten(result);
expectResult(flattened, error);
});
test("flatten value", () {
Result<Result<int>> result =
- new Result<Result<int>>.value(new Result<int>.value(42));
- expectResult(Result.flatten(result), new Result<int>.value(42));
+ Result<Result<int>>.value(Result<int>.value(42));
+ expectResult(Result.flatten(result), Result<int>.value(42));
});
test("handle unary", () {
- ErrorResult result = new Result.error("error", stack);
+ ErrorResult result = Result.error("error", stack);
bool called = false;
result.handle((error) {
called = true;
@@ -278,7 +274,7 @@
});
test("handle binary", () {
- ErrorResult result = new Result.error("error", stack);
+ ErrorResult result = Result.error("error", stack);
bool called = false;
result.handle((error, stackTrace) {
called = true;
@@ -289,7 +285,7 @@
});
test("handle unary and binary", () {
- ErrorResult result = new Result.error("error", stack);
+ ErrorResult result = Result.error("error", stack);
bool called = false;
result.handle((error, [stackTrace]) {
called = true;
@@ -300,7 +296,7 @@
});
test("handle neither unary nor binary", () {
- ErrorResult result = new Result.error("error", stack);
+ ErrorResult result = Result.error("error", stack);
expect(() => result.handle(() => fail("unreachable")), throwsA(anything));
expect(() => result.handle((a, b, c) => fail("unreachable")),
throwsA(anything));
@@ -332,9 +328,9 @@
final Function onDone;
TestSink(
- {void this.onData(T data): _nullData,
- void this.onError(e, StackTrace s): _nullError,
- void this.onDone(): _nullDone});
+ {void this.onData(T data) = _nullData,
+ void this.onError(e, StackTrace s) = _nullError,
+ void this.onDone() = _nullDone});
void add(T value) {
onData(value);
diff --git a/test/single_subscription_transformer_test.dart b/test/single_subscription_transformer_test.dart
index 74e462b..95b321b 100644
--- a/test/single_subscription_transformer_test.dart
+++ b/test/single_subscription_transformer_test.dart
@@ -11,7 +11,7 @@
void main() {
test("buffers events as soon as it's bound", () async {
- var controller = new StreamController.broadcast();
+ var controller = StreamController.broadcast();
var stream =
controller.stream.transform(const SingleSubscriptionTransformer());
@@ -31,7 +31,7 @@
test("cancels the subscription to the broadcast stream when it's canceled",
() async {
var canceled = false;
- var controller = new StreamController.broadcast(onCancel: () {
+ var controller = StreamController.broadcast(onCancel: () {
canceled = true;
});
var stream =
diff --git a/test/stream_completer_test.dart b/test/stream_completer_test.dart
index 55b4ce3..fb1f4a5 100644
--- a/test/stream_completer_test.dart
+++ b/test/stream_completer_test.dart
@@ -11,13 +11,13 @@
main() {
test("a stream is linked before listening", () async {
- var completer = new StreamCompleter();
+ var completer = StreamCompleter();
completer.setSourceStream(createStream());
expect(completer.stream.toList(), completion([1, 2, 3, 4]));
});
test("listened to before a stream is linked", () async {
- var completer = new StreamCompleter();
+ var completer = StreamCompleter();
var done = completer.stream.toList();
await flushMicrotasks();
completer.setSourceStream(createStream());
@@ -25,20 +25,20 @@
});
test("cancel before linking a stream doesn't listen on stream", () async {
- var completer = new StreamCompleter();
+ var completer = StreamCompleter();
var subscription = completer.stream.listen(null);
subscription.pause(); // Should be ignored.
subscription.cancel();
- completer.setSourceStream(new UnusableStream()); // Doesn't throw.
+ completer.setSourceStream(UnusableStream()); // Doesn't throw.
});
test("listen and pause before linking stream", () async {
- var controller = new StreamCompleter();
+ var controller = StreamCompleter();
var events = [];
var subscription = controller.stream.listen(events.add);
var done = subscription.asFuture();
subscription.pause();
- var sourceController = new StreamController();
+ var sourceController = StreamController();
sourceController..add(1)..add(2)..add(3)..add(4);
controller.setSourceStream(sourceController.stream);
await flushMicrotasks();
@@ -56,7 +56,7 @@
});
test("pause more than once", () async {
- var completer = new StreamCompleter();
+ var completer = StreamCompleter();
var events = [];
var subscription = completer.stream.listen(events.add);
var done = subscription.asFuture();
@@ -74,9 +74,9 @@
});
test("cancel new stream before source is done", () async {
- var completer = new StreamCompleter();
+ var completer = StreamCompleter();
var lastEvent = -1;
- var controller = new StreamController();
+ var controller = StreamController();
StreamSubscription subscription;
subscription = completer.stream.listen((value) {
expect(value, lessThan(3));
@@ -106,17 +106,17 @@
});
test("complete with setEmpty before listening", () async {
- var completer = new StreamCompleter();
+ var completer = StreamCompleter();
completer.setEmpty();
- var done = new Completer();
+ var done = Completer();
completer.stream.listen(unreachable("data"),
onError: unreachable("error"), onDone: done.complete);
await done.future;
});
test("complete with setEmpty after listening", () async {
- var completer = new StreamCompleter();
- var done = new Completer();
+ var completer = StreamCompleter();
+ var done = Completer();
completer.stream.listen(unreachable("data"),
onError: unreachable("error"), onDone: done.complete);
completer.setEmpty();
@@ -124,9 +124,9 @@
});
test("source stream isn't listened to until completer stream is", () async {
- var completer = new StreamCompleter();
+ var completer = StreamCompleter();
StreamController controller;
- controller = new StreamController(onListen: () {
+ controller = StreamController(onListen: () {
scheduleMicrotask(controller.close);
});
@@ -139,9 +139,9 @@
});
test("cancelOnError true when listening before linking stream", () async {
- var completer = new StreamCompleter();
+ var completer = StreamCompleter();
Object lastEvent = -1;
- var controller = new StreamController();
+ var controller = StreamController();
completer.stream.listen((value) {
expect(value, lessThan(3));
lastEvent = value;
@@ -172,9 +172,9 @@
});
test("cancelOnError true when listening after linking stream", () async {
- var completer = new StreamCompleter();
+ var completer = StreamCompleter();
Object lastEvent = -1;
- var controller = new StreamController();
+ var controller = StreamController();
completer.setSourceStream(controller.stream);
controller.add(1);
expect(controller.hasListener, isFalse);
@@ -204,7 +204,7 @@
});
test("linking a stream after setSourceStream before listen", () async {
- var completer = new StreamCompleter();
+ var completer = StreamCompleter();
completer.setSourceStream(createStream());
expect(() => completer.setSourceStream(createStream()), throwsStateError);
expect(() => completer.setEmpty(), throwsStateError);
@@ -215,7 +215,7 @@
});
test("linking a stream after setSourceStream after listen", () async {
- var completer = new StreamCompleter();
+ var completer = StreamCompleter();
var list = completer.stream.toList();
completer.setSourceStream(createStream());
expect(() => completer.setSourceStream(createStream()), throwsStateError);
@@ -227,7 +227,7 @@
});
test("linking a stream after setEmpty before listen", () async {
- var completer = new StreamCompleter();
+ var completer = StreamCompleter();
completer.setEmpty();
expect(() => completer.setSourceStream(createStream()), throwsStateError);
expect(() => completer.setEmpty(), throwsStateError);
@@ -238,7 +238,7 @@
});
test("linking a stream after setEmpty() after listen", () async {
- var completer = new StreamCompleter();
+ var completer = StreamCompleter();
var list = completer.stream.toList();
completer.setEmpty();
expect(() => completer.setSourceStream(createStream()), throwsStateError);
@@ -250,7 +250,7 @@
});
test("listening more than once after setting stream", () async {
- var completer = new StreamCompleter();
+ var completer = StreamCompleter();
completer.setSourceStream(createStream());
var list = completer.stream.toList();
expect(() => completer.stream.toList(), throwsStateError);
@@ -259,14 +259,14 @@
});
test("listening more than once before setting stream", () async {
- var completer = new StreamCompleter();
+ var completer = StreamCompleter();
completer.stream.toList();
expect(() => completer.stream.toList(), throwsStateError);
});
test("setting onData etc. before and after setting stream", () async {
- var completer = new StreamCompleter();
- var controller = new StreamController();
+ var completer = StreamCompleter();
+ var controller = StreamController();
var subscription = completer.stream.listen(null);
Object lastEvent = 0;
subscription.onData((value) => lastEvent = value);
@@ -294,8 +294,8 @@
});
test("pause w/ resume future accross setting stream", () async {
- var completer = new StreamCompleter();
- var resume = new Completer();
+ var completer = StreamCompleter();
+ var resume = Completer();
var subscription = completer.stream.listen(unreachable("data"));
subscription.pause(resume.future);
await flushMicrotasks();
@@ -309,8 +309,8 @@
});
test("asFuture with error accross setting stream", () async {
- var completer = new StreamCompleter();
- var controller = new StreamController();
+ var completer = StreamCompleter();
+ var controller = StreamController();
var subscription =
completer.stream.listen(unreachable("data"), cancelOnError: false);
var done = subscription.asFuture();
@@ -327,7 +327,7 @@
group("setError()", () {
test("produces a stream that emits a single error", () {
- var completer = new StreamCompleter();
+ var completer = StreamCompleter();
completer.stream.listen(unreachable("data"),
onError: expectAsync2((error, stackTrace) {
expect(error, equals("oh no"));
@@ -338,7 +338,7 @@
test("produces a stream that emits a single error on a later listen",
() async {
- var completer = new StreamCompleter();
+ var completer = StreamCompleter();
completer.setError("oh no");
await flushMicrotasks();
diff --git a/test/stream_group_test.dart b/test/stream_group_test.dart
index 83b685c..3c4a3a8 100644
--- a/test/stream_group_test.dart
+++ b/test/stream_group_test.dart
@@ -11,16 +11,16 @@
group("single-subscription", () {
StreamGroup<String> streamGroup;
setUp(() {
- streamGroup = new StreamGroup<String>();
+ streamGroup = StreamGroup<String>();
});
test("buffers events from multiple sources", () async {
- var controller1 = new StreamController<String>();
+ var controller1 = StreamController<String>();
streamGroup.add(controller1.stream);
controller1.add("first");
controller1.close();
- var controller2 = new StreamController<String>();
+ var controller2 = StreamController<String>();
streamGroup.add(controller2.stream);
controller2.add("second");
controller2.close();
@@ -34,12 +34,12 @@
});
test("buffers errors from multiple sources", () async {
- var controller1 = new StreamController<String>();
+ var controller1 = StreamController<String>();
streamGroup.add(controller1.stream);
controller1.addError("first");
controller1.close();
- var controller2 = new StreamController<String>();
+ var controller2 = StreamController<String>();
streamGroup.add(controller2.stream);
controller2.addError("second");
controller2.close();
@@ -49,14 +49,14 @@
expect(streamGroup.close(), completes);
var transformed = streamGroup.stream.transform(
- new StreamTransformer<String, String>.fromHandlers(
+ StreamTransformer<String, String>.fromHandlers(
handleError: (error, _, sink) => sink.add("error: $error")));
expect(transformed.toList(),
completion(equals(["error: first", "error: second"])));
});
test("buffers events and errors together", () async {
- var controller = new StreamController<String>();
+ var controller = StreamController<String>();
streamGroup.add(controller.stream);
controller.add("first");
@@ -72,7 +72,7 @@
expect(streamGroup.close(), completes);
var transformed = streamGroup.stream.transform(
- new StreamTransformer<String, String>.fromHandlers(
+ StreamTransformer<String, String>.fromHandlers(
handleData: (data, sink) => sink.add("data: $data"),
handleError: (error, _, sink) => sink.add("error: $error")));
expect(
@@ -88,7 +88,7 @@
});
test("emits events once there's a listener", () {
- var controller = new StreamController<String>();
+ var controller = StreamController<String>();
streamGroup.add(controller.stream);
expect(
@@ -102,7 +102,7 @@
});
test("doesn't buffer events from a broadcast stream", () async {
- var controller = new StreamController<String>.broadcast();
+ var controller = StreamController<String>.broadcast();
streamGroup.add(controller.stream);
controller.add("first");
@@ -116,7 +116,7 @@
});
test("when paused, buffers events from a broadcast stream", () async {
- var controller = new StreamController<String>.broadcast();
+ var controller = StreamController<String>.broadcast();
streamGroup.add(controller.stream);
var events = [];
@@ -136,7 +136,7 @@
});
test("emits events from a broadcast stream once there's a listener", () {
- var controller = new StreamController<String>.broadcast();
+ var controller = StreamController<String>.broadcast();
streamGroup.add(controller.stream);
expect(
@@ -152,8 +152,7 @@
test("forwards cancel errors", () async {
var subscription = streamGroup.stream.listen(null);
- var controller =
- new StreamController<String>(onCancel: () => throw "error");
+ var controller = StreamController<String>(onCancel: () => throw "error");
streamGroup.add(controller.stream);
await flushMicrotasks();
@@ -163,9 +162,9 @@
test("forwards a cancel future", () async {
var subscription = streamGroup.stream.listen(null);
- var completer = new Completer();
+ var completer = Completer();
var controller =
- new StreamController<String>(onCancel: () => completer.future);
+ StreamController<String>(onCancel: () => completer.future);
streamGroup.add(controller.stream);
await flushMicrotasks();
@@ -187,7 +186,7 @@
await flushMicrotasks();
var paused = false;
- var controller = new StreamController<String>(
+ var controller = StreamController<String>(
onPause: () => paused = true, onResume: () => paused = false);
subscription.pause();
@@ -211,7 +210,7 @@
test("immediately listens to and cancels the stream", () async {
var listened = false;
var canceled = false;
- var controller = new StreamController<String>(onListen: () {
+ var controller = StreamController<String>(onListen: () {
listened = true;
}, onCancel: expectAsync0(() {
expect(listened, isTrue);
@@ -226,15 +225,15 @@
test("forwards cancel errors", () {
var controller =
- new StreamController<String>(onCancel: () => throw "error");
+ StreamController<String>(onCancel: () => throw "error");
expect(streamGroup.add(controller.stream), throwsA("error"));
});
test("forwards a cancel future", () async {
- var completer = new Completer();
+ var completer = Completer();
var controller =
- new StreamController<String>(onCancel: () => completer.future);
+ StreamController<String>(onCancel: () => completer.future);
var fired = false;
streamGroup.add(controller.stream).then((_) => fired = true);
@@ -252,16 +251,16 @@
group("broadcast", () {
StreamGroup<String> streamGroup;
setUp(() {
- streamGroup = new StreamGroup<String>.broadcast();
+ streamGroup = StreamGroup<String>.broadcast();
});
test("buffers events from multiple sources", () async {
- var controller1 = new StreamController<String>();
+ var controller1 = StreamController<String>();
streamGroup.add(controller1.stream);
controller1.add("first");
controller1.close();
- var controller2 = new StreamController<String>();
+ var controller2 = StreamController<String>();
streamGroup.add(controller2.stream);
controller2.add("second");
controller2.close();
@@ -275,10 +274,10 @@
});
test("emits events from multiple sources once there's a listener", () {
- var controller1 = new StreamController<String>();
+ var controller1 = StreamController<String>();
streamGroup.add(controller1.stream);
- var controller2 = new StreamController<String>();
+ var controller2 = StreamController<String>();
streamGroup.add(controller2.stream);
expect(
@@ -294,7 +293,7 @@
test("doesn't buffer events once a listener has been added and removed",
() async {
- var controller = new StreamController<String>();
+ var controller = StreamController<String>();
streamGroup.add(controller.stream);
streamGroup.stream.listen(null).cancel();
@@ -311,7 +310,7 @@
});
test("doesn't buffer events from a broadcast stream", () async {
- var controller = new StreamController<String>.broadcast();
+ var controller = StreamController<String>.broadcast();
streamGroup.add(controller.stream);
controller.add("first");
controller.addError("second");
@@ -324,7 +323,7 @@
});
test("emits events from a broadcast stream once there's a listener", () {
- var controller = new StreamController<String>.broadcast();
+ var controller = StreamController<String>.broadcast();
streamGroup.add(controller.stream);
expect(
@@ -340,7 +339,7 @@
test("cancels and re-listens broadcast streams", () async {
var subscription = streamGroup.stream.listen(null);
- var controller = new StreamController<String>.broadcast();
+ var controller = StreamController<String>.broadcast();
streamGroup.add(controller.stream);
await flushMicrotasks();
@@ -359,7 +358,7 @@
var subscription = streamGroup.stream.listen(null);
var controller =
- new StreamController<String>(onCancel: expectAsync0(() {}, count: 0));
+ StreamController<String>(onCancel: expectAsync0(() {}, count: 0));
streamGroup.add(controller.stream);
await flushMicrotasks();
@@ -376,7 +375,7 @@
var events = [];
var subscription = streamGroup.stream.listen(events.add);
- var controller = new StreamController<String>();
+ var controller = StreamController<String>();
streamGroup.add(controller.stream);
await flushMicrotasks();
@@ -396,7 +395,7 @@
});
test("a single-subscription stream can be removed while dormant", () async {
- var controller = new StreamController<String>();
+ var controller = StreamController<String>();
streamGroup.add(controller.stream);
await flushMicrotasks();
@@ -415,17 +414,17 @@
group("regardless of type", () {
group("single-subscription", () {
- regardlessOfType(() => new StreamGroup<String>());
+ regardlessOfType(() => StreamGroup<String>());
});
group("broadcast", () {
- regardlessOfType(() => new StreamGroup<String>.broadcast());
+ regardlessOfType(() => StreamGroup<String>.broadcast());
});
});
test("merge() emits events from all components streams", () {
- var controller1 = new StreamController<String>();
- var controller2 = new StreamController<String>();
+ var controller1 = StreamController<String>();
+ var controller2 = StreamController<String>();
var merged = StreamGroup.merge([controller1.stream, controller2.stream]);
@@ -448,7 +447,7 @@
group("while dormant", () {
test("doesn't listen to the stream until the group is listened to",
() async {
- var controller = new StreamController<String>();
+ var controller = StreamController<String>();
expect(streamGroup.add(controller.stream), isNull);
await flushMicrotasks();
@@ -460,7 +459,7 @@
});
test("is a no-op if the stream is already in the group", () {
- var controller = new StreamController<String>();
+ var controller = StreamController<String>();
streamGroup.add(controller.stream);
streamGroup.add(controller.stream);
streamGroup.add(controller.stream);
@@ -478,7 +477,7 @@
});
test("listens to the stream immediately", () async {
- var controller = new StreamController<String>();
+ var controller = StreamController<String>();
expect(streamGroup.add(controller.stream), isNull);
await flushMicrotasks();
@@ -486,7 +485,7 @@
});
test("is a no-op if the stream is already in the group", () async {
- var controller = new StreamController<String>();
+ var controller = StreamController<String>();
// If the stream were actually listened to more than once, future
// calls to [add] would throw [StateError]s.
@@ -500,7 +499,7 @@
group("remove()", () {
group("while dormant", () {
test("stops emitting events for a stream that's removed", () async {
- var controller = new StreamController<String>();
+ var controller = StreamController<String>();
streamGroup.add(controller.stream);
expect(streamGroup.stream.toList(), completion(equals(["first"])));
@@ -514,14 +513,14 @@
});
test("is a no-op for an unknown stream", () {
- var controller = new StreamController<String>();
+ var controller = StreamController<String>();
expect(streamGroup.remove(controller.stream), isNull);
});
test("and closed closes the group when the last stream is removed",
() async {
- var controller1 = new StreamController<String>();
- var controller2 = new StreamController<String>();
+ var controller1 = StreamController<String>();
+ var controller2 = StreamController<String>();
streamGroup.add(controller1.stream);
streamGroup.add(controller2.stream);
@@ -541,7 +540,7 @@
group("while listening", () {
test("doesn't emit events from a removed stream", () {
- var controller = new StreamController<String>();
+ var controller = StreamController<String>();
streamGroup.add(controller.stream);
// The subscription to [controller.stream] is canceled synchronously, so
@@ -557,7 +556,7 @@
});
test("cancels the stream's subscription", () async {
- var controller = new StreamController<String>();
+ var controller = StreamController<String>();
streamGroup.add(controller.stream);
streamGroup.stream.listen(null);
@@ -571,7 +570,7 @@
test("forwards cancel errors", () async {
var controller =
- new StreamController<String>(onCancel: () => throw "error");
+ StreamController<String>(onCancel: () => throw "error");
streamGroup.add(controller.stream);
streamGroup.stream.listen(null);
@@ -581,9 +580,9 @@
});
test("forwards cancel futures", () async {
- var completer = new Completer();
+ var completer = Completer();
var controller =
- new StreamController<String>(onCancel: () => completer.future);
+ StreamController<String>(onCancel: () => completer.future);
streamGroup.stream.listen(null);
await flushMicrotasks();
@@ -603,7 +602,7 @@
});
test("is a no-op for an unknown stream", () async {
- var controller = new StreamController<String>();
+ var controller = StreamController<String>();
streamGroup.stream.listen(null);
await flushMicrotasks();
@@ -616,8 +615,8 @@
streamGroup.stream.listen(null, onDone: () => done = true);
await flushMicrotasks();
- var controller1 = new StreamController<String>();
- var controller2 = new StreamController<String>();
+ var controller1 = StreamController<String>();
+ var controller2 = StreamController<String>();
streamGroup.add(controller1.stream);
streamGroup.add(controller2.stream);
@@ -646,8 +645,8 @@
test(
"if there are streams, closes the group once those streams close "
"and there's a listener", () async {
- var controller1 = new StreamController<String>();
- var controller2 = new StreamController<String>();
+ var controller1 = StreamController<String>();
+ var controller2 = StreamController<String>();
streamGroup.add(controller1.stream);
streamGroup.add(controller2.stream);
@@ -673,8 +672,8 @@
streamGroup.stream.listen(null, onDone: () => done = true);
await flushMicrotasks();
- var controller1 = new StreamController<String>();
- var controller2 = new StreamController<String>();
+ var controller1 = StreamController<String>();
+ var controller2 = StreamController<String>();
streamGroup.add(controller1.stream);
streamGroup.add(controller2.stream);
@@ -699,7 +698,7 @@
var events = [];
streamGroup.stream.listen(events.add);
- var controller = new StreamController<String>();
+ var controller = StreamController<String>();
streamGroup.add(controller.stream);
await flushMicrotasks();
@@ -721,4 +720,4 @@
}
/// Wait for all microtasks to complete.
-Future flushMicrotasks() => new Future.delayed(Duration.zero);
+Future flushMicrotasks() => Future.delayed(Duration.zero);
diff --git a/test/stream_queue_test.dart b/test/stream_queue_test.dart
index 37dedb9..aaf1227 100644
--- a/test/stream_queue_test.dart
+++ b/test/stream_queue_test.dart
@@ -12,8 +12,8 @@
main() {
group("source stream", () {
test("is listened to on first request, paused between requests", () async {
- var controller = new StreamController<int>();
- var events = new StreamQueue<int>(controller.stream);
+ var controller = StreamController<int>();
+ var events = StreamQueue<int>(controller.stream);
await flushMicrotasks();
expect(controller.hasListener, isFalse);
@@ -44,7 +44,7 @@
group("eventsDispatched", () {
test("increments after a next future completes", () async {
- var events = new StreamQueue<int>(createStream());
+ var events = StreamQueue<int>(createStream());
expect(events.eventsDispatched, equals(0));
await flushMicrotasks();
@@ -61,13 +61,13 @@
});
test("increments multiple times for multi-value requests", () async {
- var events = new StreamQueue<int>(createStream());
+ var events = StreamQueue<int>(createStream());
await events.take(3);
expect(events.eventsDispatched, equals(3));
});
test("increments multiple times for an accepted transaction", () async {
- var events = new StreamQueue<int>(createStream());
+ var events = StreamQueue<int>(createStream());
await events.withTransaction((queue) async {
await queue.next;
await queue.next;
@@ -77,7 +77,7 @@
});
test("doesn't increment for rest requests", () async {
- var events = new StreamQueue<int>(createStream());
+ var events = StreamQueue<int>(createStream());
await events.rest.toList();
expect(events.eventsDispatched, equals(0));
});
@@ -85,7 +85,7 @@
group("lookAhead operation", () {
test("as simple list of events", () async {
- var events = new StreamQueue<int>(createStream());
+ var events = StreamQueue<int>(createStream());
expect(await events.lookAhead(4), [1, 2, 3, 4]);
expect(await events.next, 1);
expect(await events.lookAhead(2), [2, 3]);
@@ -95,7 +95,7 @@
});
test("of 0 events", () async {
- var events = new StreamQueue<int>(createStream());
+ var events = StreamQueue<int>(createStream());
expect(events.lookAhead(0), completion([]));
expect(events.next, completion(1));
expect(events.lookAhead(0), completion([]));
@@ -111,7 +111,7 @@
});
test("with bad arguments throws", () async {
- var events = new StreamQueue<int>(createStream());
+ var events = StreamQueue<int>(createStream());
expect(() => events.lookAhead(-1), throwsArgumentError);
expect(await events.next, 1); // Did not consume event.
expect(() => events.lookAhead(-1), throwsArgumentError);
@@ -120,13 +120,13 @@
});
test("of too many arguments", () async {
- var events = new StreamQueue<int>(createStream());
+ var events = StreamQueue<int>(createStream());
expect(await events.lookAhead(6), [1, 2, 3, 4]);
await events.cancel();
});
test("too large later", () async {
- var events = new StreamQueue<int>(createStream());
+ var events = StreamQueue<int>(createStream());
expect(await events.next, 1);
expect(await events.next, 2);
expect(await events.lookAhead(6), [3, 4]);
@@ -134,7 +134,7 @@
});
test("error", () async {
- var events = new StreamQueue<int>(createErrorStream());
+ var events = StreamQueue<int>(createErrorStream());
expect(events.lookAhead(4), throwsA("To err is divine!"));
expect(events.take(4), throwsA("To err is divine!"));
expect(await events.next, 4);
@@ -144,7 +144,7 @@
group("next operation", () {
test("simple sequence of requests", () async {
- var events = new StreamQueue<int>(createStream());
+ var events = StreamQueue<int>(createStream());
for (int i = 1; i <= 4; i++) {
expect(await events.next, i);
}
@@ -152,7 +152,7 @@
});
test("multiple requests at the same time", () async {
- var events = new StreamQueue<int>(createStream());
+ var events = StreamQueue<int>(createStream());
var result = await Future.wait(
[events.next, events.next, events.next, events.next]);
expect(result, [1, 2, 3, 4]);
@@ -160,7 +160,7 @@
});
test("sequence of requests with error", () async {
- var events = new StreamQueue<int>(createErrorStream());
+ var events = StreamQueue<int>(createErrorStream());
expect(await events.next, 1);
expect(await events.next, 2);
expect(events.next, throwsA("To err is divine!"));
@@ -171,7 +171,7 @@
group("skip operation", () {
test("of two elements in the middle of sequence", () async {
- var events = new StreamQueue<int>(createStream());
+ var events = StreamQueue<int>(createStream());
expect(await events.next, 1);
expect(await events.skip(2), 0);
expect(await events.next, 4);
@@ -179,7 +179,7 @@
});
test("with negative/bad arguments throws", () async {
- var events = new StreamQueue<int>(createStream());
+ var events = StreamQueue<int>(createStream());
expect(() => events.skip(-1), throwsArgumentError);
// A non-int throws either a type error or an argument error,
// depending on whether it's checked mode or not.
@@ -190,7 +190,7 @@
});
test("of 0 elements works", () async {
- var events = new StreamQueue<int>(createStream());
+ var events = StreamQueue<int>(createStream());
expect(events.skip(0), completion(0));
expect(events.next, completion(1));
expect(events.skip(0), completion(0));
@@ -206,13 +206,13 @@
});
test("of too many events ends at stream start", () async {
- var events = new StreamQueue<int>(createStream());
+ var events = StreamQueue<int>(createStream());
expect(await events.skip(6), 2);
await events.cancel();
});
test("of too many events after some events", () async {
- var events = new StreamQueue<int>(createStream());
+ var events = StreamQueue<int>(createStream());
expect(await events.next, 1);
expect(await events.next, 2);
expect(await events.skip(6), 4);
@@ -220,7 +220,7 @@
});
test("of too many events ends at stream end", () async {
- var events = new StreamQueue<int>(createStream());
+ var events = StreamQueue<int>(createStream());
expect(await events.next, 1);
expect(await events.next, 2);
expect(await events.next, 3);
@@ -230,20 +230,20 @@
});
test("of events with error", () async {
- var events = new StreamQueue<int>(createErrorStream());
+ var events = StreamQueue<int>(createErrorStream());
expect(events.skip(4), throwsA("To err is divine!"));
expect(await events.next, 4);
await events.cancel();
});
test("of events with error, and skip again after", () async {
- var events = new StreamQueue<int>(createErrorStream());
+ var events = StreamQueue<int>(createErrorStream());
expect(events.skip(4), throwsA("To err is divine!"));
expect(events.skip(2), completion(1));
await events.cancel();
});
test("multiple skips at same time complete in order.", () async {
- var events = new StreamQueue<int>(createStream());
+ var events = StreamQueue<int>(createStream());
var skip1 = events.skip(1);
var skip2 = events.skip(0);
var skip3 = events.skip(4);
@@ -267,7 +267,7 @@
group("take operation", () {
test("as simple take of events", () async {
- var events = new StreamQueue<int>(createStream());
+ var events = StreamQueue<int>(createStream());
expect(await events.next, 1);
expect(await events.take(2), [2, 3]);
expect(await events.next, 4);
@@ -275,7 +275,7 @@
});
test("of 0 events", () async {
- var events = new StreamQueue<int>(createStream());
+ var events = StreamQueue<int>(createStream());
expect(events.take(0), completion([]));
expect(events.next, completion(1));
expect(events.take(0), completion([]));
@@ -291,7 +291,7 @@
});
test("with bad arguments throws", () async {
- var events = new StreamQueue<int>(createStream());
+ var events = StreamQueue<int>(createStream());
expect(() => events.take(-1), throwsArgumentError);
expect(await events.next, 1); // Did not consume event.
expect(() => events.take(-1), throwsArgumentError);
@@ -300,13 +300,13 @@
});
test("of too many arguments", () async {
- var events = new StreamQueue<int>(createStream());
+ var events = StreamQueue<int>(createStream());
expect(await events.take(6), [1, 2, 3, 4]);
await events.cancel();
});
test("too large later", () async {
- var events = new StreamQueue<int>(createStream());
+ var events = StreamQueue<int>(createStream());
expect(await events.next, 1);
expect(await events.next, 2);
expect(await events.take(6), [3, 4]);
@@ -314,7 +314,7 @@
});
test("error", () async {
- var events = new StreamQueue<int>(createErrorStream());
+ var events = StreamQueue<int>(createErrorStream());
expect(events.take(4), throwsA("To err is divine!"));
expect(await events.next, 4);
await events.cancel();
@@ -323,18 +323,18 @@
group("rest operation", () {
test("after single next", () async {
- var events = new StreamQueue<int>(createStream());
+ var events = StreamQueue<int>(createStream());
expect(await events.next, 1);
expect(await events.rest.toList(), [2, 3, 4]);
});
test("at start", () async {
- var events = new StreamQueue<int>(createStream());
+ var events = StreamQueue<int>(createStream());
expect(await events.rest.toList(), [1, 2, 3, 4]);
});
test("at end", () async {
- var events = new StreamQueue<int>(createStream());
+ var events = StreamQueue<int>(createStream());
expect(await events.next, 1);
expect(await events.next, 2);
expect(await events.next, 3);
@@ -343,7 +343,7 @@
});
test("after end", () async {
- var events = new StreamQueue<int>(createStream());
+ var events = StreamQueue<int>(createStream());
expect(await events.next, 1);
expect(await events.next, 2);
expect(await events.next, 3);
@@ -353,7 +353,7 @@
});
test("after receiving done requested before", () async {
- var events = new StreamQueue<int>(createStream());
+ var events = StreamQueue<int>(createStream());
var next1 = events.next;
var next2 = events.next;
var next3 = events.next;
@@ -368,17 +368,17 @@
});
test("with an error event error", () async {
- var events = new StreamQueue<int>(createErrorStream());
+ var events = StreamQueue<int>(createErrorStream());
expect(await events.next, 1);
var rest = events.rest;
- var events2 = new StreamQueue(rest);
+ var events2 = StreamQueue(rest);
expect(await events2.next, 2);
expect(events2.next, throwsA("To err is divine!"));
expect(await events2.next, 4);
});
test("closes the events, prevents other operations", () async {
- var events = new StreamQueue<int>(createStream());
+ var events = StreamQueue<int>(createStream());
var stream = events.rest;
expect(() => events.next, throwsStateError);
expect(() => events.skip(1), throwsStateError);
@@ -389,9 +389,9 @@
});
test("forwards to underlying stream", () async {
- var cancel = new Completer();
- var controller = new StreamController<int>(onCancel: () => cancel.future);
- var events = new StreamQueue<int>(controller.stream);
+ var cancel = Completer();
+ var controller = StreamController<int>(onCancel: () => cancel.future);
+ var events = StreamQueue<int>(controller.stream);
expect(controller.hasListener, isFalse);
var next = events.next;
expect(controller.hasListener, isTrue);
@@ -437,7 +437,7 @@
group("peek operation", () {
test("peeks one event", () async {
- var events = new StreamQueue<int>(createStream());
+ var events = StreamQueue<int>(createStream());
expect(await events.peek, 1);
expect(await events.next, 1);
expect(await events.peek, 2);
@@ -449,14 +449,14 @@
await events.cancel();
});
test("multiple requests at the same time", () async {
- var events = new StreamQueue<int>(createStream());
+ var events = StreamQueue<int>(createStream());
var result = await Future.wait(
[events.peek, events.peek, events.next, events.peek, events.peek]);
expect(result, [1, 1, 1, 2, 2]);
await events.cancel();
});
test("sequence of requests with error", () async {
- var events = new StreamQueue<int>(createErrorStream());
+ var events = StreamQueue<int>(createErrorStream());
expect(await events.next, 1);
expect(await events.next, 2);
expect(events.peek, throwsA("To err is divine!"));
@@ -470,7 +470,7 @@
group("cancel operation", () {
test("closes the events, prevents any other operation", () async {
- var events = new StreamQueue<int>(createStream());
+ var events = StreamQueue<int>(createStream());
await events.cancel();
expect(() => events.lookAhead(1), throwsStateError);
expect(() => events.next, throwsStateError);
@@ -483,16 +483,16 @@
test("cancels underlying subscription when called before any event",
() async {
- var cancelFuture = new Future.value(42);
- var controller = new StreamController<int>(onCancel: () => cancelFuture);
- var events = new StreamQueue<int>(controller.stream);
+ var cancelFuture = Future.value(42);
+ var controller = StreamController<int>(onCancel: () => cancelFuture);
+ var events = StreamQueue<int>(controller.stream);
expect(await events.cancel(), 42);
});
test("cancels underlying subscription, returns result", () async {
- var cancelFuture = new Future.value(42);
- var controller = new StreamController<int>(onCancel: () => cancelFuture);
- var events = new StreamQueue<int>(controller.stream);
+ var cancelFuture = Future.value(42);
+ var controller = StreamController<int>(onCancel: () => cancelFuture);
+ var events = StreamQueue<int>(controller.stream);
controller.add(1);
expect(await events.next, 1);
expect(await events.cancel(), 42);
@@ -500,7 +500,7 @@
group("with immediate: true", () {
test("closes the events, prevents any other operation", () async {
- var events = new StreamQueue<int>(createStream());
+ var events = StreamQueue<int>(createStream());
await events.cancel(immediate: true);
expect(() => events.next, throwsStateError);
expect(() => events.skip(1), throwsStateError);
@@ -510,10 +510,10 @@
});
test("cancels the underlying subscription immediately", () async {
- var controller = new StreamController<int>();
+ var controller = StreamController<int>();
controller.add(1);
- var events = new StreamQueue<int>(controller.stream);
+ var events = StreamQueue<int>(controller.stream);
expect(await events.next, 1);
expect(controller.hasListener, isTrue);
@@ -523,16 +523,15 @@
test("cancels the underlying subscription when called before any event",
() async {
- var cancelFuture = new Future.value(42);
- var controller =
- new StreamController<int>(onCancel: () => cancelFuture);
+ var cancelFuture = Future.value(42);
+ var controller = StreamController<int>(onCancel: () => cancelFuture);
- var events = new StreamQueue<int>(controller.stream);
+ var events = StreamQueue<int>(controller.stream);
expect(await events.cancel(immediate: true), 42);
});
test("closes pending requests", () async {
- var events = new StreamQueue<int>(createStream());
+ var events = StreamQueue<int>(createStream());
expect(await events.next, 1);
expect(events.next, throwsStateError);
expect(events.hasNext, completion(isFalse));
@@ -543,8 +542,8 @@
test("returns the result of closing the underlying subscription",
() async {
var controller =
- new StreamController<int>(onCancel: () => new Future.value(42));
- var events = new StreamQueue<int>(controller.stream);
+ StreamController<int>(onCancel: () => Future.value(42));
+ var events = StreamQueue<int>(controller.stream);
expect(await events.cancel(immediate: true), 42);
});
@@ -552,8 +551,8 @@
() async {
var wasListened = false;
var controller =
- new StreamController<int>(onListen: () => wasListened = true);
- var events = new StreamQueue<int>(controller.stream);
+ StreamController<int>(onListen: () => wasListened = true);
+ var events = StreamQueue<int>(controller.stream);
expect(wasListened, isFalse);
expect(controller.hasListener, isFalse);
@@ -566,18 +565,18 @@
group("hasNext operation", () {
test("true at start", () async {
- var events = new StreamQueue<int>(createStream());
+ var events = StreamQueue<int>(createStream());
expect(await events.hasNext, isTrue);
});
test("true after start", () async {
- var events = new StreamQueue<int>(createStream());
+ var events = StreamQueue<int>(createStream());
expect(await events.next, 1);
expect(await events.hasNext, isTrue);
});
test("true at end", () async {
- var events = new StreamQueue<int>(createStream());
+ var events = StreamQueue<int>(createStream());
for (int i = 1; i <= 4; i++) {
expect(await events.next, i);
}
@@ -585,7 +584,7 @@
});
test("true when enqueued", () async {
- var events = new StreamQueue<int>(createStream());
+ var events = StreamQueue<int>(createStream());
var values = <int>[];
for (int i = 1; i <= 3; i++) {
events.next.then(values.add);
@@ -596,7 +595,7 @@
});
test("false when enqueued", () async {
- var events = new StreamQueue<int>(createStream());
+ var events = StreamQueue<int>(createStream());
var values = <int>[];
for (int i = 1; i <= 4; i++) {
events.next.then(values.add);
@@ -607,8 +606,8 @@
});
test("true when data event", () async {
- var controller = new StreamController<int>();
- var events = new StreamQueue<int>(controller.stream);
+ var controller = StreamController<int>();
+ var events = StreamQueue<int>(controller.stream);
bool hasNext;
events.hasNext.then((result) {
@@ -623,8 +622,8 @@
});
test("true when error event", () async {
- var controller = new StreamController<int>();
- var events = new StreamQueue<int>(controller.stream);
+ var controller = StreamController<int>();
+ var events = StreamQueue<int>(controller.stream);
bool hasNext;
events.hasNext.then((result) {
@@ -640,7 +639,7 @@
});
test("- hasNext after hasNext", () async {
- var events = new StreamQueue<int>(createStream());
+ var events = StreamQueue<int>(createStream());
expect(await events.hasNext, true);
expect(await events.hasNext, true);
expect(await events.next, 1);
@@ -658,7 +657,7 @@
});
test("- next after true", () async {
- var events = new StreamQueue<int>(createStream());
+ var events = StreamQueue<int>(createStream());
expect(await events.next, 1);
expect(await events.hasNext, true);
expect(await events.next, 2);
@@ -666,7 +665,7 @@
});
test("- next after true, enqueued", () async {
- var events = new StreamQueue<int>(createStream());
+ var events = StreamQueue<int>(createStream());
var responses = <Object>[];
events.next.then(responses.add);
events.hasNext.then(responses.add);
@@ -678,7 +677,7 @@
});
test("- skip 0 after true", () async {
- var events = new StreamQueue<int>(createStream());
+ var events = StreamQueue<int>(createStream());
expect(await events.next, 1);
expect(await events.hasNext, true);
expect(await events.skip(0), 0);
@@ -686,7 +685,7 @@
});
test("- skip 1 after true", () async {
- var events = new StreamQueue<int>(createStream());
+ var events = StreamQueue<int>(createStream());
expect(await events.next, 1);
expect(await events.hasNext, true);
expect(await events.skip(1), 0);
@@ -694,7 +693,7 @@
});
test("- skip 2 after true", () async {
- var events = new StreamQueue<int>(createStream());
+ var events = StreamQueue<int>(createStream());
expect(await events.next, 1);
expect(await events.hasNext, true);
expect(await events.skip(2), 0);
@@ -702,7 +701,7 @@
});
test("- take 0 after true", () async {
- var events = new StreamQueue<int>(createStream());
+ var events = StreamQueue<int>(createStream());
expect(await events.next, 1);
expect(await events.hasNext, true);
expect(await events.take(0), isEmpty);
@@ -710,7 +709,7 @@
});
test("- take 1 after true", () async {
- var events = new StreamQueue<int>(createStream());
+ var events = StreamQueue<int>(createStream());
expect(await events.next, 1);
expect(await events.hasNext, true);
expect(await events.take(1), [2]);
@@ -718,7 +717,7 @@
});
test("- take 2 after true", () async {
- var events = new StreamQueue<int>(createStream());
+ var events = StreamQueue<int>(createStream());
expect(await events.next, 1);
expect(await events.hasNext, true);
expect(await events.take(2), [2, 3]);
@@ -726,7 +725,7 @@
});
test("- rest after true", () async {
- var events = new StreamQueue<int>(createStream());
+ var events = StreamQueue<int>(createStream());
expect(await events.next, 1);
expect(await events.hasNext, true);
var stream = events.rest;
@@ -734,7 +733,7 @@
});
test("- rest after true, at last", () async {
- var events = new StreamQueue<int>(createStream());
+ var events = StreamQueue<int>(createStream());
expect(await events.next, 1);
expect(await events.next, 2);
expect(await events.next, 3);
@@ -744,7 +743,7 @@
});
test("- rest after false", () async {
- var events = new StreamQueue<int>(createStream());
+ var events = StreamQueue<int>(createStream());
expect(await events.next, 1);
expect(await events.next, 2);
expect(await events.next, 3);
@@ -755,7 +754,7 @@
});
test("- cancel after true on data", () async {
- var events = new StreamQueue<int>(createStream());
+ var events = StreamQueue<int>(createStream());
expect(await events.next, 1);
expect(await events.next, 2);
expect(await events.hasNext, true);
@@ -763,7 +762,7 @@
});
test("- cancel after true on error", () async {
- var events = new StreamQueue<int>(createErrorStream());
+ var events = StreamQueue<int>(createErrorStream());
expect(await events.next, 1);
expect(await events.next, 2);
expect(await events.hasNext, true);
@@ -777,7 +776,7 @@
StreamQueue<int> queue1;
StreamQueue<int> queue2;
setUp(() async {
- events = new StreamQueue(createStream());
+ events = StreamQueue(createStream());
expect(await events.next, 1);
transaction = events.startTransaction();
queue1 = transaction.newQueue();
@@ -808,7 +807,7 @@
});
test("independently emit errors", () async {
- events = new StreamQueue(createErrorStream());
+ events = StreamQueue(createErrorStream());
expect(await events.next, 1);
transaction = events.startTransaction();
queue1 = transaction.newQueue();
@@ -872,8 +871,8 @@
// Regression test.
test("pending child rest requests emit no more events", () async {
- var controller = new StreamController();
- var events = new StreamQueue(controller.stream);
+ var controller = StreamController();
+ var events = StreamQueue(controller.stream);
var transaction = events.startTransaction();
var queue = transaction.newQueue();
@@ -906,8 +905,8 @@
});
test("before the transaction emits any events, does nothing", () async {
- var controller = new StreamController();
- var events = new StreamQueue(controller.stream);
+ var controller = StreamController();
+ var events = StreamQueue(controller.stream);
// Queue a request before the transaction, but don't let it complete
// until we're done with the transaction.
@@ -983,8 +982,8 @@
});
test("before the transaction emits any events, does nothing", () async {
- var controller = new StreamController();
- var events = new StreamQueue(controller.stream);
+ var controller = StreamController();
+ var events = StreamQueue(controller.stream);
// Queue a request before the transaction, but don't let it complete
// until we're done with the transaction.
@@ -1006,7 +1005,7 @@
group("withTransaction operation", () {
StreamQueue<int> events;
setUp(() async {
- events = new StreamQueue(createStream());
+ events = StreamQueue(createStream());
expect(await events.next, 1);
});
@@ -1060,7 +1059,7 @@
group("cancelable operation", () {
StreamQueue<int> events;
setUp(() async {
- events = new StreamQueue(createStream());
+ events = StreamQueue(createStream());
expect(await events.next, 1);
});
@@ -1120,7 +1119,7 @@
// doing rest. Each of the first rounds do 10 events of each type,
// the rest does 20 elements.
var eventCount = 20 * (3 * 3 + 1);
- var events = new StreamQueue<int>(createLongStream(eventCount));
+ var events = StreamQueue<int>(createLongStream(eventCount));
// Test expecting [startIndex .. startIndex + 9] as events using
// `next`.
@@ -1139,7 +1138,7 @@
// `take(10)`.
takeTest(startIndex) {
expect(events.take(10),
- completion(new List.generate(10, (i) => startIndex + i)));
+ completion(List.generate(10, (i) => startIndex + i)));
}
var tests = [nextTest, skipTest, takeTest];
@@ -1155,11 +1154,11 @@
}
// Then expect 20 more events as a `rest` call.
expect(events.rest.toList(),
- completion(new List.generate(20, (i) => counter + i)));
+ completion(List.generate(20, (i) => counter + i)));
});
}
-typedef T Func1Required<T>(T value);
+typedef Func1Required<T> = T Function(T value);
Stream<int> createStream() async* {
yield 1;
@@ -1172,7 +1171,7 @@
}
Stream<int> createErrorStream() {
- var controller = new StreamController<int>();
+ var controller = StreamController<int>();
() async {
controller.add(1);
await flushMicrotasks();
diff --git a/test/stream_sink_completer_test.dart b/test/stream_sink_completer_test.dart
index a149a7f..56860ce 100644
--- a/test/stream_sink_completer_test.dart
+++ b/test/stream_sink_completer_test.dart
@@ -12,12 +12,12 @@
main() {
StreamSinkCompleter completer;
setUp(() {
- completer = new StreamSinkCompleter();
+ completer = StreamSinkCompleter();
});
group("when a stream is linked before events are added", () {
test("data events are forwarded", () {
- var sink = new TestSink();
+ var sink = TestSink();
completer.setDestinationSink(sink);
completer.sink..add(1)..add(2)..add(3)..add(4);
@@ -28,7 +28,7 @@
});
test("error events are forwarded", () {
- var sink = new TestSink();
+ var sink = TestSink();
completer.setDestinationSink(sink);
completer.sink..addError("oh no")..addError("that's bad");
@@ -37,10 +37,10 @@
});
test("addStream is forwarded", () async {
- var sink = new TestSink();
+ var sink = TestSink();
completer.setDestinationSink(sink);
- var controller = new StreamController();
+ var controller = StreamController();
completer.sink.addStream(controller.stream);
controller.add(1);
@@ -61,15 +61,15 @@
});
test("close() is forwarded", () {
- var sink = new TestSink();
+ var sink = TestSink();
completer.setDestinationSink(sink);
completer.sink.close();
expect(sink.isClosed, isTrue);
});
test("the future from the inner close() is returned", () async {
- var closeCompleter = new Completer();
- var sink = new TestSink(onDone: () => closeCompleter.future);
+ var closeCompleter = Completer();
+ var sink = TestSink(onDone: () => closeCompleter.future);
completer.setDestinationSink(sink);
var closeCompleted = false;
@@ -86,14 +86,14 @@
});
test("errors are forwarded from the inner close()", () {
- var sink = new TestSink(onDone: () => throw "oh no");
+ var sink = TestSink(onDone: () => throw "oh no");
completer.setDestinationSink(sink);
expect(completer.sink.done, throwsA("oh no"));
expect(completer.sink.close(), throwsA("oh no"));
});
test("errors aren't top-leveled if only close() is listened to", () async {
- var sink = new TestSink(onDone: () => throw "oh no");
+ var sink = TestSink(onDone: () => throw "oh no");
completer.setDestinationSink(sink);
expect(completer.sink.close(), throwsA("oh no"));
@@ -102,7 +102,7 @@
});
test("errors aren't top-leveled if only done is listened to", () async {
- var sink = new TestSink(onDone: () => throw "oh no");
+ var sink = TestSink(onDone: () => throw "oh no");
completer.setDestinationSink(sink);
completer.sink.close();
expect(completer.sink.done, throwsA("oh no"));
@@ -117,7 +117,7 @@
completer.sink..add(1)..add(2)..add(3)..add(4);
await flushMicrotasks();
- var sink = new TestSink();
+ var sink = TestSink();
completer.setDestinationSink(sink);
await flushMicrotasks();
@@ -131,7 +131,7 @@
completer.sink..addError("oh no")..addError("that's bad");
await flushMicrotasks();
- var sink = new TestSink();
+ var sink = TestSink();
completer.setDestinationSink(sink);
await flushMicrotasks();
@@ -140,7 +140,7 @@
});
test("addStream is forwarded", () async {
- var controller = new StreamController();
+ var controller = StreamController();
completer.sink.addStream(controller.stream);
controller.add(1);
@@ -150,7 +150,7 @@
controller.close();
await flushMicrotasks();
- var sink = new TestSink();
+ var sink = TestSink();
completer.setDestinationSink(sink);
await flushMicrotasks();
@@ -165,7 +165,7 @@
completer.sink.close();
await flushMicrotasks();
- var sink = new TestSink();
+ var sink = TestSink();
completer.setDestinationSink(sink);
await flushMicrotasks();
@@ -179,8 +179,8 @@
}));
await flushMicrotasks();
- var closeCompleter = new Completer();
- var sink = new TestSink(onDone: () => closeCompleter.future);
+ var closeCompleter = Completer();
+ var sink = TestSink(onDone: () => closeCompleter.future);
completer.setDestinationSink(sink);
await flushMicrotasks();
expect(closeCompleted, isFalse);
@@ -195,7 +195,7 @@
expect(completer.sink.close(), throwsA("oh no"));
await flushMicrotasks();
- var sink = new TestSink(onDone: () => throw "oh no");
+ var sink = TestSink(onDone: () => throw "oh no");
completer.setDestinationSink(sink);
});
@@ -203,7 +203,7 @@
expect(completer.sink.close(), throwsA("oh no"));
await flushMicrotasks();
- var sink = new TestSink(onDone: () => throw "oh no");
+ var sink = TestSink(onDone: () => throw "oh no");
completer.setDestinationSink(sink);
// Give the event loop a chance to top-level errors if it's going to.
@@ -215,7 +215,7 @@
expect(completer.sink.done, throwsA("oh no"));
await flushMicrotasks();
- var sink = new TestSink(onDone: () => throw "oh no");
+ var sink = TestSink(onDone: () => throw "oh no");
completer.setDestinationSink(sink);
// Give the event loop a chance to top-level errors if it's going to.
@@ -228,7 +228,7 @@
expect(completer.sink.close(), completes);
await flushMicrotasks();
- completer.setDestinationSink(new TestSink());
+ completer.setDestinationSink(TestSink());
await flushMicrotasks();
expect(completer.sink.done, completes);
@@ -239,7 +239,7 @@
expect(completer.sink.done, completes);
await flushMicrotasks();
- completer.setDestinationSink(new TestSink());
+ completer.setDestinationSink(TestSink());
await flushMicrotasks();
expect(completer.sink.close(), completes);
@@ -247,14 +247,14 @@
group("fromFuture()", () {
test("with a successful completion", () async {
- var futureCompleter = new Completer<StreamSink>();
+ var futureCompleter = Completer<StreamSink>();
var sink = StreamSinkCompleter.fromFuture(futureCompleter.future);
sink.add(1);
sink.add(2);
sink.add(3);
sink.close();
- var testSink = new TestSink();
+ var testSink = TestSink();
futureCompleter.complete(testSink);
await testSink.done;
@@ -264,7 +264,7 @@
});
test("with an error", () async {
- var futureCompleter = new Completer<StreamSink>();
+ var futureCompleter = Completer<StreamSink>();
var sink = StreamSinkCompleter.fromFuture(futureCompleter.future);
expect(sink.done, throwsA("oh no"));
futureCompleter.completeError("oh no");
@@ -288,10 +288,8 @@
});
test("doesn't allow the destination sink to be set multiple times", () {
- completer.setDestinationSink(new TestSink());
- expect(
- () => completer.setDestinationSink(new TestSink()), throwsStateError);
- expect(
- () => completer.setDestinationSink(new TestSink()), throwsStateError);
+ completer.setDestinationSink(TestSink());
+ expect(() => completer.setDestinationSink(TestSink()), throwsStateError);
+ expect(() => completer.setDestinationSink(TestSink()), throwsStateError);
});
}
diff --git a/test/stream_sink_transformer_test.dart b/test/stream_sink_transformer_test.dart
index 552bdaa..5e981a6 100644
--- a/test/stream_sink_transformer_test.dart
+++ b/test/stream_sink_transformer_test.dart
@@ -12,13 +12,13 @@
void main() {
StreamController controller;
setUp(() {
- controller = new StreamController();
+ controller = StreamController();
});
group("fromStreamTransformer", () {
test("transforms data events", () {
- var transformer = new StreamSinkTransformer.fromStreamTransformer(
- new StreamTransformer.fromHandlers(handleData: (i, sink) {
+ var transformer = StreamSinkTransformer.fromStreamTransformer(
+ StreamTransformer.fromHandlers(handleData: (i, sink) {
sink.add(i * 2);
}));
var sink = transformer.bind(controller.sink);
@@ -35,9 +35,8 @@
});
test("transforms error events", () {
- var transformer = new StreamSinkTransformer.fromStreamTransformer(
- new StreamTransformer.fromHandlers(
- handleError: (i, stackTrace, sink) {
+ var transformer = StreamSinkTransformer.fromStreamTransformer(
+ StreamTransformer.fromHandlers(handleError: (i, stackTrace, sink) {
sink.addError((i as num) * 2, stackTrace);
}));
var sink = transformer.bind(controller.sink);
@@ -57,8 +56,8 @@
});
test("transforms done events", () {
- var transformer = new StreamSinkTransformer.fromStreamTransformer(
- new StreamTransformer.fromHandlers(handleDone: (sink) {
+ var transformer = StreamSinkTransformer.fromStreamTransformer(
+ StreamTransformer.fromHandlers(handleDone: (sink) {
sink.add(1);
sink.close();
}));
@@ -73,16 +72,16 @@
});
test("forwards the future from inner.close", () async {
- var transformer = new StreamSinkTransformer.fromStreamTransformer(
- new StreamTransformer.fromHandlers());
- var innerSink = new CompleterStreamSink();
+ var transformer = StreamSinkTransformer.fromStreamTransformer(
+ StreamTransformer.fromHandlers());
+ var innerSink = CompleterStreamSink();
var sink = transformer.bind(innerSink);
// The futures shouldn't complete until the inner sink's close future
// completes.
- var doneResult = new ResultFuture(sink.done);
+ var doneResult = ResultFuture(sink.done);
doneResult.catchError((_) {});
- var closeResult = new ResultFuture(sink.close());
+ var closeResult = ResultFuture(sink.close());
closeResult.catchError((_) {});
await flushMicrotasks();
expect(doneResult.isComplete, isFalse);
@@ -96,11 +95,11 @@
});
test("doesn't top-level the future from inner.close", () async {
- var transformer = new StreamSinkTransformer.fromStreamTransformer(
- new StreamTransformer.fromHandlers(handleData: (_, sink) {
+ var transformer = StreamSinkTransformer.fromStreamTransformer(
+ StreamTransformer.fromHandlers(handleData: (_, sink) {
sink.close();
}));
- var innerSink = new CompleterStreamSink();
+ var innerSink = CompleterStreamSink();
var sink = transformer.bind(innerSink);
// This will close the inner sink, but it shouldn't top-level the error.
@@ -118,7 +117,7 @@
group("fromHandlers", () {
test("transforms data events", () {
var transformer =
- new StreamSinkTransformer.fromHandlers(handleData: (i, sink) {
+ StreamSinkTransformer.fromHandlers(handleData: (i, sink) {
sink.add(i * 2);
});
var sink = transformer.bind(controller.sink);
@@ -135,7 +134,7 @@
});
test("transforms error events", () {
- var transformer = new StreamSinkTransformer.fromHandlers(
+ var transformer = StreamSinkTransformer.fromHandlers(
handleError: (i, stackTrace, sink) {
sink.addError((i as num) * 2, stackTrace);
});
@@ -156,8 +155,7 @@
});
test("transforms done events", () {
- var transformer =
- new StreamSinkTransformer.fromHandlers(handleDone: (sink) {
+ var transformer = StreamSinkTransformer.fromHandlers(handleDone: (sink) {
sink.add(1);
sink.close();
});
@@ -172,15 +170,15 @@
});
test("forwards the future from inner.close", () async {
- var transformer = new StreamSinkTransformer.fromHandlers();
- var innerSink = new CompleterStreamSink();
+ var transformer = StreamSinkTransformer.fromHandlers();
+ var innerSink = CompleterStreamSink();
var sink = transformer.bind(innerSink);
// The futures shouldn't complete until the inner sink's close future
// completes.
- var doneResult = new ResultFuture(sink.done);
+ var doneResult = ResultFuture(sink.done);
doneResult.catchError((_) {});
- var closeResult = new ResultFuture(sink.close());
+ var closeResult = ResultFuture(sink.close());
closeResult.catchError((_) {});
await flushMicrotasks();
expect(doneResult.isComplete, isFalse);
@@ -195,10 +193,10 @@
test("doesn't top-level the future from inner.close", () async {
var transformer =
- new StreamSinkTransformer.fromHandlers(handleData: (_, sink) {
+ StreamSinkTransformer.fromHandlers(handleData: (_, sink) {
sink.close();
});
- var innerSink = new CompleterStreamSink();
+ var innerSink = CompleterStreamSink();
var sink = transformer.bind(innerSink);
// This will close the inner sink, but it shouldn't top-level the error.
diff --git a/test/stream_splitter_test.dart b/test/stream_splitter_test.dart
index c118b12..497f125 100644
--- a/test/stream_splitter_test.dart
+++ b/test/stream_splitter_test.dart
@@ -11,8 +11,8 @@
StreamController<int> controller;
StreamSplitter splitter;
setUp(() {
- controller = new StreamController<int>();
- splitter = new StreamSplitter<int>(controller.stream);
+ controller = StreamController<int>();
+ splitter = StreamSplitter<int>(controller.stream);
});
test("a branch that's created before the stream starts to replay it",
@@ -289,4 +289,4 @@
}
/// Wait for all microtasks to complete.
-Future flushMicrotasks() => new Future.delayed(Duration.zero);
+Future flushMicrotasks() => Future.delayed(Duration.zero);
diff --git a/test/stream_zip_test.dart b/test/stream_zip_test.dart
index 018c8ab..1e5f524 100644
--- a/test/stream_zip_test.dart
+++ b/test/stream_zip_test.dart
@@ -17,10 +17,10 @@
/// at periodic intervals.
Stream mks(Iterable iterable) {
Iterator iterator = iterable.iterator;
- StreamController controller = new StreamController();
+ StreamController controller = StreamController();
// Some varying time between 3 and 10 ms.
int ms = ((++ctr) * 5) % 7 + 3;
- new Timer.periodic(new Duration(milliseconds: ms), (Timer timer) {
+ Timer.periodic(Duration(milliseconds: ms), (Timer timer) {
if (iterator.moveNext()) {
controller.add(iterator.current);
} else {
@@ -38,7 +38,7 @@
// Test that zipping [streams] gives the results iterated by [expectedData].
testZip(Iterable<Stream> streams, Iterable expectedData) {
List data = [];
- Stream zip = new StreamZip(streams);
+ Stream zip = StreamZip(streams);
zip.listen(data.add, onDone: expectAsync0(() {
expect(data, equals(expectedData));
}));
@@ -145,9 +145,8 @@
test("Other-streams", () {
Stream st1 = mks([1, 2, 3, 4, 5, 6]).where((x) => x < 4);
Stream st2 =
- new Stream.periodic(const Duration(milliseconds: 5), (x) => x + 4)
- .take(3);
- StreamController c = new StreamController.broadcast();
+ Stream.periodic(const Duration(milliseconds: 5), (x) => x + 4).take(3);
+ StreamController c = StreamController.broadcast();
Stream st3 = c.stream;
testZip([
st1,
@@ -167,7 +166,7 @@
test("Error 1", () {
expect(
- new StreamZip([
+ StreamZip([
streamError(mks([1, 2, 3]), 2, "BAD-1"),
mks([4, 5, 6]),
mks([7, 8, 9])
@@ -177,7 +176,7 @@
test("Error 2", () {
expect(
- new StreamZip([
+ StreamZip([
mks([1, 2, 3]),
streamError(mks([4, 5, 6]), 5, "BAD-2"),
mks([7, 8, 9])
@@ -187,7 +186,7 @@
test("Error 3", () {
expect(
- new StreamZip([
+ StreamZip([
mks([1, 2, 3]),
mks([4, 5, 6]),
streamError(mks([7, 8, 9]), 8, "BAD-3")
@@ -197,7 +196,7 @@
test("Error at end", () {
expect(
- new StreamZip([
+ StreamZip([
mks([1, 2, 3]),
streamError(mks([4, 5, 6]), 6, "BAD-4"),
mks([7, 8, 9])
@@ -209,21 +208,21 @@
// StreamControllers' streams with no "close" called will never be done,
// so the fourth event of the first stream is guaranteed to come first.
expect(
- new StreamZip([
+ StreamZip([
streamError(mks([1, 2, 3, 4]), 4, "BAD-5"),
- (new StreamController()..add(4)..add(5)..add(6)).stream,
- (new StreamController()..add(7)..add(8)..add(9)).stream
+ (StreamController()..add(4)..add(5)..add(6)).stream,
+ (StreamController()..add(7)..add(8)..add(9)).stream
]).toList(),
throwsA(equals("BAD-5")));
});
test("Error after first end", () {
- StreamController controller = new StreamController();
+ StreamController controller = StreamController();
controller..add(7)..add(8)..add(9);
// Transformer that puts error into controller when one of the first two
// streams have sent a done event.
StreamTransformer trans =
- new StreamTransformer.fromHandlers(handleDone: (EventSink s) {
+ StreamTransformer.fromHandlers(handleDone: (EventSink s) {
Timer.run(() {
controller.addError("BAD-6");
});
@@ -242,14 +241,14 @@
test("Pause/Resume", () {
int sc1p = 0;
- StreamController c1 = new StreamController(onPause: () {
+ StreamController c1 = StreamController(onPause: () {
sc1p++;
}, onResume: () {
sc1p--;
});
int sc2p = 0;
- StreamController c2 = new StreamController(onPause: () {
+ StreamController c2 = StreamController(onPause: () {
sc2p++;
}, onResume: () {
sc2p--;
@@ -260,12 +259,12 @@
expect(sc2p, equals(0));
}); // Call to complete test.
- Stream zip = new StreamZip([c1.stream, c2.stream]);
+ Stream zip = StreamZip([c1.stream, c2.stream]);
- const ms25 = const Duration(milliseconds: 25);
+ const ms25 = Duration(milliseconds: 25);
// StreamIterator uses pause and resume to control flow.
- StreamIterator it = new StreamIterator(zip);
+ StreamIterator it = StreamIterator(zip);
it.moveNext().then((hasMore) {
expect(hasMore, isTrue);
@@ -279,7 +278,7 @@
}).then((hasMore) {
expect(hasMore, isTrue);
expect(it.current, equals([5, 6]));
- new Future.delayed(ms25).then((_) {
+ Future.delayed(ms25).then((_) {
c2.add(8);
});
return it.moveNext();
@@ -303,18 +302,18 @@
});
test("pause-resume2", () {
- var s1 = new Stream.fromIterable([0, 2, 4, 6, 8]);
- var s2 = new Stream.fromIterable([1, 3, 5, 7]);
- var sz = new StreamZip([s1, s2]);
+ var s1 = Stream.fromIterable([0, 2, 4, 6, 8]);
+ var s2 = Stream.fromIterable([1, 3, 5, 7]);
+ var sz = StreamZip([s1, s2]);
int ctr = 0;
StreamSubscription sub;
sub = sz.listen(expectAsync1((v) {
expect(v, equals([ctr * 2, ctr * 2 + 1]));
if (ctr == 1) {
- sub.pause(new Future.delayed(const Duration(milliseconds: 25)));
+ sub.pause(Future.delayed(const Duration(milliseconds: 25)));
} else if (ctr == 2) {
sub.pause();
- new Future.delayed(const Duration(milliseconds: 25)).then((_) {
+ Future.delayed(const Duration(milliseconds: 25)).then((_) {
sub.resume();
});
}
diff --git a/test/stream_zip_zone_test.dart b/test/stream_zip_zone_test.dart
index a0773a6..c7756e6 100644
--- a/test/stream_zip_zone_test.dart
+++ b/test/stream_zip_zone_test.dart
@@ -10,19 +10,19 @@
main() {
StreamController controller;
- controller = new StreamController();
+ controller = StreamController();
testStream("singlesub-async", controller, controller.stream);
- controller = new StreamController.broadcast();
+ controller = StreamController.broadcast();
testStream("broadcast-async", controller, controller.stream);
- controller = new StreamController();
+ controller = StreamController();
testStream(
"asbroadcast-async", controller, controller.stream.asBroadcastStream());
- controller = new StreamController(sync: true);
+ controller = StreamController(sync: true);
testStream("singlesub-sync", controller, controller.stream);
- controller = new StreamController.broadcast(sync: true);
+ controller = StreamController.broadcast(sync: true);
testStream("broadcast-sync", controller, controller.stream);
- controller = new StreamController(sync: true);
+ controller = StreamController(sync: true);
testStream(
"asbroadcast-sync", controller, controller.stream.asBroadcastStream());
}
diff --git a/test/subscription_stream_test.dart b/test/subscription_stream_test.dart
index 804e92f..9460dec 100644
--- a/test/subscription_stream_test.dart
+++ b/test/subscription_stream_test.dart
@@ -13,7 +13,7 @@
test("subscription stream of an entire subscription", () async {
var stream = createStream();
var subscription = stream.listen(null);
- var subscriptionStream = new SubscriptionStream<int>(subscription);
+ var subscriptionStream = SubscriptionStream<int>(subscription);
await flushMicrotasks();
expect(subscriptionStream.toList(), completion([1, 2, 3, 4]));
});
@@ -21,13 +21,13 @@
test("subscription stream after two events", () async {
var stream = createStream();
var skips = 0;
- var completer = new Completer();
+ var completer = Completer();
StreamSubscription<int> subscription;
subscription = stream.listen((value) {
++skips;
expect(value, skips);
if (skips == 2) {
- completer.complete(new SubscriptionStream<int>(subscription));
+ completer.complete(SubscriptionStream<int>(subscription));
}
});
var subscriptionStream = await completer.future;
@@ -38,16 +38,16 @@
test("listening twice fails", () async {
var stream = createStream();
var sourceSubscription = stream.listen(null);
- var subscriptionStream = new SubscriptionStream<int>(sourceSubscription);
+ var subscriptionStream = SubscriptionStream<int>(sourceSubscription);
var subscription = subscriptionStream.listen(null);
expect(() => subscriptionStream.listen(null), throwsA(anything));
await subscription.cancel();
});
test("pause and cancel passed through to original stream", () async {
- var controller = new StreamController(onCancel: () async => 42);
+ var controller = StreamController(onCancel: () async => 42);
var sourceSubscription = controller.stream.listen(null);
- var subscriptionStream = new SubscriptionStream(sourceSubscription);
+ var subscriptionStream = SubscriptionStream(sourceSubscription);
expect(controller.isPaused, isTrue);
dynamic lastEvent;
var subscription = subscriptionStream.listen((value) {
@@ -75,16 +75,16 @@
SubscriptionStream subscriptionStream;
Future onCancel; // Completes if source stream is canceled before done.
setUp(() {
- var cancelCompleter = new Completer();
+ var cancelCompleter = Completer();
var source = createErrorStream(cancelCompleter);
onCancel = cancelCompleter.future;
var sourceSubscription =
source.listen(null, cancelOnError: sourceCancels);
- subscriptionStream = new SubscriptionStream<int>(sourceSubscription);
+ subscriptionStream = SubscriptionStream<int>(sourceSubscription);
});
test("- subscriptionStream: no", () async {
- var done = new Completer();
+ var done = Completer();
var events = [];
subscriptionStream.listen(events.add,
onError: events.add, onDone: done.complete, cancelOnError: false);
@@ -96,7 +96,7 @@
done.future.then((_) {
isDone = true;
});
- await new Future.delayed(const Duration(milliseconds: 5));
+ await Future.delayed(const Duration(milliseconds: 5));
expect(isDone, false);
} else {
expected.add(4);
@@ -106,7 +106,7 @@
});
test("- subscriptionStream: yes", () async {
- var completer = new Completer();
+ var completer = Completer();
var events = [];
subscriptionStream.listen(events.add,
onError: (value) {
@@ -128,7 +128,7 @@
var stream = createStream();
var sourceSubscription =
stream.listen(null, cancelOnError: cancelOnError);
- var subscriptionStream = new SubscriptionStream(sourceSubscription);
+ var subscriptionStream = SubscriptionStream(sourceSubscription);
var subscription =
subscriptionStream.listen(null, cancelOnError: cancelOnError);
expect(subscription.asFuture(42), completion(42));
@@ -138,7 +138,7 @@
var stream = createErrorStream();
var sourceSubscription =
stream.listen(null, cancelOnError: cancelOnError);
- var subscriptionStream = new SubscriptionStream(sourceSubscription);
+ var subscriptionStream = SubscriptionStream(sourceSubscription);
var subscription =
subscriptionStream.listen(null, cancelOnError: cancelOnError);
@@ -166,7 +166,7 @@
await flushMicrotasks();
yield 2;
await flushMicrotasks();
- yield* new Future<int>.error("To err is divine!").asStream();
+ yield* Future<int>.error("To err is divine!").asStream();
await flushMicrotasks();
yield 4;
await flushMicrotasks();
diff --git a/test/subscription_transformer_test.dart b/test/subscription_transformer_test.dart
index dbbf597..2a709a4 100644
--- a/test/subscription_transformer_test.dart
+++ b/test/subscription_transformer_test.dart
@@ -13,8 +13,8 @@
group("with no callbacks", () {
test("forwards cancellation", () async {
var isCanceled = false;
- var cancelCompleter = new Completer();
- var controller = new StreamController(onCancel: expectAsync0(() {
+ var cancelCompleter = Completer();
+ var controller = StreamController(onCancel: expectAsync0(() {
isCanceled = true;
return cancelCompleter.future;
}));
@@ -40,7 +40,7 @@
});
test("forwards pausing and resuming", () async {
- var controller = new StreamController();
+ var controller = StreamController();
var subscription = controller.stream
.transform(subscriptionTransformer())
.listen(expectAsync1((_) {}, count: 0));
@@ -63,12 +63,12 @@
});
test("forwards pausing with a resume future", () async {
- var controller = new StreamController();
+ var controller = StreamController();
var subscription = controller.stream
.transform(subscriptionTransformer())
.listen(expectAsync1((_) {}, count: 0));
- var completer = new Completer();
+ var completer = Completer();
subscription.pause(completer.future);
await flushMicrotasks();
expect(controller.isPaused, isTrue);
@@ -83,7 +83,7 @@
test("invokes the callback when the subscription is canceled", () async {
var isCanceled = false;
var callbackInvoked = false;
- var controller = new StreamController(onCancel: expectAsync0(() {
+ var controller = StreamController(onCancel: expectAsync0(() {
isCanceled = true;
}));
var subscription = controller.stream.transform(
@@ -103,8 +103,8 @@
});
test("invokes the callback once and caches its result", () async {
- var completer = new Completer();
- var controller = new StreamController();
+ var completer = Completer();
+ var controller = StreamController();
var subscription = controller.stream
.transform(subscriptionTransformer(
handleCancel: expectAsync1((inner) => completer.future)))
@@ -134,7 +134,7 @@
group("with a pause callback", () {
test("invokes the callback when pause is called", () async {
var pauseCount = 0;
- var controller = new StreamController();
+ var controller = StreamController();
var subscription = controller.stream
.transform(subscriptionTransformer(
handlePause: expectAsync1((inner) {
@@ -166,7 +166,7 @@
test("doesn't invoke the callback when the subscription has been canceled",
() async {
- var controller = new StreamController();
+ var controller = StreamController();
var subscription = controller.stream
.transform(subscriptionTransformer(
handlePause: expectAsync1((_) {}, count: 0)))
@@ -182,7 +182,7 @@
group("with a resume callback", () {
test("invokes the callback when resume is called", () async {
var resumeCount = 0;
- var controller = new StreamController();
+ var controller = StreamController();
var subscription = controller.stream
.transform(subscriptionTransformer(
handleResume: expectAsync1((inner) {
@@ -214,14 +214,14 @@
test("invokes the callback when a resume future completes", () async {
var resumed = false;
- var controller = new StreamController();
+ var controller = StreamController();
var subscription = controller.stream.transform(
subscriptionTransformer(handleResume: expectAsync1((inner) {
resumed = true;
inner.resume();
}))).listen(expectAsync1((_) {}, count: 0));
- var completer = new Completer();
+ var completer = Completer();
subscription.pause(completer.future);
await flushMicrotasks();
expect(resumed, isFalse);
@@ -233,7 +233,7 @@
test("doesn't invoke the callback when the subscription has been canceled",
() async {
- var controller = new StreamController();
+ var controller = StreamController();
var subscription = controller.stream
.transform(subscriptionTransformer(
handlePause: expectAsync1((_) {}, count: 0)))
@@ -249,7 +249,7 @@
group("when the outer subscription is canceled but the inner is not", () {
StreamSubscription subscription;
setUp(() {
- var controller = new StreamController();
+ var controller = StreamController();
subscription = controller.stream
.transform(subscriptionTransformer(handleCancel: (_) {}))
.listen(expectAsync1((_) {}, count: 0),
diff --git a/test/typed_wrapper/stream_subscription_test.dart b/test/typed_wrapper/stream_subscription_test.dart
index 50c07b6..bbec8f7 100644
--- a/test/typed_wrapper/stream_subscription_test.dart
+++ b/test/typed_wrapper/stream_subscription_test.dart
@@ -15,11 +15,10 @@
StreamSubscription wrapper;
bool isCanceled;
setUp(() {
- controller = new StreamController<Object>(onCancel: () {
+ controller = StreamController<Object>(onCancel: () {
isCanceled = true;
});
- wrapper =
- new TypeSafeStreamSubscription<int>(controller.stream.listen(null));
+ wrapper = TypeSafeStreamSubscription<int>(controller.stream.listen(null));
});
test("onData()", () {
@@ -72,11 +71,10 @@
StreamSubscription wrapper;
bool isCanceled;
setUp(() {
- controller = new StreamController<Object>(onCancel: () {
+ controller = StreamController<Object>(onCancel: () {
isCanceled = true;
});
- wrapper =
- new TypeSafeStreamSubscription<int>(controller.stream.listen(null));
+ wrapper = TypeSafeStreamSubscription<int>(controller.stream.listen(null));
});
group("throws a CastError for", () {
@@ -84,9 +82,9 @@
expect(() {
// TODO(nweiz): Use the wrapper declared in setUp when sdk#26226 is
// fixed.
- controller = new StreamController<Object>();
- wrapper = new TypeSafeStreamSubscription<int>(
- controller.stream.listen(null));
+ controller = StreamController<Object>();
+ wrapper =
+ TypeSafeStreamSubscription<int>(controller.stream.listen(null));
wrapper.onData(expectAsync1((_) {}, count: 0));
controller.add("foo");
diff --git a/test/utils.dart b/test/utils.dart
index 3f8c0ef..e517c78 100644
--- a/test/utils.dart
+++ b/test/utils.dart
@@ -9,9 +9,9 @@
import "package:test/test.dart";
/// A zero-millisecond timer should wait until after all microtasks.
-Future flushMicrotasks() => new Future.delayed(Duration.zero);
+Future flushMicrotasks() => Future.delayed(Duration.zero);
-typedef void OptionalArgAction([a, b]);
+typedef OptionalArgAction = void Function([dynamic a, dynamic b]);
/// A generic unreachable callback function.
///
@@ -38,17 +38,17 @@
/// A matcher that runs a callback in its own zone and asserts that that zone
/// emits a [CastError].
-final throwsZonedCastError = throwsZoned(new TypeMatcher<CastError>());
+final throwsZonedCastError = throwsZoned(TypeMatcher<CastError>());
/// A matcher that matches a callback or future that throws a [CastError].
-final throwsCastError = throwsA(new TypeMatcher<CastError>());
+final throwsCastError = throwsA(TypeMatcher<CastError>());
/// A badly behaved stream which throws if it's ever listened to.
///
/// Can be used to test cases where a stream should not be used.
class UnusableStream extends Stream {
listen(onData, {onError, onDone, cancelOnError}) {
- throw new UnimplementedError("Gotcha!");
+ throw UnimplementedError("Gotcha!");
}
}
@@ -58,7 +58,7 @@
/// The [completer] field allows the user to control the future returned by
/// [done] and [close].
class CompleterStreamSink<T> implements StreamSink<T> {
- final completer = new Completer();
+ final completer = Completer();
Future get done => completer.future;
@@ -80,7 +80,7 @@
var _isClosed = false;
Future get done => _doneCompleter.future;
- final _doneCompleter = new Completer();
+ final _doneCompleter = Completer();
final Function _onDone;
@@ -91,22 +91,22 @@
TestSink({onDone()}) : _onDone = onDone ?? (() {});
void add(T event) {
- results.add(new Result<T>.value(event));
+ results.add(Result<T>.value(event));
}
void addError(error, [StackTrace stackTrace]) {
- results.add(new Result<T>.error(error, stackTrace));
+ results.add(Result<T>.error(error, stackTrace));
}
Future addStream(Stream<T> stream) {
- var completer = new Completer.sync();
+ var completer = Completer.sync();
stream.listen(add, onError: addError, onDone: completer.complete);
return completer.future;
}
Future close() {
_isClosed = true;
- _doneCompleter.complete(new Future.microtask(_onDone));
+ _doneCompleter.complete(Future.microtask(_onDone));
return done;
}
}