blob: 9b2cd1ed4230ffe6944a2cf2f2aad1b853610927 [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 constant expression is an expression whose value can never
* change, and that can be evaluated entirely at compile time.
* A constant expression is one of the following:
* . . .
* • An expression of the form e.length where e is a constant expression that
* evaluates to a string value.
* @description Checks that an expression of the form e.length can be used to
* initialize a constant variable if a constant expression e is evaluated to
* string.
* @author ngl@unipro.ru
*/
import '../../../Utils/expect.dart';
const String m = "ab" + "c";
const l0 = 'q'.length;
const l1 = "ab".length;
const l2 = m.length;
const l3 = ("ab" + "cd").length;
const l4 = (m + "12").length;
main() {
Expect.isTrue(l0 == 1);
Expect.isTrue(l1 == 2);
Expect.isTrue(l2 == 3);
Expect.isTrue(l3 == 4);
Expect.isTrue(l4 == 5);
}