Expect different errors depending on the state of the spread_collections experiment.
R=brianwilkerson@google.com, paulberry@google.com
Change-Id: Ia12ea33be90ef1d390fd0a6c38fd421c317e6562
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97179
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
diff --git a/pkg/analyzer/test/src/diagnostics/expression_in_map_test.dart b/pkg/analyzer/test/src/diagnostics/expression_in_map_test.dart
index 7f81b3c..613210f 100644
--- a/pkg/analyzer/test/src/diagnostics/expression_in_map_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/expression_in_map_test.dart
@@ -19,16 +19,38 @@
@reflectiveTest
class ExpressionInMapTest extends DriverResolutionTest {
+ bool get isUiAsCode => analysisOptions.experimentStatus.spread_collections;
+
test_map() async {
- await assertErrorsInCode('''
+ await assertErrorsInCode(
+ '''
var m = <String, int>{'a', 'b' : 2};
-''', [ParserErrorCode.EXPECTED_TOKEN, ParserErrorCode.MISSING_IDENTIFIER]);
+''',
+ isUiAsCode
+ ? [
+ CompileTimeErrorCode.EXPRESSION_IN_MAP,
+ ]
+ : [
+ ParserErrorCode.EXPECTED_TOKEN,
+ ParserErrorCode.MISSING_IDENTIFIER
+ ],
+ );
}
test_map_const() async {
- await assertErrorsInCode('''
+ await assertErrorsInCode(
+ '''
var m = <String, int>{'a', 'b' : 2};
-''', [ParserErrorCode.EXPECTED_TOKEN, ParserErrorCode.MISSING_IDENTIFIER]);
+''',
+ isUiAsCode
+ ? [
+ CompileTimeErrorCode.EXPRESSION_IN_MAP,
+ ]
+ : [
+ ParserErrorCode.EXPECTED_TOKEN,
+ ParserErrorCode.MISSING_IDENTIFIER
+ ],
+ );
}
}
diff --git a/pkg/analyzer/test/src/diagnostics/map_entry_not_in_map_test.dart b/pkg/analyzer/test/src/diagnostics/map_entry_not_in_map_test.dart
index 140e53e..673c83a 100644
--- a/pkg/analyzer/test/src/diagnostics/map_entry_not_in_map_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/map_entry_not_in_map_test.dart
@@ -19,16 +19,26 @@
@reflectiveTest
class MapEntryNotInMapTest extends DriverResolutionTest {
+ bool get isUiAsCode => analysisOptions.experimentStatus.spread_collections;
+
test_set() async {
await assertErrorsInCode('''
var c = <int>{1:2};
-''', [ParserErrorCode.UNEXPECTED_TOKEN]);
+''', [
+ isUiAsCode
+ ? CompileTimeErrorCode.MAP_ENTRY_NOT_IN_MAP
+ : ParserErrorCode.UNEXPECTED_TOKEN
+ ]);
}
test_set_const() async {
await assertErrorsInCode('''
var c = const <int>{1:2};
-''', [ParserErrorCode.UNEXPECTED_TOKEN]);
+''', [
+ isUiAsCode
+ ? CompileTimeErrorCode.MAP_ENTRY_NOT_IN_MAP
+ : ParserErrorCode.UNEXPECTED_TOKEN
+ ]);
}
}