dart-sdk/tests/language/map/literal6_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

36 lines
883 B
Dart

// Copyright (c) 2013, 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.
// Test the use of general expression as keys in const map literals.
library map_literal6_test;
import "package:expect/expect.dart";
class A {
const A();
}
class B {
final a;
const B(this.a);
}
void main() {
var m1 = const {
const A(): 0,
const B(1): 2,
const B(const A()): 3,
const B(0): 4,
};
Expect.isTrue(m1.containsKey(const A()));
Expect.isTrue(m1.containsKey(const B(0)));
Expect.isTrue(m1.containsKey(const B(1)));
Expect.isTrue(m1.containsKey(const B(const A())));
Expect.equals(0, m1[const A()]);
Expect.equals(4, m1[const B(0)]);
Expect.equals(2, m1[const B(1)]);
Expect.equals(3, m1[const B(const A())]);
}