| // Copyright (c) 2011, 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. |
| // Test program for array literals. |
| |
| // @dart = 2.9 |
| |
| import "package:expect/expect.dart"; |
| |
| class ListLiteralTest { |
| static const LAUREL = 1; |
| static const HARDY = 2; |
| |
| static testMain() { |
| var funny = <int>[ |
| LAUREL, |
| HARDY, |
| ]; // Check that trailing comma works. |
| Expect.equals(2, funny.length); |
| |
| List<int> m = <int>[101, 102, 100 + 3]; |
| Expect.equals(3, m.length); |
| Expect.equals(101, m[0]); |
| Expect.equals(103, m[2]); |
| |
| var d = m[2] - m[1]; |
| Expect.equals(1, d); |
| |
| dynamic e2 = [5.1, -55, 555, 5555][2]; |
| Expect.equals(555, e2); |
| |
| e2 = <num>[5.1, -55, 555, 5555][2]; |
| Expect.equals(555, e2); |
| |
| e2 = const <num>[5.1, -55, 555, 5555][2]; |
| Expect.equals(555, e2); |
| |
| e2 = (const [ |
| 5.1, |
| const <num>[-55, 555], |
| 5555 |
| ][1] as dynamic)[1]; |
| Expect.equals(555, e2); |
| |
| Expect.equals(0, [].length); |
| Expect.equals(0, <String>[].length); |
| Expect.equals(0, const <String>[].length); |
| Expect.equals(0, const [].length); |
| |
| e2 = [1, 2.0, 0x03, 2.0e5]; |
| Expect.equals(1, e2[0]); |
| Expect.equals(2.0, e2[1]); |
| Expect.equals(3, e2[2]); |
| Expect.equals(200000.0, e2[3]); |
| } |
| } |
| |
| main() { |
| ListLiteralTest.testMain(); |
| } |