[tests] Enum shorthands - Collection literal tests for constructors and static methods.

Tests for using static method and constructor shorthands in collection literals.

Bug: https://github.com/dart-lang/sdk/issues/57038
Change-Id: I5151d53cc90966abb8d03dd453448987ccf8ce7a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/401981
Reviewed-by: Erik Ernst <eernst@google.com>
Commit-Queue: Kallen Tu <kallentu@google.com>
diff --git a/tests/language/enum_shorthands/constructor/constructor_collection_literal_test.dart b/tests/language/enum_shorthands/constructor/constructor_collection_literal_test.dart
new file mode 100644
index 0000000..4e6a1d1
--- /dev/null
+++ b/tests/language/enum_shorthands/constructor/constructor_collection_literal_test.dart
@@ -0,0 +1,62 @@
+// Copyright (c) 2024, 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.
+
+// Context type is propagated down in collection literals.
+// Testing with constructor shorthands.
+
+// SharedOptions=--enable-experiment=enum-shorthands
+
+import '../enum_shorthand_helper.dart';
+
+void main() {
+  var ctorList = <ConstructorClass>[
+    .new(1),
+    .regular(1),
+    .named(x: 1),
+    .optional(1),
+  ];
+  var ctorSet = <ConstructorClass>{
+    .new(1),
+    .regular(1),
+    .named(x: 1),
+    .optional(1),
+  };
+  var ctorMap = <ConstructorClass, ConstructorClass>{
+    .new(1): .new(1),
+    .regular(1): .regular(1),
+    .named(x: 1): .named(x: 1),
+    .optional(1): .optional(1),
+  };
+  var ctorMap2 = <ConstructorClass, (ConstructorClass, ConstructorClass)>{
+    .new(1): (.new(1), .new(1)),
+    .regular(1): (.regular(1), .regular(1)),
+    .named(x: 1): (.named(x: 1), .named(x: 1)),
+    .optional(1): (.optional(1), .optional(1)),
+  };
+
+  var ctorExtList = <ConstructorExt>[
+    .new(1),
+    .regular(1),
+    .named(x: 1),
+    .optional(1),
+  ];
+  var ctorExtSet = <ConstructorExt>{
+    .new(1),
+    .regular(1),
+    .named(x: 1),
+    .optional(1),
+  };
+  var ctorExtMap = <ConstructorExt, ConstructorExt>{
+    .new(1): .new(1),
+    .regular(1): .regular(1),
+    .named(x: 1): .named(x: 1),
+    .optional(1): .optional(1),
+  };
+  var ctorExtMap2 = <ConstructorExt, (ConstructorExt, ConstructorExt)>{
+    .new(1): (.new(1), .new(1)),
+    .regular(1): (.regular(1), .regular(1)),
+    .named(x: 1): (.named(x: 1), .named(x: 1)),
+    .optional(1): (.optional(1), .optional(1)),
+  };
+}
diff --git a/tests/language/enum_shorthands/member/static_method_collection_literal_test.dart b/tests/language/enum_shorthands/member/static_method_collection_literal_test.dart
new file mode 100644
index 0000000..a7bf76e
--- /dev/null
+++ b/tests/language/enum_shorthands/member/static_method_collection_literal_test.dart
@@ -0,0 +1,38 @@
+// Copyright (c) 2024, 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.
+
+// Context type is propagated down in collection literals.
+// Testing with static method shorthands.
+
+// SharedOptions=--enable-experiment=enum-shorthands
+
+import '../enum_shorthand_helper.dart';
+
+void main() {
+  var memberList = <StaticMember>[.member(), .memberType<String, int>('s'), .member()];
+  var memberSet = <StaticMember>{.member(), .memberType<String, int>('s')};
+  var memberMap = <StaticMember, StaticMember>{
+    .member(): .memberType<String, int>('s'),
+    .memberType<String, int>('s'): .memberType<String, int>('s'),
+  };
+  var memberMap2 = <StaticMember, (StaticMember, StaticMember)>{
+    .member(): (.member(), .memberType<String, int>('s')),
+    .memberType<String, int>('s'): (.memberType<String, int>('s'), .memberType<String, int>('s')),
+  };
+
+  var memberExtList = <StaticMemberExt>[
+    .member(),
+    .memberType<String, int>('s'),
+    .member(),
+  ];
+  var memberExtSet = <StaticMemberExt>{.member(), .memberType<String, int>('s')};
+  var memberExtMap = <StaticMemberExt, StaticMemberExt>{
+    .member(): .memberType<String, int>('s'),
+    .memberType<String, int>('s'): .memberType<String, int>('s'),
+  };
+  var memberExtMap2 = <StaticMemberExt, (StaticMemberExt, StaticMemberExt)>{
+    .member(): (.member(), .memberType<String, int>('s')),
+    .memberType<String, int>('s'): (.memberType<String, int>('s'), .memberType<String, int>('s')),
+  };
+}