| Index: tests/language/async_star_no_cancel2_test.dart
|
| diff --git a/tests/language/async_star_no_cancel2_test.dart b/tests/language/async_star_no_cancel2_test.dart
|
| deleted file mode 100644
|
| index d98b1585c0f6e98d5f4a6b5abad3faa8999ffa62..0000000000000000000000000000000000000000
|
| --- a/tests/language/async_star_no_cancel2_test.dart
|
| +++ /dev/null
|
| @@ -1,59 +0,0 @@
|
| -// Copyright (c) 2016, 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:expect/expect.dart";
|
| -import "package:async_helper/async_helper.dart";
|
| -
|
| -var events = [];
|
| -
|
| -var timer;
|
| -ticker(period) async* {
|
| - var sc;
|
| - sc = new StreamController(onListen: () {
|
| - events.add("listen");
|
| - timer = new Timer.periodic(period, (_) {
|
| - sc.add(null);
|
| - });
|
| - }, onCancel: () {
|
| - events.add("cancel");
|
| - timer.cancel();
|
| - });
|
| -
|
| - try {
|
| - var counter = 0;
|
| - await for (var tick in sc.stream) {
|
| - counter++;
|
| - }
|
| - } finally {
|
| - events.add("finally");
|
| - }
|
| -}
|
| -
|
| -void main() {
|
| - asyncStart();
|
| - events.add("main");
|
| - final subscription =
|
| - ticker(const Duration(milliseconds: 20)).listen((val) {});
|
| -
|
| - bool cancelFinished = false;
|
| - new Timer(const Duration(milliseconds: 100), () async {
|
| - // Despite the cancel call below, the stream doesn't stop.
|
| - // The async* function is not blocked at any await (since the inner timer
|
| - // continuously ticks), but since there/ is no yield-point in the function
|
| - // it won't cancel.
|
| - new Timer(const Duration(milliseconds: 30), () {
|
| - Expect.isFalse(cancelFinished);
|
| - Expect.listEquals(["main", "listen", "invoke cancel"], events);
|
| - timer.cancel();
|
| - asyncEnd();
|
| - });
|
| -
|
| - events.add("invoke cancel");
|
| - await subscription.cancel();
|
| - // This line should never be reached, since the cancel-future doesn't
|
| - // complete.
|
| - cancelFinished = true;
|
| - });
|
| -}
|
|
|