Index: tests/language/async_star_test.dart |
diff --git a/tests/language/async_star_test.dart b/tests/language/async_star_test.dart |
index 94a75234dcb9251e3bbf10ea501664142a1ca4a8..c30f50e4b729f051e227248c6f7ea03d92c5a041 100644 |
--- a/tests/language/async_star_test.dart |
+++ b/tests/language/async_star_test.dart |
@@ -143,14 +143,6 @@ main() { |
return expectList(f(), [0]); |
}); |
- // VM issue 2238 |
- test("labeled 2", () { /// 01: ok |
- f() async* { /// 01: continued |
- label1: label2: yield 0; /// 01: continued |
- } /// 01: continued |
- return expectList(f(), [0]); /// 01: continued |
- }); /// 01: continued |
- |
test("for-loop", () { |
f() async* { |
for (int i = 0; i < 3; i++) yield i; |
@@ -583,39 +575,6 @@ main() { |
return expectList(f().take(0), []); |
}); |
}); |
- |
- // Crashes dart2js. |
- // test("regression-fugl/fisk", () { |
- // var res = []; |
- // fisk() async* { |
- // res.add("+fisk"); |
- // try { |
- // for (int i = 0; i < 2; i++) { |
- // yield await new Future.microtask(() => i); |
- // } |
- // } finally { |
- // res.add("-fisk"); |
- // } |
- // } |
- |
- // fugl(int count) async { |
- // res.add("fisk $count"); |
- // try { |
- // await for(int i in fisk().take(count)) res.add(i); |
- // } finally { |
- // res.add("done"); |
- // } |
- // } |
- |
- // return fugl(3).whenComplete(() => fugl(2)) |
- // .whenComplete(() => fugl(1)) |
- // .whenComplete(() { |
- // expect(res, ["fisk 3", "+fisk", 0, 1, "-fisk", "done", |
- // "fisk 2", "+fisk", 0, 1, "-fisk", "done", |
- // "fisk 1", "+fisk", 0, "done", "-fisk", ]); |
- // }); |
- // }); |
- |
}); |
group("pausing", () { |
@@ -703,34 +662,6 @@ main() { |
expect(list.length == 18 || list.length == 19, isTrue); |
}); |
}); |
- |
- test("canceling while paused at yield", () { /// 02: ok |
- var list = []; /// 02: continued |
- var sync = new Sync(); /// 02: continued |
- f() async* { /// 02: continued |
- list.add("*1"); /// 02: continued |
- yield 1; /// 02: continued |
- await sync.wait(); /// 02: continued |
- sync.release(); /// 02: continued |
- list.add("*2"); /// 02: continued |
- yield 2; /// 02: continued |
- list.add("*3"); /// 02: continued |
- }; /// 02: continued |
- var stream = f(); /// 02: continued |
- var sub = stream.listen(list.add); /// 02: continued |
- return sync.wait().whenComplete(() { /// 02: continued |
- expect(list, equals(["*1", 1])); /// 02: continued |
- sub.pause(); /// 02: continued |
- return sync.wait(); /// 02: continued |
- }).whenComplete(() { /// 02: continued |
- expect(list, equals(["*1", 1, "*2"])); /// 02: continued |
- sub.cancel(); /// 02: continued |
- return new Future.delayed(MS * 200, () { /// 02: continued |
- // Should not have yielded 2 or added *3 while paused. /// 02: continued |
- expect(list, equals(["*1", 1, "*2"])); /// 02: continued |
- }); /// 02: continued |
- }); /// 02: continued |
- }); /// 02: continued |
}); |
group("await for", () { |
@@ -760,17 +691,6 @@ main() { |
}); |
}); |
- test("simple stream - take", () { /// 03: ok |
- f(s) async { /// 03: continued |
- var r = 0; /// 03: continued |
- await for(var v in s.take(5)) r += v; /// 03: continued |
- return r; /// 03: continued |
- } /// 03: continued |
- return f(mkStream(10)).then((v) { /// 03: continued |
- expect(v, equals(10)); /// 03: continued |
- }); /// 03: continued |
- }); /// 03: continued |
- |
test("simple stream reyield", () { |
f(s) async* { |
var r = 0; |
@@ -787,14 +707,6 @@ main() { |
return expectList(f(mkStream(5)), [0, 1, 3, 6, 10]); |
}); |
- test("simple stream - take, reyield", () { /// 04: ok |
- f(s) async* { /// 04: continued |
- var r = 0; /// 04: continued |
- await for(var v in s.take(5)) yield r += v; /// 04: continued |
- } /// 04: continued |
- return expectList(f(mkStream(10)), [0, 1, 3, 6, 10]); /// 04: continued |
- }); /// 04: continued |
- |
test("nested", () { |
f() async { |
var r = 0; |
@@ -840,29 +752,6 @@ main() { |
expect(v, equals((1 + 2 + 3 + 4) * (1 + 2))); |
}); |
}); |
- |
- test("await pauses loop", () { /// 05: ok |
- var sc; /// 05: continued |
- var i = 0; /// 05: continued |
- void send() { /// 05: continued |
- if (i == 5) { /// 05: continued |
- sc.close(); /// 05: continued |
- } else { /// 05: continued |
- sc.add(i++); /// 05: continued |
- } /// 05: continued |
- } /// 05: continued |
- sc = new StreamController(onListen: send, onResume: send); /// 05: continued |
- f(s) async { /// 05: continued |
- var r = 0; /// 05: continued |
- await for (var i in s) { /// 05: continued |
- r += await new Future.delayed(MS * 10, () => i); /// 05: continued |
- } /// 05: continued |
- return r; /// 05: continued |
- } /// 05: continued |
- return f(sc.stream).then((v) { /// 05: continued |
- expect(v, equals(10)); /// 05: continued |
- }); /// 05: continued |
- }); /// 05: continued |
}); |
} |
@@ -894,29 +783,3 @@ class NotAStream { |
fail("Not implementing Stream."); |
} |
} |
- |
-/** |
- * Allows two asynchronous executions to synchronize. |
- * |
- * Calling [wait] and waiting for the returned future to complete will |
- * wait for the other executions to call [wait] again. At that point, |
- * the waiting execution is allowed to continue (the returned future completes), |
- * and the more resent call to [wait] is now the waiting execution. |
- */ |
-class Sync { |
- Completer _completer = null; |
- // Release whoever is currently waiting and start waiting yourself. |
- Future wait([v]) { |
- if (_completer != null) _completer.complete(v); |
- _completer = new Completer(); |
- return _completer.future; |
- } |
- |
- // Release whoever is currently waiting. |
- void release([v]) { |
- if (_completer != null) { |
- _completer.complete(v); |
- _completer = null; |
- } |
- } |
-} |