Index: tests/lib/async/future_foreach_test.dart |
diff --git a/tests/lib/async/future_foreach_test.dart b/tests/lib/async/future_foreach_test.dart |
deleted file mode 100644 |
index 7416b9411d1c56414d0cd4983225f857cfd71759..0000000000000000000000000000000000000000 |
--- a/tests/lib/async/future_foreach_test.dart |
+++ /dev/null |
@@ -1,111 +0,0 @@ |
-// Copyright (c) 2017, 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. |
- |
-library future_foreach_test; |
- |
-import 'package:async_helper/async_helper.dart'; |
-import "package:expect/expect.dart"; |
-import 'dart:async'; |
- |
-main() { |
- asyncStart(); |
- |
- testForeach(<int>[]); |
- testForeach(<int>[0]); |
- testForeach(<int>[0, 1, 2, 3]); |
- |
- testForeachIterableThrows( |
- new Iterable<int>.generate(5, (i) => i < 4 ? i : throw "ERROR"), |
- 4, |
- "ERROR"); |
- |
- testForeachFunctionThrows(new Iterable<int>.generate(5, (x) => x), 4); |
- |
- asyncEnd(); |
-} |
- |
-void testForeach(Iterable<int> elements) { |
- for (var delay in [0, 1, 2]) { |
- asyncStart(); |
- int length = elements.length; |
- int count = 0; |
- int nesting = 0; |
- Future.forEach<int>(elements, (int value) { |
- Expect.isTrue(nesting == 0, "overlapping calls detected"); |
- if (delay == 0) return "something-$delay"; |
- nesting++; |
- var future; |
- if (delay == 1) { |
- future = new Future(() => null); |
- } else { |
- future = new Future.microtask(() => null); |
- } |
- return future.then<String>((_) { |
- Expect.equals(1, nesting); |
- nesting--; |
- return "something-$delay"; |
- }); |
- }).then((_) { |
- asyncEnd(); |
- }).catchError((e) { |
- Expect.fail("Throws: $e"); |
- }); |
- } |
-} |
- |
-void testForeachIterableThrows(Iterable<int> elements, n, error) { |
- for (var delay in [0, 1, 2]) { |
- asyncStart(); |
- int count = 0; |
- Future.forEach<int>(elements, (_) { |
- count++; |
- Expect.isTrue(n >= 0); |
- switch (delay) { |
- case 1: |
- return new Future<String>(() {}); |
- case 2: |
- return new Future<String>.microtask(() {}); |
- } |
- }).then((_) { |
- Expect.fail("Did not throw"); |
- }, onError: (e) { |
- Expect.equals(n, count); |
- Expect.equals(error, e); |
- asyncEnd(); |
- }); |
- } |
-} |
- |
-void testForeachFunctionThrows(Iterable<int> elements, n) { |
- for (var delay in [0, 1, 2]) { |
- asyncStart(); |
- Future.forEach<int>(elements, (v) { |
- if (v == n) { |
- switch (delay) { |
- case 0: |
- throw "ERROR"; |
- case 1: |
- return new Future<String>(() { |
- throw "ERROR"; |
- }); |
- case 2: |
- return new Future<String>.microtask(() { |
- throw "ERROR"; |
- }); |
- } |
- } |
- switch (delay) { |
- case 1: |
- return new Future(() {}); |
- case 2: |
- return new Future.microtask(() {}); |
- } |
- }).then((_) { |
- Expect.fail("Did not throw"); |
- }, onError: (e) { |
- Expect.equals("ERROR", e); |
- asyncEnd(); |
- }); |
- } |
-} |