mirror of
https://github.com/dart-lang/sdk
synced 2024-09-16 00:29:48 +00:00
0429dda6d2
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>
45 lines
1 KiB
Dart
45 lines
1 KiB
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 map literals.
|
|
|
|
library map_literal5_test;
|
|
|
|
import "package:expect/expect.dart";
|
|
|
|
void main() {
|
|
test(true);
|
|
test(false);
|
|
}
|
|
|
|
void test(bool b) {
|
|
var m = create(b);
|
|
Expect.equals(b, m.containsKey(true));
|
|
Expect.equals(b, m.containsKey(2));
|
|
Expect.equals(b, m.containsKey(1));
|
|
Expect.equals(!b, m.containsKey(false));
|
|
Expect.equals(!b, m.containsKey("bar"));
|
|
Expect.equals(!b, m.containsKey("foo"));
|
|
if (b) {
|
|
Expect.equals(0, m[true]);
|
|
Expect.equals(3, m[2]);
|
|
Expect.equals(2, m[1]);
|
|
} else {
|
|
Expect.equals(0, m[false]);
|
|
Expect.equals("baz", m["bar"]);
|
|
Expect.equals(2, m["foo"]);
|
|
}
|
|
}
|
|
|
|
Map create(bool b) {
|
|
return {
|
|
b: 0,
|
|
m(b): n(b),
|
|
b ? 1 : "foo": 2,
|
|
};
|
|
}
|
|
|
|
Object m(bool b) => b ? 2 : "bar";
|
|
Object n(bool b) => b ? 3 : "baz";
|