Add tests for const classes.

Review URL: https://chromereviews.googleplex.com/3524015

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36 260f80e4-7a28-3924-810f-c04153c831b5
This commit is contained in:
floitsch@google.com 2011-10-05 12:36:26 +00:00
parent a42380d3df
commit 100f10211e
2 changed files with 24 additions and 0 deletions

View file

@ -108,6 +108,7 @@ RegExp3Test: Fail # 5299683
InterfaceFactory3NegativeTest: Fail # 5387405
GenericParameterizedExtendsTest: Skip # Bug 5392297
InterfaceFactoryMultiTest: Fail # Bug 5399939
ConstObjectsAreImmutableTest: Fail # Bug 5202940
# Crashes in dartc.
FunctionTypeAliasTest: Crash # Bug 4519208.

View file

@ -0,0 +1,23 @@
// 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.
// Check that const objects (including literals) are immutable.
class A {
const A(this.x, this.y);
final num x, y;
}
main() {
var list = const [1, 2];
Expect.throws(() => list[0] = 3);
Expect.equals(1, list[0]);
var m = const { 'foo': 499 };
Expect.throws(() => m['foo'] = 42);
Expect.equals(499, m['foo']);
var a = const A(1, 2);
Expect.throws(() => a.x = 499);
Expect.equals(1, a.x);
}