@@ -40,6 +40,7 @@ class ConvertedOption {
40
40
41
41
void main () {
42
42
var resourceProvider = pubPackageMetaProvider.resourceProvider;
43
+ var path = pubPackageMetaProvider.resourceProvider.pathContext;
43
44
44
45
late final DartdocOptionRoot dartdocOptionSetFiles;
45
46
late final DartdocOptionRoot dartdocOptionSetArgs;
@@ -174,34 +175,30 @@ void main() {
174
175
));
175
176
176
177
tempDir = resourceProvider.createSystemTemp ('options_test' );
177
- firstDir = resourceProvider
178
- .getFolder (resourceProvider.pathContext.join (tempDir.path, 'firstDir' ))
178
+ firstDir = resourceProvider.getFolder (path.join (tempDir.path, 'firstDir' ))
179
179
..create ();
180
- firstExisting = resourceProvider. getFile (
181
- resourceProvider.pathContext .join (firstDir.path, 'existing.dart' ))
180
+ firstExisting = resourceProvider
181
+ . getFile (path .join (firstDir.path, 'existing.dart' ))
182
182
..writeAsStringSync ('' );
183
- secondDir = resourceProvider
184
- .getFolder (resourceProvider.pathContext.join (tempDir.path, 'secondDir' ))
183
+ secondDir = resourceProvider.getFolder (path.join (tempDir.path, 'secondDir' ))
185
184
..create ();
186
185
resourceProvider
187
- .getFile (
188
- resourceProvider.pathContext.join (secondDir.path, 'existing.dart' ))
186
+ .getFile (path.join (secondDir.path, 'existing.dart' ))
189
187
.writeAsStringSync ('' );
190
188
191
- secondDirFirstSub = resourceProvider. getFolder (
192
- resourceProvider.pathContext .join (secondDir.path, 'firstSub' ))
189
+ secondDirFirstSub = resourceProvider
190
+ . getFolder (path .join (secondDir.path, 'firstSub' ))
193
191
..create ();
194
- secondDirSecondSub = resourceProvider. getFolder (
195
- resourceProvider.pathContext .join (secondDir.path, 'secondSub' ))
192
+ secondDirSecondSub = resourceProvider
193
+ . getFolder (path .join (secondDir.path, 'secondSub' ))
196
194
..create ();
197
195
198
- dartdocOptionsOne = resourceProvider.getFile (resourceProvider.pathContext
199
- .join (firstDir.path, 'dartdoc_options.yaml' ));
200
- dartdocOptionsTwo = resourceProvider.getFile (resourceProvider.pathContext
201
- .join (secondDir.path, 'dartdoc_options.yaml' ));
202
- var dartdocOptionsTwoFirstSub = resourceProvider.getFile (resourceProvider
203
- .pathContext
204
- .join (secondDirFirstSub.path, 'dartdoc_options.yaml' ));
196
+ dartdocOptionsOne = resourceProvider
197
+ .getFile (path.join (firstDir.path, 'dartdoc_options.yaml' ));
198
+ dartdocOptionsTwo = resourceProvider
199
+ .getFile (path.join (secondDir.path, 'dartdoc_options.yaml' ));
200
+ var dartdocOptionsTwoFirstSub = resourceProvider
201
+ .getFile (path.join (secondDirFirstSub.path, 'dartdoc_options.yaml' ));
205
202
206
203
dartdocOptionsOne.writeAsStringSync ('''
207
204
dartdoc:
@@ -247,6 +244,42 @@ dartdoc:
247
244
}
248
245
});
249
246
247
+ group ('invalid data in yaml' , () {
248
+ late Folder invalid;
249
+ late File dartdocOptionsInvalid;
250
+
251
+ setUp (() {
252
+ invalid = resourceProvider.getFolder (path.join (tempDir.path, 'invalid' ))
253
+ ..create ();
254
+ dartdocOptionsInvalid = resourceProvider
255
+ .getFile (path.join (invalid.path, 'dartdoc_options.yaml' ));
256
+ dartdocOptionsInvalid.writeAsStringSync ('''
257
+ dartdoc:
258
+ categoryOrder: 'options_one'
259
+ ''' );
260
+ });
261
+
262
+ tearDown (() {
263
+ try {
264
+ invalid.delete ();
265
+ } catch (e) {
266
+ print ('Ignoring error trying to delete temp: $e ' );
267
+ }
268
+ });
269
+
270
+ test ('validate correct throw for wrong data type' , () {
271
+ dartdocOptionSetFiles.parseArguments ([]);
272
+ expect (() {
273
+ dartdocOptionSetFiles['categoryOrder' ].valueAt (invalid);
274
+ },
275
+ throwsA (const TypeMatcher <DartdocOptionError >().having (
276
+ (e) => e.message,
277
+ 'message' ,
278
+ equals ('Error in dartdoc_options.yaml, dartdoc.categoryOrder: '
279
+ 'expecting a list of Strings, got `options_one`' ))));
280
+ });
281
+ });
282
+
250
283
group ('new style synthetic option' , () {
251
284
test ('validate argument override changes value' , () {
252
285
dartdocOptionSetSynthetic.parseArguments (['--my-special-integer' , '12' ]);
@@ -272,10 +305,8 @@ dartdoc:
272
305
} on DartdocFileMissing catch (e) {
273
306
errorMessage = e.message;
274
307
}
275
- var missingPath = resourceProvider.pathContext.canonicalize (
276
- resourceProvider.pathContext.join (
277
- resourceProvider.pathContext.absolute (tempDir.path),
278
- 'existing.dart' ));
308
+ var missingPath = path.canonicalize (
309
+ path.join (path.absolute (tempDir.path), 'existing.dart' ));
279
310
expect (
280
311
errorMessage,
281
312
equals ('Synthetic configuration option vegetableLoaderChecked from '
@@ -296,7 +327,7 @@ dartdoc:
296
327
// Since this is an ArgSynth, it ignores the yaml option and resolves to the CWD
297
328
expect (
298
329
dartdocOptionSetSynthetic['nonCriticalFileOption' ].valueAt (firstDir),
299
- equals (resourceProvider.pathContext .canonicalize ('stuff.zip' )));
330
+ equals (path .canonicalize ('stuff.zip' )));
300
331
});
301
332
302
333
test ('ArgSynth defaults to synthetic' , () {
@@ -320,10 +351,8 @@ dartdoc:
320
351
} on DartdocFileMissing catch (e) {
321
352
errorMessage = e.message;
322
353
}
323
- var missingPath = resourceProvider.pathContext.join (
324
- resourceProvider.pathContext
325
- .canonicalize (resourceProvider.pathContext.current),
326
- 'override-not-existing.dart' );
354
+ var missingPath = path.join (
355
+ path.canonicalize (path.current), 'override-not-existing.dart' );
327
356
expect (
328
357
errorMessage,
329
358
equals ('Argument --file-option, set to override-not-existing.dart, '
@@ -386,20 +415,15 @@ dartdoc:
386
415
});
387
416
388
417
group ('glob options' , () {
389
- String canonicalize (String path) =>
390
- resourceProvider.pathContext.canonicalize (path);
418
+ String canonicalize (String inputPath) => path.canonicalize (inputPath);
391
419
392
420
test ('work via the command line' , () {
393
421
dartdocOptionSetAll
394
422
.parseArguments (['--glob-option' , p.join ('foo' , '**' )]);
395
423
expect (
396
424
dartdocOptionSetAll['globOption' ].valueAtCurrent (),
397
425
equals ([
398
- resourceProvider.pathContext.joinAll ([
399
- canonicalize (resourceProvider.pathContext.current),
400
- 'foo' ,
401
- '**'
402
- ])
426
+ path.joinAll ([canonicalize (path.current), 'foo' , '**' ])
403
427
]));
404
428
});
405
429
@@ -408,25 +432,21 @@ dartdoc:
408
432
expect (
409
433
dartdocOptionSetAll['globOption' ].valueAt (secondDir),
410
434
equals ([
411
- canonicalize (
412
- resourceProvider.pathContext.join (secondDir.path, 'q*.html' )),
413
- canonicalize (
414
- resourceProvider.pathContext.join (secondDir.path, 'e*.dart' )),
435
+ canonicalize (path.join (secondDir.path, 'q*.html' )),
436
+ canonicalize (path.join (secondDir.path, 'e*.dart' )),
415
437
]));
416
438
// No child override, should be the same as parent
417
439
expect (
418
440
dartdocOptionSetAll['globOption' ].valueAt (secondDirSecondSub),
419
441
equals ([
420
- canonicalize (
421
- resourceProvider.pathContext.join (secondDir.path, 'q*.html' )),
422
- canonicalize (
423
- resourceProvider.pathContext.join (secondDir.path, 'e*.dart' )),
442
+ canonicalize (path.join (secondDir.path, 'q*.html' )),
443
+ canonicalize (path.join (secondDir.path, 'e*.dart' )),
424
444
]));
425
445
// Child directory overrides
426
446
expect (
427
447
dartdocOptionSetAll['globOption' ].valueAt (secondDirFirstSub),
428
448
equals ([
429
- resourceProvider.pathContext .joinAll (
449
+ path .joinAll (
430
450
[canonicalize (secondDirFirstSub.path), '**' , '*.dart' ])
431
451
]));
432
452
});
@@ -464,10 +484,8 @@ dartdoc:
464
484
} on DartdocFileMissing catch (e) {
465
485
errorMessage = e.message;
466
486
}
467
- var missingPath = resourceProvider.pathContext.join (
468
- resourceProvider.pathContext
469
- .canonicalize (resourceProvider.pathContext.current),
470
- 'not_found.txt' );
487
+ var missingPath =
488
+ path.join (path.canonicalize (path.current), 'not_found.txt' );
471
489
expect (
472
490
errorMessage,
473
491
equals ('Argument --single-file, set to not_found.txt, resolves to '
@@ -478,7 +496,7 @@ dartdoc:
478
496
String ? errorMessage;
479
497
dartdocOptionSetArgs.parseArguments ([
480
498
'--files-flag' ,
481
- resourceProvider.pathContext .absolute (firstExisting.path),
499
+ path .absolute (firstExisting.path),
482
500
'--files-flag' ,
483
501
'other_not_found.txt'
484
502
]);
@@ -487,14 +505,12 @@ dartdoc:
487
505
} on DartdocFileMissing catch (e) {
488
506
errorMessage = e.message;
489
507
}
490
- var missingPath = resourceProvider.pathContext.join (
491
- resourceProvider.pathContext
492
- .canonicalize (resourceProvider.pathContext.current),
493
- 'other_not_found.txt' );
508
+ var missingPath =
509
+ path.join (path.canonicalize (path.current), 'other_not_found.txt' );
494
510
expect (
495
511
errorMessage,
496
512
equals ('Argument --files-flag, set to '
497
- '[${resourceProvider . pathContext .absolute (firstExisting .path )}, '
513
+ '[${path .absolute (firstExisting .path )}, '
498
514
'other_not_found.txt], resolves to missing path: '
499
515
'"$missingPath "' ));
500
516
});
@@ -506,10 +522,8 @@ dartdoc:
506
522
.parseArguments (['--unimportant-file' , 'this-will-never-exist' ]);
507
523
expect (
508
524
dartdocOptionSetArgs['unimportantFile' ].valueAt (tempDir),
509
- equals (resourceProvider.pathContext.join (
510
- resourceProvider.pathContext
511
- .canonicalize (resourceProvider.pathContext.current),
512
- 'this-will-never-exist' )));
525
+ equals (path.join (
526
+ path.canonicalize (path.current), 'this-will-never-exist' )));
513
527
});
514
528
515
529
test ('DartdocOptionArgOnly has correct flag names' , () {
0 commit comments