dart-sdk/tests/language/map/literal_test.dart
Robert Nystrom 0429dda6d2 Migrate language_2/map to NNBD.
Change-Id: I7567d8f705b84a286e4091ece850ccbf5966e6b7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/149490
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Auto-Submit: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Srujan Gaddam <srujzs@google.com>
2020-05-30 01:39:28 +00:00

79 lines
1.7 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.
import "package:expect/expect.dart";
// Tests map literals.
class MapLiteralTest {
MapLiteralTest() {}
static testMain() {
var test = new MapLiteralTest();
test.testStaticInit();
test.testConstInit();
}
testStaticInit() {
var testClass = new StaticInit();
testClass.test();
}
testConstInit() {
var testClass = new ConstInit();
testClass.test();
}
testLocalInit() {
// Test construction of static const map literals
var map1 = {"a": 1, "b": 2};
// Test construction of static const map literals, with numbers
var map2 = {"1": 1, "2": 2};
Expect.equals(1, map1["a"]);
Expect.equals(2, map1["b"]);
Expect.equals(1, map2["1"]);
Expect.equals(2, map2["2"]);
}
}
class StaticInit {
StaticInit() {}
// Test construction of static const map literals
static const map1 = const {"a": 1, "b": 2};
// Test construction of static const map literals, with numbers
static const map2 = const {"1": 1, "2": 2};
test() {
Expect.equals(1, map1["a"]);
Expect.equals(2, map1["b"]);
Expect.equals(1, map2["1"]);
Expect.equals(2, map2["2"]);
}
}
class ConstInit {
final map1;
final map2;
ConstInit()
: this.map1 = {"a": 1, "b": 2},
this.map2 = {"1": 1, "2": 2} {}
test() {
Expect.equals(1, map1["a"]);
Expect.equals(2, map1["b"]);
Expect.equals(1, map2["1"]);
Expect.equals(2, map2["2"]);
}
}
main() {
MapLiteralTest.testMain();
}