| // 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. |
| |
| /** |
| * @assertion if e evaluates to an object o that is not an instance of Future, |
| * then let f be the result of calling Future.value() with o as its argument; |
| * otherwise let f be the result of evaluating e. |
| * Next, execution of the function m immediately enclosing a is suspended |
| * until after f completes. The stream associated with the innermost enclosing |
| * asynchronous for loop, if any, is paused. At some time after f is completed, |
| * control returns to the current invocation. The stream associated with the |
| * innermost enclosing asynchronous for loop , if any, is resumed. If f has |
| * completed with an exception x, a raises x. If f completes with a value v, |
| * a evaluates to v. |
| * |
| * @description Check that if e is constant expression, then await expression |
| * value equals to value of this constant expression. |
| * |
| * @author a.semenov@unipro.ru |
| */ |
| |
| import '../../../Utils/expect.dart'; |
| |
| test() async { |
| Expect.equals(1, await 1); |
| Expect.equals('hello', await 'hello'); |
| Expect.equals(11, await (10 + 1)); |
| } |
| |
| main() { |
| asyncStart(); |
| test().then( (value) => asyncEnd() ); |
| } |