blob: 32e49a0c39ed4816e840b85f513020da54000a2d [file] [log] [blame]
// 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.
/**
* @assertion A runtime list literal <E>[e1... en] is evaluated as follows:
* • First, the expressions e1... en are evaluated in order, they appear in the
* program, yielding objects o1... on.
* • A fresh instance a, of size n, whose class implements the built-in class
* List<E> is allocated.
* • The operator []= is invoked on a with first argument i and second argument
* oi+1, 0 <= i < n.
* • The result of the evaluation is a.
* @description Checks that ith element is set to o(i+1), o <= i < n.
* @author msyabro
*/
import '../../../Utils/expect.dart';
main() {
List l = [0, 1, 2, 3, 4, 5, 5 + 1, 5 + 2, 9 - 1, 9, 2 * 5];
for (int i = 0; i <= 10; i++) {
Expect.equals(i, l[i]);
}
l = <bool>[false, true];
Expect.equals(false, l[0]);
Expect.equals(true, l[1]);
l = [];
Expect.isTrue(l.isEmpty);
l = ["a", "b", "c"];
Expect.equals("a", l[0]);
Expect.equals("b", l[1]);
Expect.equals("c", l[2]);
}