Skip to content

Commit afc8abb

Browse files
scheglovCommit Queue
authored and
Commit Queue
committed
Replace two more assertX with textual dumps.
Change-Id: I89332f27bfdb19cbb0e64b37e5b77403ea89872e Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/261785 Commit-Queue: Konstantin Shcheglov <[email protected]> Reviewed-by: Brian Wilkerson <[email protected]> Reviewed-by: Samuel Rawlins <[email protected]>
1 parent 53e3d2b commit afc8abb

File tree

4 files changed

+174
-76
lines changed

4 files changed

+174
-76
lines changed

pkg/analyzer/test/src/dart/resolution/ast_rewrite_test.dart

+70-36
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
// BSD-style license that can be found in the LICENSE file.
44

55
import 'package:analyzer/dart/ast/ast.dart';
6-
import 'package:analyzer/dart/element/element.dart';
76
import 'package:analyzer/src/error/codes.dart';
87
import 'package:test/test.dart';
98
import 'package:test_reflective_loader/test_reflective_loader.dart';
@@ -421,13 +420,37 @@ f(A a) {
421420
}
422421
''');
423422

424-
var override = findNode.extensionOverride('E<int>(a)');
425-
_assertExtensionOverride(
426-
override,
427-
expectedElement: findElement.extension_('E'),
428-
expectedTypeArguments: ['int'],
429-
expectedExtendedType: 'A',
430-
);
423+
final node = findNode.extensionOverride('E<int>(a)');
424+
assertResolvedNodeText(node, r'''
425+
ExtensionOverride
426+
extensionName: SimpleIdentifier
427+
token: E
428+
staticElement: self::@extension::E
429+
staticType: null
430+
typeArguments: TypeArgumentList
431+
leftBracket: <
432+
arguments
433+
NamedType
434+
name: SimpleIdentifier
435+
token: int
436+
staticElement: dart:core::@class::int
437+
staticType: null
438+
type: int
439+
rightBracket: >
440+
argumentList: ArgumentList
441+
leftParenthesis: (
442+
arguments
443+
SimpleIdentifier
444+
token: a
445+
parameter: <null>
446+
staticElement: self::@function::f::@parameter::a
447+
staticType: A
448+
rightParenthesis: )
449+
extendedType: A
450+
staticType: null
451+
typeArgumentTypes
452+
int
453+
''');
431454
}
432455

433456
test_targetNull_function() async {
@@ -1134,16 +1157,45 @@ f(prefix.A a) {
11341157
}
11351158
''');
11361159

1137-
var importFind = findElement.importFind('package:test/a.dart');
1138-
1139-
var override = findNode.extensionOverride('E<int>(a)');
1140-
_assertExtensionOverride(
1141-
override,
1142-
expectedElement: importFind.extension_('E'),
1143-
expectedTypeArguments: ['int'],
1144-
expectedExtendedType: 'A',
1145-
);
1146-
assertImportPrefix(findNode.simple('prefix.E'), importFind.prefix);
1160+
final node = findNode.extensionOverride('E<int>(a)');
1161+
assertResolvedNodeText(node, r'''
1162+
ExtensionOverride
1163+
extensionName: PrefixedIdentifier
1164+
prefix: SimpleIdentifier
1165+
token: prefix
1166+
staticElement: self::@prefix::prefix
1167+
staticType: null
1168+
period: .
1169+
identifier: SimpleIdentifier
1170+
token: E
1171+
staticElement: package:test/a.dart::@extension::E
1172+
staticType: null
1173+
staticElement: package:test/a.dart::@extension::E
1174+
staticType: null
1175+
typeArguments: TypeArgumentList
1176+
leftBracket: <
1177+
arguments
1178+
NamedType
1179+
name: SimpleIdentifier
1180+
token: int
1181+
staticElement: dart:core::@class::int
1182+
staticType: null
1183+
type: int
1184+
rightBracket: >
1185+
argumentList: ArgumentList
1186+
leftParenthesis: (
1187+
arguments
1188+
SimpleIdentifier
1189+
token: a
1190+
parameter: <null>
1191+
staticElement: self::@function::f::@parameter::a
1192+
staticType: A
1193+
rightParenthesis: )
1194+
extendedType: A
1195+
staticType: null
1196+
typeArgumentTypes
1197+
int
1198+
''');
11471199
}
11481200

11491201
test_targetSimpleIdentifier_prefix_function() async {
@@ -1251,24 +1303,6 @@ InstanceCreationExpression
12511303
staticType: A<int>
12521304
''');
12531305
}
1254-
1255-
void _assertExtensionOverride(
1256-
ExtensionOverride override, {
1257-
required ExtensionElement expectedElement,
1258-
required List<String> expectedTypeArguments,
1259-
required String expectedExtendedType,
1260-
}) {
1261-
expect(override.staticElement, expectedElement);
1262-
1263-
assertTypeNull(override);
1264-
assertTypeNull(override.extensionName);
1265-
1266-
assertElementTypes(
1267-
override.typeArgumentTypes,
1268-
expectedTypeArguments,
1269-
);
1270-
assertType(override.extendedType, expectedExtendedType);
1271-
}
12721306
}
12731307

12741308
@reflectiveTest

pkg/analyzer/test/src/dart/resolution/field_formal_parameter_test.dart

+9-4
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,14 @@ enum E {
3434
}
3535
''');
3636

37-
assertFieldFormalParameter(
38-
findNode.fieldFormalParameter('this.f'),
39-
element: findElement.fieldFormalParameter('f'),
40-
);
37+
final node = findNode.fieldFormalParameter('this.f');
38+
assertResolvedNodeText(node, r'''
39+
FieldFormalParameter
40+
thisKeyword: this
41+
period: .
42+
name: f
43+
declaredElement: self::@enum::E::@constructor::new::@parameter::f
44+
declaredElementType: int
45+
''');
4146
}
4247
}

pkg/analyzer/test/src/dart/resolution/resolution.dart

-18
Original file line numberDiff line numberDiff line change
@@ -278,24 +278,6 @@ mixin ResolutionTest implements ResourceProviderMixin {
278278
assertErrorsInResolvedUnit(result, expectedErrors);
279279
}
280280

281-
void assertExtensionOverride(
282-
ExtensionOverride node, {
283-
required Object element,
284-
required String extendedType,
285-
required List<String> typeArgumentTypes,
286-
}) {
287-
assertElement(node, element);
288-
assertType(node.extendedType, extendedType);
289-
assertElementTypes(node.typeArgumentTypes, typeArgumentTypes);
290-
}
291-
292-
void assertFieldFormalParameter(
293-
FieldFormalParameter node, {
294-
required FieldFormalParameterElement element,
295-
}) {
296-
assertElement(node.declaredElement, element);
297-
}
298-
299281
void assertHasTestErrors() {
300282
expect(result.errors, isNotEmpty);
301283
}

pkg/analyzer/test/src/diagnostics/wrong_number_of_type_arguments_extension_test.dart

+95-18
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,34 @@ void f() {
2929
CompileTimeErrorCode.WRONG_NUMBER_OF_TYPE_ARGUMENTS_EXTENSION, 54, 5),
3030
]);
3131

32-
assertExtensionOverride(
33-
findNode.extensionOverride('E<int>'),
34-
element: findElement.extension_('E'),
35-
extendedType: 'int',
36-
typeArgumentTypes: [],
37-
);
32+
final node = findNode.extensionOverride('E<int>');
33+
assertResolvedNodeText(node, r'''
34+
ExtensionOverride
35+
extensionName: SimpleIdentifier
36+
token: E
37+
staticElement: self::@extension::E
38+
staticType: null
39+
typeArguments: TypeArgumentList
40+
leftBracket: <
41+
arguments
42+
NamedType
43+
name: SimpleIdentifier
44+
token: int
45+
staticElement: dart:core::@class::int
46+
staticType: null
47+
type: int
48+
rightBracket: >
49+
argumentList: ArgumentList
50+
leftParenthesis: (
51+
arguments
52+
IntegerLiteral
53+
literal: 0
54+
parameter: <null>
55+
staticType: int
56+
rightParenthesis: )
57+
extendedType: int
58+
staticType: null
59+
''');
3860
}
3961

4062
test_tooFew() async {
@@ -51,12 +73,37 @@ void f() {
5173
CompileTimeErrorCode.WRONG_NUMBER_OF_TYPE_ARGUMENTS_EXTENSION, 60, 6),
5274
]);
5375

54-
assertExtensionOverride(
55-
findNode.extensionOverride('E<bool>'),
56-
element: findElement.extension_('E'),
57-
extendedType: 'int',
58-
typeArgumentTypes: ['dynamic', 'dynamic'],
59-
);
76+
final node = findNode.extensionOverride('E<bool>');
77+
assertResolvedNodeText(node, r'''
78+
ExtensionOverride
79+
extensionName: SimpleIdentifier
80+
token: E
81+
staticElement: self::@extension::E
82+
staticType: null
83+
typeArguments: TypeArgumentList
84+
leftBracket: <
85+
arguments
86+
NamedType
87+
name: SimpleIdentifier
88+
token: bool
89+
staticElement: dart:core::@class::bool
90+
staticType: null
91+
type: bool
92+
rightBracket: >
93+
argumentList: ArgumentList
94+
leftParenthesis: (
95+
arguments
96+
IntegerLiteral
97+
literal: 0
98+
parameter: <null>
99+
staticType: int
100+
rightParenthesis: )
101+
extendedType: int
102+
staticType: null
103+
typeArgumentTypes
104+
dynamic
105+
dynamic
106+
''');
60107
}
61108

62109
test_tooMany() async {
@@ -73,11 +120,41 @@ void f() {
73120
11),
74121
]);
75122

76-
assertExtensionOverride(
77-
findNode.extensionOverride('E<bool, int>'),
78-
element: findElement.extension_('E'),
79-
extendedType: 'int',
80-
typeArgumentTypes: ['dynamic'],
81-
);
123+
final node = findNode.extensionOverride('E<bool, int>');
124+
assertResolvedNodeText(node, r'''
125+
ExtensionOverride
126+
extensionName: SimpleIdentifier
127+
token: E
128+
staticElement: self::@extension::E
129+
staticType: null
130+
typeArguments: TypeArgumentList
131+
leftBracket: <
132+
arguments
133+
NamedType
134+
name: SimpleIdentifier
135+
token: bool
136+
staticElement: dart:core::@class::bool
137+
staticType: null
138+
type: bool
139+
NamedType
140+
name: SimpleIdentifier
141+
token: int
142+
staticElement: dart:core::@class::int
143+
staticType: null
144+
type: int
145+
rightBracket: >
146+
argumentList: ArgumentList
147+
leftParenthesis: (
148+
arguments
149+
IntegerLiteral
150+
literal: 0
151+
parameter: <null>
152+
staticType: int
153+
rightParenthesis: )
154+
extendedType: int
155+
staticType: null
156+
typeArgumentTypes
157+
dynamic
158+
''');
82159
}
83160
}

0 commit comments

Comments
 (0)