4
4
5
5
import 'dart:io' ;
6
6
7
- import 'package:cli_util/cli_logging.dart' ;
8
7
import 'package:path/path.dart' as path;
9
8
import 'package:test/test.dart' ;
10
9
@@ -17,13 +16,27 @@ void main() {
17
16
/// Enable to run from local source (useful in development).
18
17
const runFromSource = false ;
19
18
19
+ final bullet = '•' ;
20
+ final nonAnsiBullet = '-' ;
21
+
22
+ /// Allow for different bullets; depending on how the test harness is run,
23
+ /// subprocesses may decide to give us ansi bullets or normal bullets.
24
+ /// TODO(jcollins): find a way to detect which one we should be expecting.
25
+ Matcher stringContainsInOrderWithVariableBullets (List <String > substrings) {
26
+ var substitutedSubstrings = substrings;
27
+ if (substrings.any ((s) => s.contains (bullet))) {
28
+ substitutedSubstrings =
29
+ substrings.map ((s) => s.replaceAll (bullet, nonAnsiBullet)).toList ();
30
+ }
31
+ return anyOf (stringContainsInOrder (substrings),
32
+ stringContainsInOrder (substitutedSubstrings));
33
+ }
34
+
20
35
void defineFix () {
21
36
TestProject ? p;
22
37
23
38
late ProcessResult result;
24
39
25
- final bullet = Logger .standard ().ansi.bullet;
26
-
27
40
setUp (() => p = null );
28
41
29
42
tearDown (() async => await p? .dispose ());
@@ -136,7 +149,7 @@ linter:
136
149
expect (result.stderr, isEmpty);
137
150
expect (
138
151
result.stdout,
139
- stringContainsInOrder ([
152
+ stringContainsInOrderWithVariableBullets ([
140
153
'Applying fixes...' ,
141
154
'lib${Platform .pathSeparator }main.dart' ,
142
155
' prefer_single_quotes $bullet 1 fix' ,
@@ -166,7 +179,7 @@ linter:
166
179
expect (result.stderr, isEmpty);
167
180
expect (
168
181
result.stdout,
169
- stringContainsInOrder ([
182
+ stringContainsInOrderWithVariableBullets ([
170
183
'3 proposed fixes in 1 file.' ,
171
184
'lib${Platform .pathSeparator }main.dart' ,
172
185
' annotate_overrides $bullet 1 fix' ,
@@ -201,7 +214,7 @@ linter:
201
214
expect (result.stderr, isEmpty);
202
215
expect (
203
216
result.stdout,
204
- stringContainsInOrder ([
217
+ stringContainsInOrderWithVariableBullets ([
205
218
'1 proposed fix in 1 file.' ,
206
219
'lib${Platform .pathSeparator }main.dart' ,
207
220
' prefer_single_quotes $bullet 1 fix' ,
@@ -229,7 +242,7 @@ linter:
229
242
expect (result.stderr, isEmpty);
230
243
expect (
231
244
result.stdout,
232
- stringContainsInOrder ([
245
+ stringContainsInOrderWithVariableBullets ([
233
246
"Unable to compute fixes: The diagnostic '_undefined_' is not defined by the analyzer." ,
234
247
]));
235
248
});
@@ -251,7 +264,7 @@ linter:
251
264
expect (result.stderr, isEmpty);
252
265
expect (
253
266
result.stdout,
254
- stringContainsInOrder ([
267
+ stringContainsInOrderWithVariableBullets ([
255
268
'Applying fixes...' ,
256
269
'main.dart' ,
257
270
' prefer_single_quotes $bullet 1 fix' ,
@@ -281,7 +294,7 @@ linter:
281
294
expect (result.stderr, isEmpty);
282
295
expect (
283
296
result.stdout,
284
- stringContainsInOrder ([
297
+ stringContainsInOrderWithVariableBullets ([
285
298
'Applying fixes...' ,
286
299
'lib${Platform .pathSeparator }main.dart' ,
287
300
' prefer_single_quotes $bullet 1 fix' ,
@@ -299,7 +312,7 @@ linter:
299
312
expect (result.stderr, isEmpty);
300
313
expect (
301
314
result.stdout,
302
- stringContainsInOrder ([
315
+ stringContainsInOrderWithVariableBullets ([
303
316
"Unable to compute fixes: The diagnostic '_undefined_' is not defined by the analyzer." ,
304
317
]));
305
318
});
@@ -323,7 +336,8 @@ linter:
323
336
workingDir: p! .dirPath);
324
337
expect (result.exitCode, 0 );
325
338
expect (result.stderr, isEmpty);
326
- expect (result.stdout, stringContainsInOrder (['Nothing to fix!' ]));
339
+ expect (result.stdout,
340
+ stringContainsInOrderWithVariableBullets (['Nothing to fix!' ]));
327
341
});
328
342
329
343
test ('--apply --code=(multiple: one undefined)' , () async {
@@ -353,7 +367,7 @@ linter:
353
367
expect (result.stderr, isEmpty);
354
368
expect (
355
369
result.stdout,
356
- stringContainsInOrder ([
370
+ stringContainsInOrderWithVariableBullets ([
357
371
"Unable to compute fixes: The diagnostic '_undefined_' is not defined by the analyzer." ,
358
372
]));
359
373
});
@@ -385,7 +399,7 @@ linter:
385
399
expect (result.stderr, isEmpty);
386
400
expect (
387
401
result.stdout,
388
- stringContainsInOrder ([
402
+ stringContainsInOrderWithVariableBullets ([
389
403
'Applying fixes...' ,
390
404
'lib${Platform .pathSeparator }main.dart' ,
391
405
' prefer_single_quotes $bullet 1 fix' ,
@@ -416,7 +430,7 @@ linter:
416
430
expect (result.stderr, isEmpty);
417
431
expect (
418
432
result.stdout,
419
- stringContainsInOrder ([
433
+ stringContainsInOrderWithVariableBullets ([
420
434
'Applying fixes...' ,
421
435
'lib${Platform .pathSeparator }main.dart' ,
422
436
' prefer_single_quotes $bullet 1 fix' ,
@@ -441,7 +455,7 @@ linter:
441
455
expect (result.stderr, isEmpty);
442
456
expect (
443
457
result.stdout,
444
- stringContainsInOrder ([
458
+ stringContainsInOrderWithVariableBullets ([
445
459
'Applying fixes...' ,
446
460
'lib${Platform .pathSeparator }main.dart' ,
447
461
' prefer_single_quotes $bullet 1 fix' ,
@@ -466,7 +480,7 @@ linter:
466
480
expect (result.stderr, isEmpty);
467
481
expect (
468
482
result.stdout,
469
- stringContainsInOrder ([
483
+ stringContainsInOrderWithVariableBullets ([
470
484
'Applying fixes...' ,
471
485
'lib${Platform .pathSeparator }main.dart' ,
472
486
' prefer_double_quotes $bullet 2 fixes' ,
@@ -531,7 +545,7 @@ linter:
531
545
expect (result.stderr, isEmpty);
532
546
expect (
533
547
result.stdout,
534
- stringContainsInOrder ([
548
+ stringContainsInOrderWithVariableBullets ([
535
549
'Applying fixes...' ,
536
550
'lib${Platform .pathSeparator }main.dart' ,
537
551
' prefer_single_quotes $bullet 1 fix' ,
0 commit comments