Index: tests/lib/async/future_constructor2_test.dart |
diff --git a/tests/lib/async/future_constructor2_test.dart b/tests/lib/async/future_constructor2_test.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..8f0b3a49fe2f9f4f488da3509f03ad1aa5bb5b55 |
--- /dev/null |
+++ b/tests/lib/async/future_constructor2_test.dart |
@@ -0,0 +1,60 @@ |
+// Copyright (c) 2015, 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_delayed_test; |
+ |
+import 'package:async_helper/async_helper.dart'; |
+import "package:expect/expect.dart"; |
+import 'dart:async'; |
+ |
+Future<int> voidToIntFuture() { |
Lasse Reichstein Nielsen
2015/08/14 22:05:04
drop the "void" - just "intFunction". void is only
floitsch
2015/08/17 09:34:30
renamed to 'createIntFuture'.
|
+ return new Future<int>.value(499); |
+} |
+ |
+unnamed() { |
+ asyncStart(); |
+ new Future<int>(voidToIntFuture) |
+ .then((x) { |
+ Expect.equals(499, x); |
+ asyncEnd(); |
+ }); |
+} |
+ |
+delayed() { |
+ asyncStart(); |
+ new Future<int>.delayed(const Duration(milliseconds: 2), voidToIntFuture) |
+ .then((x) { |
+ Expect.equals(499, x); |
+ asyncEnd(); |
+ }); |
+} |
+ |
+microtask() { |
+ asyncStart(); |
+ new Future<int>.microtask(voidToIntFuture) |
+ .then((x) { |
+ Expect.equals(499, x); |
+ asyncEnd(); |
+ }); |
+} |
+ |
+sync() { |
+ asyncStart(); |
+ new Future<int>.sync(voidToIntFuture) |
+ .then((x) { |
+ Expect.equals(499, x); |
+ asyncEnd(); |
+ }); |
+} |
+ |
+main() { |
Lasse Reichstein Nielsen
2015/08/14 22:05:04
I'd prefer if main stared with asyncStart() and en
floitsch
2015/08/17 09:34:30
Done.
|
+ // Test that all the Future constructors take functions that return a Future |
+ // as argument. |
+ // In particular the constructors must not type their argument as |
+ // `T computation()`. |
+ unnamed(); |
+ delayed(); |
+ microtask(); |
+ sync(); |
+} |