67a4bbb60b
Fixes https://github.com/dart-lang/sdk/issues/43940 TEST=regress_43940_test.dart Fixed: 43940 Change-Id: I7ad57e0c35a91bf1e1e3dada6662b33b59e2d7bf Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/176922 Commit-Queue: Ben Konyi <bkonyi@google.com> Reviewed-by: Jacob Richman <jacobr@google.com>
30 lines
868 B
Dart
30 lines
868 B
Dart
// 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.
|
|
|
|
import 'dart:async';
|
|
|
|
import 'package:pedantic/pedantic.dart';
|
|
import 'package:test/test.dart';
|
|
import 'package:vm_service/vm_service.dart';
|
|
|
|
void main() {
|
|
test('Call dispose handler before onDone completion', () async {
|
|
final controller = StreamController<String>(onCancel: () async {
|
|
await Future.delayed(const Duration(seconds: 1));
|
|
});
|
|
bool completed = false;
|
|
final fakeService = VmService(
|
|
controller.stream,
|
|
controller.sink.add,
|
|
disposeHandler: () async {
|
|
completed = true;
|
|
},
|
|
);
|
|
|
|
unawaited(fakeService.dispose());
|
|
await fakeService.onDone;
|
|
expect(completed, true);
|
|
});
|
|
}
|