64d7bc5acf
Review URL: https://chromiumcodereview.appspot.com//10248007 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7101 260f80e4-7a28-3924-810f-c04153c831b5
79 lines
2.0 KiB
Dart
79 lines
2.0 KiB
Dart
// 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.
|
|
|
|
// Tests that map literals are ordered.
|
|
|
|
class OrderedMapsTest {
|
|
static testMain() {
|
|
testMaps(const { "a": 1, "c": 2 }, const { "c": 2, "a": 1}, true);
|
|
testMaps({ "a": 1, "c": 2 }, { "c": 2, "a": 1 }, false);
|
|
}
|
|
|
|
static void testMaps(map1, map2, bool isConst) {
|
|
Expect.equals(true, map1 !== map2);
|
|
|
|
var keys = map1.getKeys();
|
|
Expect.equals(2, keys.length);
|
|
Expect.equals("a", keys[0]);
|
|
Expect.equals("c", keys[1]);
|
|
|
|
keys = map2.getKeys();
|
|
Expect.equals(2, keys.length);
|
|
Expect.equals("c", keys[0]);
|
|
Expect.equals("a", keys[1]);
|
|
|
|
var values = map1.getValues();
|
|
Expect.equals(2, values.length);
|
|
Expect.equals(1, values[0]);
|
|
Expect.equals(2, values[1]);
|
|
|
|
values = map2.getValues();
|
|
Expect.equals(2, values.length);
|
|
Expect.equals(2, values[0]);
|
|
Expect.equals(1, values[1]);
|
|
|
|
if (isConst) return;
|
|
|
|
map1["b"] = 3;
|
|
map2["b"] = 3;
|
|
|
|
keys = map1.getKeys();
|
|
Expect.equals(3, keys.length);
|
|
Expect.equals("a", keys[0]);
|
|
Expect.equals("c", keys[1]);
|
|
Expect.equals("b", keys[2]);
|
|
|
|
keys = map2.getKeys();
|
|
Expect.equals(3, keys.length);
|
|
Expect.equals("c", keys[0]);
|
|
Expect.equals("a", keys[1]);
|
|
Expect.equals("b", keys[2]);
|
|
|
|
values = map1.getValues();
|
|
Expect.equals(3, values.length);
|
|
Expect.equals(1, values[0]);
|
|
Expect.equals(2, values[1]);
|
|
Expect.equals(3, values[2]);
|
|
|
|
values = map2.getValues();
|
|
Expect.equals(3, values.length);
|
|
Expect.equals(2, values[0]);
|
|
Expect.equals(1, values[1]);
|
|
Expect.equals(3, values[2]);
|
|
|
|
map1["a"] = 4;
|
|
keys = map1.getKeys();
|
|
Expect.equals(3, keys.length);
|
|
Expect.equals("a", keys[0]);
|
|
|
|
values = map1.getValues();
|
|
Expect.equals(3, values.length);
|
|
Expect.equals(4, values[0]);
|
|
}
|
|
}
|
|
|
|
main() {
|
|
OrderedMapsTest.testMain();
|
|
}
|