Drop legacy SDK test, bump min SDK to 2.18, update and fix lints (dart-lang/stream_transform#162)
diff --git a/pkgs/stream_transform/.github/workflows/test-package.yml b/pkgs/stream_transform/.github/workflows/test-package.yml
index 3795fcf..c8964c7 100644
--- a/pkgs/stream_transform/.github/workflows/test-package.yml
+++ b/pkgs/stream_transform/.github/workflows/test-package.yml
@@ -48,7 +48,7 @@
# Add macos-latest and/or windows-latest if relevant for this package.
os: [ubuntu-latest]
# Bump SDK for Legacy tets when changning min SDK.
- sdk: [2.14.0, dev]
+ sdk: [2.18.0, dev]
steps:
- uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b
- uses: dart-lang/setup-dart@6a218f2413a3e78e9087f638a238f6b40893203d
@@ -60,6 +60,3 @@
- name: Run tests
run: dart test -p chrome,vm --test-randomize-ordering-seed=random
if: always() && steps.install.outcome == 'success'
- - name: Run Legacy tests
- run: dart test -p chrome,vm --test-randomize-ordering-seed=random legacy_test
- if: always() && matrix.sdk == '2.14.0' && steps.install.outcome == 'success'
diff --git a/pkgs/stream_transform/CHANGELOG.md b/pkgs/stream_transform/CHANGELOG.md
index 3d2cd69..7c34371 100644
--- a/pkgs/stream_transform/CHANGELOG.md
+++ b/pkgs/stream_transform/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 2.1.1-dev
+
+- Require Dart 2.18 or greater
+
## 2.1.0
- Add `whereNotNull`.
diff --git a/pkgs/stream_transform/analysis_options.yaml b/pkgs/stream_transform/analysis_options.yaml
index 6af98d7..9dc8788 100644
--- a/pkgs/stream_transform/analysis_options.yaml
+++ b/pkgs/stream_transform/analysis_options.yaml
@@ -21,12 +21,10 @@
- omit_local_variable_types
- only_throw_errors
- prefer_const_constructors
- - prefer_interpolation_to_compose_strings
- prefer_single_quotes
- test_types_in_equals
- throw_in_finally
- unawaited_futures
- unnecessary_lambdas
- - unnecessary_null_aware_assignments
- unnecessary_parenthesis
- unnecessary_statements
diff --git a/pkgs/stream_transform/legacy_test/opt_out_test.dart b/pkgs/stream_transform/legacy_test/opt_out_test.dart
deleted file mode 100644
index 6bd654b..0000000
--- a/pkgs/stream_transform/legacy_test/opt_out_test.dart
+++ /dev/null
@@ -1,71 +0,0 @@
-// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-// @dart=2.9
-
-import 'dart:async';
-
-import 'package:async/async.dart';
-import 'package:stream_transform/stream_transform.dart';
-import 'package:test/test.dart';
-
-void main() {
- group('null returned from StreamSubscription.cancel', () {
- void testNullCancel(
- String name, Stream<void> Function(Stream<void>) transform) {
- test(name, () async {
- var subscription = transform(_NullOnCancelStream()).listen(null);
- await subscription.cancel();
- });
- }
-
- testNullCancel('asyncMapSample', (s) => s.asyncMapSample((_) async {}));
- testNullCancel('buffer', (s) => s.buffer(_nonEndingStream()));
- testNullCancel(
- 'combineLatestAll', (s) => s.combineLatestAll([_NullOnCancelStream()]));
- testNullCancel('combineLatest',
- (s) => s.combineLatest(_NullOnCancelStream(), (a, b) {}));
- testNullCancel('merge', (s) => s.merge(_NullOnCancelStream()));
-
- test('switchLatest', () async {
- var subscription =
- _NullOnCancelStream(Stream<Stream<void>>.value(_NullOnCancelStream()))
- .switchLatest()
- .listen(null);
- await Future(() {});
- await subscription.cancel();
- });
-
- test('concurrentAsyncExpand', () async {
- var subscription = _NullOnCancelStream(Stream.value(null))
- .concurrentAsyncExpand((_) => _NullOnCancelStream())
- .listen(null);
- await Future(() {});
- await subscription.cancel();
- });
- });
-}
-
-class _NullOnCancelStream<T> extends StreamView<T> {
- _NullOnCancelStream([Stream<T> stream]) : super(stream ?? _nonEndingStream());
-
- @override
- StreamSubscription<T> listen(void Function(T) onData,
- {Function onError, void Function() onDone, bool cancelOnError}) =>
- _NullOnCancelSubscription(super.listen(onData,
- onError: onError, onDone: onDone, cancelOnError: cancelOnError));
-}
-
-class _NullOnCancelSubscription<T> extends DelegatingStreamSubscription<T> {
- final StreamSubscription<T> _subscription;
- _NullOnCancelSubscription(this._subscription) : super(_subscription);
-
- @override
- Future<void> cancel() {
- _subscription.cancel();
- return null;
- }
-}
-
-Stream<T> _nonEndingStream<T>() => StreamController<T>().stream;
diff --git a/pkgs/stream_transform/lib/src/switch.dart b/pkgs/stream_transform/lib/src/switch.dart
index 4b4cdac..b0fbbad 100644
--- a/pkgs/stream_transform/lib/src/switch.dart
+++ b/pkgs/stream_transform/lib/src/switch.dart
@@ -118,10 +118,10 @@
};
}
controller.onCancel = () {
- var _innerSubscription = innerSubscription;
+ var sub = innerSubscription;
var cancels = [
if (!outerStreamDone) outerSubscription.cancel(),
- if (_innerSubscription != null) _innerSubscription.cancel(),
+ if (sub != null) sub.cancel(),
]
// Handle opt-out nulls
..removeWhere((Object? f) => f == null);
diff --git a/pkgs/stream_transform/pubspec.yaml b/pkgs/stream_transform/pubspec.yaml
index a531122..915dc10 100644
--- a/pkgs/stream_transform/pubspec.yaml
+++ b/pkgs/stream_transform/pubspec.yaml
@@ -1,12 +1,12 @@
name: stream_transform
-version: 2.1.0
+version: 2.1.1-dev
description: A collection of utilities to transform and manipulate streams.
repository: https://github.com/dart-lang/stream_transform
environment:
- sdk: ">=2.14.0 <3.0.0"
+ sdk: ">=2.18.0 <3.0.0"
dev_dependencies:
async: ^2.5.0
- lints: ^1.0.0
+ lints: ^2.0.0
test: ^1.16.0
diff --git a/pkgs/stream_transform/test/switch_test.dart b/pkgs/stream_transform/test/switch_test.dart
index 00f196a..d2f99a8 100644
--- a/pkgs/stream_transform/test/switch_test.dart
+++ b/pkgs/stream_transform/test/switch_test.dart
@@ -197,7 +197,7 @@
var outer = StreamController<List<int>>();
var values = [];
- outer.stream.switchMap((l) => Stream.fromIterable(l)).listen(values.add);
+ outer.stream.switchMap(Stream.fromIterable).listen(values.add);
outer.add([1, 2, 3]);
await Future(() {});