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(() {});