| OLD | NEW | 
|---|
| (Empty) |  | 
|  | 1 // Copyright (c) 2015, the Dart project authors.  Please see the AUTHORS file | 
|  | 2 // for details. All rights reserved. Use of this source code is governed by a | 
|  | 3 // BSD-style license that can be found in the LICENSE file. | 
|  | 4 | 
|  | 5 // Regression test for https://code.google.com/p/dart/issues/detail?id=23116 | 
|  | 6 | 
|  | 7 import "package:expect/expect.dart"; | 
|  | 8 import "package:async_helper/async_helper.dart"; | 
|  | 9 import 'dart:async'; | 
|  | 10 | 
|  | 11 Stream<int> foo(Completer completer, Future future) async* { | 
|  | 12   completer.complete(100); | 
|  | 13   int x = await future; | 
|  | 14   Expect.equals(42, x); | 
|  | 15 } | 
|  | 16 | 
|  | 17 test() async { | 
|  | 18   Completer completer1 = new Completer(); | 
|  | 19   Completer completer2 = new Completer(); | 
|  | 20   StreamSubscription s = foo(completer1, completer2.future).listen((v) => null); | 
|  | 21   await completer1.future; | 
|  | 22   // At this moment foo is waiting on the given future. | 
|  | 23   s.pause(); | 
|  | 24   // Ensure that execution of foo is not resumed - the future is not completed | 
|  | 25   // yet. | 
|  | 26   s.resume(); | 
|  | 27   completer2.complete(42); | 
|  | 28 } | 
|  | 29 | 
|  | 30 main() { | 
|  | 31   asyncStart(); | 
|  | 32   test().then((_) => asyncEnd()); | 
|  | 33 } | 
| OLD | NEW | 
|---|