Skip to content

Commit 2aa14db

Browse files
bwilkersonCommit Queue
authored andcommitted
[cq] Convert some uses of a comment marker to use TestCode
There are a couple of other places where this older convention is still being used, and I hope to clean them up as well. Change-Id: I84d7e8d81778b6b7b69060df6eda5db2a6aaf256 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/414161 Reviewed-by: Phil Quitslund <pquitslund@google.com> Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
1 parent d5f82b7 commit 2aa14db

File tree

2 files changed

+125
-133
lines changed

2 files changed

+125
-133
lines changed

pkg/analysis_server/test/edit/postfix_completion_test.dart

Lines changed: 28 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
// BSD-style license that can be found in the LICENSE file.
44

55
import 'package:analysis_server/protocol/protocol_generated.dart';
6+
import 'package:analyzer/src/test_utilities/test_code_format.dart';
67
import 'package:analyzer_plugin/protocol/protocol_common.dart';
78
import 'package:test/test.dart';
89
import 'package:test_reflective_loader/test_reflective_loader.dart';
@@ -17,6 +18,8 @@ void main() {
1718

1819
@reflectiveTest
1920
class PostfixCompletionTest extends PubPackageAnalysisServerTest {
21+
late TestCode testCode;
22+
2023
late SourceChange change;
2124

2225
@override
@@ -26,18 +29,17 @@ class PostfixCompletionTest extends PubPackageAnalysisServerTest {
2629
}
2730

2831
Future<void> test_for() async {
29-
var key = '.for';
30-
var offset = _newFileForCompletion(key, '''
32+
_newFileForCompletion('''
3133
void f() {
32-
[].for
34+
[]^
3335
}
3436
''');
3537

36-
await _prepareCompletionAt(offset, key);
38+
await _prepareCompletionAt(testCode.position.offset, '.for');
3739
_assertHasChange('Expand .for', '''
3840
void f() {
3941
for (var value in []) {
40-
/*caret*/
42+
^
4143
}
4244
}
4345
''');
@@ -72,31 +74,34 @@ void f() {
7274
}
7375

7476
Future<void> test_notApplicable_inComment_try() async {
75-
var key = '.try';
76-
var offset = _newFileForCompletion(key, '''
77+
_newFileForCompletion('''
7778
void f() {
7879
() {
79-
// comment.try
80+
// comment^
8081
};
8182
}
8283
''');
8384

84-
var result = await _isApplicable(offset: offset, key: key);
85+
var result = await _isApplicable(
86+
offset: testCode.position.offset,
87+
key: '.try',
88+
);
8589
expect(result, isFalse);
8690
}
8791

88-
void _assertHasChange(String message, String expectedCode) {
89-
if (change.message == message) {
90-
if (change.edits.isNotEmpty) {
91-
var resultCode = SourceEdit.applySequence(
92-
testFileContent,
93-
change.edits[0].edits,
94-
);
95-
expect(resultCode, expectedCode.replaceAll('/*caret*/', ''));
96-
}
97-
return;
92+
void _assertHasChange(String message, String expected) {
93+
var expectedCode = TestCode.parse(expected);
94+
if (change.message != message) {
95+
fail('Expected to find |$message| but got: ${change.message}');
96+
}
97+
if (change.edits.isNotEmpty) {
98+
var resultCode = SourceEdit.applySequence(
99+
testFileContent,
100+
change.edits[0].edits,
101+
);
102+
expect(resultCode, expectedCode.code);
98103
}
99-
fail('Expected to find |$message| but got: ${change.message}');
104+
expect(change.selection?.offset, expectedCode.position.offset);
100105
}
101106

102107
Future<bool> _isApplicable({required int offset, required String key}) async {
@@ -114,17 +119,10 @@ void f() {
114119
return result.value;
115120
}
116121

117-
int _newFileForCompletion(String key, String content) {
118-
var keyOffset = content.indexOf(key);
119-
expect(keyOffset, isNot(equals(-1)), reason: 'missing "$key"');
120-
121-
modifyFile2(
122-
testFile,
123-
content.substring(0, keyOffset) +
124-
content.substring(keyOffset + key.length),
125-
);
122+
void _newFileForCompletion(String content) {
123+
testCode = TestCode.parse(content);
126124

127-
return keyOffset;
125+
modifyFile2(testFile, testCode.code);
128126
}
129127

130128
Future<void> _prepareCompletionAt(int offset, String key) async {

0 commit comments

Comments
 (0)