@@ -19,8 +19,44 @@ void main() {
19
19
});
20
20
}
21
21
22
+ abstract class AbstractSourceCodeActionsTest extends AbstractCodeActionsTest {
23
+ /// Wrapper around [checkCodeActionAvailable] for Source actions where
24
+ /// position/range is irrelevant (so uses [startOfDocPos] ).
25
+ Future <void > checkSourceCodeActionAvailable (
26
+ Uri uri,
27
+ String command,
28
+ String title, {
29
+ bool asCodeActionLiteral = false ,
30
+ bool asCommand = false ,
31
+ }) async {
32
+ return checkCodeActionAvailable (
33
+ uri,
34
+ command,
35
+ title,
36
+ position: startOfDocPos,
37
+ asCodeActionLiteral: asCodeActionLiteral,
38
+ asCommand: asCommand,
39
+ );
40
+ }
41
+
42
+ /// Wrapper around [getCodeActions] for Source actions where position/range is
43
+ /// irrelevant (so uses [startOfDocPos] ).
44
+ Future <List <Either2 <Command , CodeAction >>> getSourceCodeActions (
45
+ String fileUri, {
46
+ List <CodeActionKind >? kinds,
47
+ CodeActionTriggerKind ? triggerKind,
48
+ }) {
49
+ return getCodeActions (
50
+ fileUri,
51
+ position: startOfDocPos,
52
+ kinds: kinds,
53
+ triggerKind: triggerKind,
54
+ );
55
+ }
56
+ }
57
+
22
58
@reflectiveTest
23
- class FixAllSourceCodeActionsTest extends AbstractCodeActionsTest {
59
+ class FixAllSourceCodeActionsTest extends AbstractSourceCodeActionsTest {
24
60
Future <void > test_appliesCorrectEdits () async {
25
61
const analysisOptionsContent = '''
26
62
linter:
@@ -45,15 +81,16 @@ linter:
45
81
workspaceCapabilities:
46
82
withApplyEditSupport (emptyWorkspaceClientCapabilities));
47
83
48
- final codeActions = await getCodeActions (mainFileUri.toString ());
84
+ final codeActions = await getSourceCodeActions (mainFileUri.toString ());
49
85
final codeAction = findCommand (codeActions, Commands .fixAll)! ;
50
86
51
87
await verifyCodeActionEdits (codeAction, content, expectedContent);
52
88
}
53
89
}
54
90
55
91
@reflectiveTest
56
- class OrganizeImportsSourceCodeActionsTest extends AbstractCodeActionsTest {
92
+ class OrganizeImportsSourceCodeActionsTest
93
+ extends AbstractSourceCodeActionsTest {
57
94
Future <void > test_appliesCorrectEdits_withDocumentChangesSupport () async {
58
95
const content = '''
59
96
import 'dart:math';
@@ -75,7 +112,7 @@ int minified(int x, int y) => min(x, y);
75
112
workspaceCapabilities: withApplyEditSupport (
76
113
withDocumentChangesSupport (emptyWorkspaceClientCapabilities)));
77
114
78
- final codeActions = await getCodeActions (mainFileUri.toString ());
115
+ final codeActions = await getSourceCodeActions (mainFileUri.toString ());
79
116
final codeAction = findCommand (codeActions, Commands .organizeImports)! ;
80
117
81
118
await verifyCodeActionEdits (codeAction, content, expectedContent,
@@ -103,7 +140,7 @@ int minified(int x, int y) => min(x, y);
103
140
workspaceCapabilities:
104
141
withApplyEditSupport (emptyWorkspaceClientCapabilities));
105
142
106
- final codeActions = await getCodeActions (mainFileUri.toString ());
143
+ final codeActions = await getSourceCodeActions (mainFileUri.toString ());
107
144
final codeAction = findCommand (codeActions, Commands .organizeImports)! ;
108
145
109
146
await verifyCodeActionEdits (codeAction, content, expectedContent);
@@ -117,7 +154,7 @@ int minified(int x, int y) => min(x, y);
117
154
workspaceCapabilities:
118
155
withApplyEditSupport (emptyWorkspaceClientCapabilities));
119
156
120
- await checkCodeActionAvailable (
157
+ await checkSourceCodeActionAvailable (
121
158
mainFileUri,
122
159
Commands .organizeImports,
123
160
'Organize Imports' ,
@@ -131,7 +168,7 @@ int minified(int x, int y) => min(x, y);
131
168
workspaceCapabilities:
132
169
withApplyEditSupport (emptyWorkspaceClientCapabilities));
133
170
134
- await checkCodeActionAvailable (
171
+ await checkSourceCodeActionAvailable (
135
172
mainFileUri,
136
173
Commands .organizeImports,
137
174
'Organize Imports' ,
@@ -146,7 +183,7 @@ int minified(int x, int y) => min(x, y);
146
183
workspaceCapabilities:
147
184
withApplyEditSupport (emptyWorkspaceClientCapabilities));
148
185
149
- final codeActions = await getCodeActions (
186
+ final codeActions = await getSourceCodeActions (
150
187
mainFileUri.toString (),
151
188
triggerKind: CodeActionTriggerKind .Automatic ,
152
189
);
@@ -169,7 +206,7 @@ int minified(int x, int y) => min(x, y);
169
206
workspaceCapabilities:
170
207
withApplyEditSupport (emptyWorkspaceClientCapabilities));
171
208
172
- final codeActions = await getCodeActions (mainFileUri.toString ());
209
+ final codeActions = await getSourceCodeActions (mainFileUri.toString ());
173
210
final codeAction = findCommand (codeActions, Commands .organizeImports)! ;
174
211
175
212
final command = codeAction.map (
@@ -189,7 +226,7 @@ int minified(int x, int y) => min(x, y);
189
226
workspaceCapabilities:
190
227
withApplyEditSupport (emptyWorkspaceClientCapabilities));
191
228
192
- ofKind (CodeActionKind kind) => getCodeActions (
229
+ ofKind (CodeActionKind kind) => getSourceCodeActions (
193
230
mainFileUri.toString (),
194
231
kinds: [kind],
195
232
);
@@ -215,7 +252,7 @@ int minified(int x, int y) => min(x, y);
215
252
workspaceCapabilities:
216
253
withApplyEditSupport (emptyWorkspaceClientCapabilities));
217
254
218
- final codeActions = await getCodeActions (mainFileUri.toString ());
255
+ final codeActions = await getSourceCodeActions (mainFileUri.toString ());
219
256
final codeAction = findCommand (codeActions, Commands .organizeImports)! ;
220
257
221
258
final command = codeAction.map (
@@ -238,7 +275,7 @@ int minified(int x, int y) => min(x, y);
238
275
workspaceCapabilities:
239
276
withApplyEditSupport (emptyWorkspaceClientCapabilities));
240
277
241
- final codeActions = await getCodeActions (mainFileUri.toString ());
278
+ final codeActions = await getSourceCodeActions (mainFileUri.toString ());
242
279
final codeAction = findCommand (codeActions, Commands .organizeImports);
243
280
expect (codeAction, isNull);
244
281
}
@@ -247,14 +284,14 @@ int minified(int x, int y) => min(x, y);
247
284
newFile (mainFilePath, '' );
248
285
await initialize ();
249
286
250
- final codeActions = await getCodeActions (mainFileUri.toString ());
287
+ final codeActions = await getSourceCodeActions (mainFileUri.toString ());
251
288
final codeAction = findCommand (codeActions, Commands .organizeImports);
252
289
expect (codeAction, isNull);
253
290
}
254
291
}
255
292
256
293
@reflectiveTest
257
- class SortMembersSourceCodeActionsTest extends AbstractCodeActionsTest {
294
+ class SortMembersSourceCodeActionsTest extends AbstractSourceCodeActionsTest {
258
295
Future <void > test_appliesCorrectEdits_withDocumentChangesSupport () async {
259
296
const content = '''
260
297
String b;
@@ -269,7 +306,7 @@ class SortMembersSourceCodeActionsTest extends AbstractCodeActionsTest {
269
306
workspaceCapabilities: withApplyEditSupport (
270
307
withDocumentChangesSupport (emptyWorkspaceClientCapabilities)));
271
308
272
- final codeActions = await getCodeActions (mainFileUri.toString ());
309
+ final codeActions = await getSourceCodeActions (mainFileUri.toString ());
273
310
final codeAction = findCommand (codeActions, Commands .sortMembers)! ;
274
311
275
312
await verifyCodeActionEdits (codeAction, content, expectedContent,
@@ -290,7 +327,7 @@ class SortMembersSourceCodeActionsTest extends AbstractCodeActionsTest {
290
327
workspaceCapabilities:
291
328
withApplyEditSupport (emptyWorkspaceClientCapabilities));
292
329
293
- final codeActions = await getCodeActions (mainFileUri.toString ());
330
+ final codeActions = await getSourceCodeActions (mainFileUri.toString ());
294
331
final codeAction = findCommand (codeActions, Commands .sortMembers)! ;
295
332
296
333
await verifyCodeActionEdits (codeAction, content, expectedContent);
@@ -304,7 +341,7 @@ class SortMembersSourceCodeActionsTest extends AbstractCodeActionsTest {
304
341
workspaceCapabilities:
305
342
withApplyEditSupport (emptyWorkspaceClientCapabilities));
306
343
307
- await checkCodeActionAvailable (
344
+ await checkSourceCodeActionAvailable (
308
345
mainFileUri,
309
346
Commands .sortMembers,
310
347
'Sort Members' ,
@@ -318,7 +355,7 @@ class SortMembersSourceCodeActionsTest extends AbstractCodeActionsTest {
318
355
workspaceCapabilities:
319
356
withApplyEditSupport (emptyWorkspaceClientCapabilities));
320
357
321
- await checkCodeActionAvailable (
358
+ await checkSourceCodeActionAvailable (
322
359
mainFileUri,
323
360
Commands .sortMembers,
324
361
'Sort Members' ,
@@ -336,7 +373,7 @@ class SortMembersSourceCodeActionsTest extends AbstractCodeActionsTest {
336
373
workspaceCapabilities:
337
374
withApplyEditSupport (emptyWorkspaceClientCapabilities));
338
375
339
- final codeActions = await getCodeActions (mainFileUri.toString ());
376
+ final codeActions = await getSourceCodeActions (mainFileUri.toString ());
340
377
final codeAction = findCommand (codeActions, Commands .sortMembers)! ;
341
378
342
379
final command = codeAction.map (
@@ -369,7 +406,7 @@ class SortMembersSourceCodeActionsTest extends AbstractCodeActionsTest {
369
406
workspaceCapabilities:
370
407
withApplyEditSupport (emptyWorkspaceClientCapabilities));
371
408
372
- final codeActions = await getCodeActions (
409
+ final codeActions = await getSourceCodeActions (
373
410
mainFileUri.toString (),
374
411
triggerKind: CodeActionTriggerKind .Automatic ,
375
412
);
@@ -392,7 +429,7 @@ class SortMembersSourceCodeActionsTest extends AbstractCodeActionsTest {
392
429
workspaceCapabilities:
393
430
withApplyEditSupport (emptyWorkspaceClientCapabilities));
394
431
395
- final codeActions = await getCodeActions (mainFileUri.toString ());
432
+ final codeActions = await getSourceCodeActions (mainFileUri.toString ());
396
433
final codeAction = findCommand (codeActions, Commands .sortMembers)! ;
397
434
398
435
final command = codeAction.map (
@@ -414,8 +451,7 @@ class SortMembersSourceCodeActionsTest extends AbstractCodeActionsTest {
414
451
workspaceCapabilities:
415
452
withApplyEditSupport (emptyWorkspaceClientCapabilities));
416
453
417
- final codeActions =
418
- await getCodeActions (pubspecFileUri.toString (), range: startOfDocRange);
454
+ final codeActions = await getSourceCodeActions (pubspecFileUri.toString ());
419
455
expect (codeActions, isEmpty);
420
456
}
421
457
@@ -427,7 +463,7 @@ class SortMembersSourceCodeActionsTest extends AbstractCodeActionsTest {
427
463
workspaceCapabilities:
428
464
withApplyEditSupport (emptyWorkspaceClientCapabilities));
429
465
430
- final codeActions = await getCodeActions (mainFileUri.toString ());
466
+ final codeActions = await getSourceCodeActions (mainFileUri.toString ());
431
467
final codeAction = findCommand (codeActions, Commands .sortMembers);
432
468
expect (codeAction, isNull);
433
469
}
@@ -436,7 +472,7 @@ class SortMembersSourceCodeActionsTest extends AbstractCodeActionsTest {
436
472
newFile (mainFilePath, '' );
437
473
await initialize ();
438
474
439
- final codeActions = await getCodeActions (mainFileUri.toString ());
475
+ final codeActions = await getSourceCodeActions (mainFileUri.toString ());
440
476
final codeAction = findCommand (codeActions, Commands .sortMembers);
441
477
expect (codeAction, isNull);
442
478
}
0 commit comments