OLD | NEW |
| (Empty) |
1 // Copyright (c) 2011, 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 // The next line is used to tell test.dart that this test is run by invoking | |
6 // awaitc.dart and passing this file as an argument (e.g. frog | |
7 // frog/await/awaitc.dart test.dart): | |
8 // VMOptions=frog/await/awaitc.dart | |
9 | |
10 // await on boolean || expressions. | |
11 #import("await_test_helper.dart"); | |
12 | |
13 main() { | |
14 // boolean value is correct: | |
15 Expect.equals(true, await futureOf(true) || await futureOf(false)); | |
16 Expect.equals(false, await futureOf(false) || await futureOf(false)); | |
17 Expect.equals(true, await futureOf(false) || await futureOf(true)); | |
18 Expect.equals(true, await futureOf(true) || await futureOf(true)); | |
19 | |
20 // short-circuit works, second example is important because it shows that not | |
21 // only the error doesn't occur, but that the expression is not evaluated | |
22 // altogether. | |
23 Expect.equals(true, await futureOf(true) || await errorOf("ERROR1")); | |
24 Expect.equals(true, await futureOf(true) || await () { throw "ERROR2"; }()); | |
25 Expect.fail("fail to ensure that this line is reached"); | |
26 } | |
OLD | NEW |