Index: tests/language_2/async_star_no_cancel2_test.dart |
diff --git a/tests/language_2/async_star_no_cancel2_test.dart b/tests/language_2/async_star_no_cancel2_test.dart |
deleted file mode 100644 |
index d98b1585c0f6e98d5f4a6b5abad3faa8999ffa62..0000000000000000000000000000000000000000 |
--- a/tests/language_2/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; |
- }); |
-} |