| // Copyright (c) 2012, 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. |
| |
| // Check that conditional expression can be a compile-time constant. |
| |
| import "package:expect/expect.dart"; |
| |
| const C1 = true; |
| const C2 = false; |
| |
| const nephew = C1 |
| ? C2 |
| ? "Tick" |
| : "Trick" |
| : "Track"; |
| |
| main() { |
| const a = true ? 5 : 10; |
| const b = C2 |
| ? "Track" |
| : C1 |
| ? "Trick" |
| : "Tick"; |
| |
| Expect.equals(5, a); |
| Expect.equals("Trick", nephew); |
| Expect.equals(nephew, b); |
| Expect.identical(nephew, b); |
| var s = const Symbol(nephew); |
| var msg = "Donald is $nephew's uncle."; |
| Expect.equals("Donald is Trick's uncle.", msg); |
| } |