@@ -9,7 +9,6 @@ import 'dart:io';
99
1010import 'package:dartdoc/dartdoc.dart' ;
1111import 'package:dartdoc/src/model.dart' ;
12- import 'package:dartdoc/src/package_meta.dart' ;
1312import 'package:path/path.dart' as pathLib;
1413import 'package:test/test.dart' ;
1514
@@ -28,24 +27,51 @@ void main() {
2827 delete (tempDir);
2928 });
3029
31- Future <DartdocGeneratorOptionContext > generatorContextFromArgvTemp (
32- List <String > argv) async {
33- return await generatorContextFromArgv (argv..addAll (outputParam));
30+ Future <Dartdoc > buildDartdoc (
31+ List <String > argv, Directory packageRoot) async {
32+ return await Dartdoc .withDefaultGenerators (await generatorContextFromArgv (
33+ argv..addAll (['--input' , packageRoot.path])..addAll (outputParam)));
3434 }
3535
36+ group ('include/exclude parameters' , () {
37+ test ('with config file' , () async {
38+ Dartdoc dartdoc = await buildDartdoc ([], testPackageImportExport);
39+ DartdocResults results = await dartdoc.generateDocs ();
40+ PackageGraph p = results.packageGraph;
41+ expect (p.localPublicLibraries.map ((l) => l.name),
42+ orderedEquals (['explicitly_included' , 'more_included' ]));
43+ });
44+
45+ test ('with include command line argument' , () async {
46+ Dartdoc dartdoc = await buildDartdoc (
47+ ['--include' , 'another_included' ], testPackageImportExport);
48+ DartdocResults results = await dartdoc.generateDocs ();
49+ PackageGraph p = results.packageGraph;
50+ expect (p.localPublicLibraries.length, equals (1 ));
51+ expect (p.localPublicLibraries.first.name, equals ('another_included' ));
52+ });
53+
54+ test ('with exclude command line argument' , () async {
55+ Dartdoc dartdoc = await buildDartdoc (
56+ ['--exclude' , 'more_included' ], testPackageImportExport);
57+ DartdocResults results = await dartdoc.generateDocs ();
58+ PackageGraph p = results.packageGraph;
59+ expect (p.localPublicLibraries.length, equals (1 ));
60+ expect (
61+ p.localPublicLibraries.first.name, equals ('explicitly_included' ));
62+ });
63+ });
64+
3665 test ('package without version produces valid semver in docs' , () async {
37- Dartdoc dartdoc = await Dartdoc .withDefaultGenerators (
38- await generatorContextFromArgvTemp (
39- ['--input' , testPackageMinimumDir.path]));
66+ Dartdoc dartdoc = await buildDartdoc ([], testPackageMinimumDir);
4067 DartdocResults results = await dartdoc.generateDocs ();
4168 PackageGraph p = results.packageGraph;
42- assert (p.defaultPackage.version == '0.0.0-unknown' );
69+ expect (p.defaultPackage.version, equals ( '0.0.0-unknown' ) );
4370 });
4471
4572 test ('basic interlinking test' , () async {
46- Dartdoc dartdoc = await Dartdoc .withDefaultGenerators (
47- await generatorContextFromArgvTemp (
48- ['--input' , testPackageDir.path, '--link-to-remote' ]));
73+ Dartdoc dartdoc =
74+ await buildDartdoc (['--link-to-remote' ], testPackageDir);
4975 DartdocResults results = await dartdoc.generateDocs ();
5076 PackageGraph p = results.packageGraph;
5177 Package tuple = p.publicPackages.firstWhere ((p) => p.name == 'tuple' );
@@ -73,8 +99,7 @@ void main() {
7399
74100 test ('generate docs for ${pathLib .basename (testPackageDir .path )} works' ,
75101 () async {
76- Dartdoc dartdoc = await Dartdoc .withDefaultGenerators (
77- await generatorContextFromArgvTemp (['--input' , testPackageDir.path]));
102+ Dartdoc dartdoc = await buildDartdoc ([], testPackageDir);
78103
79104 DartdocResults results = await dartdoc.generateDocs ();
80105 expect (results.packageGraph, isNotNull);
@@ -89,9 +114,7 @@ void main() {
89114
90115 test ('generate docs for ${pathLib .basename (testPackageBadDir .path )} fails' ,
91116 () async {
92- Dartdoc dartdoc = await Dartdoc .withDefaultGenerators (
93- await generatorContextFromArgvTemp (
94- ['--input' , testPackageBadDir.path]));
117+ Dartdoc dartdoc = await buildDartdoc ([], testPackageBadDir);
95118
96119 try {
97120 await dartdoc.generateDocs ();
@@ -102,9 +125,7 @@ void main() {
102125 });
103126
104127 test ('generate docs for a package that does not have a readme' , () async {
105- Dartdoc dartdoc = await Dartdoc .withDefaultGenerators (
106- await generatorContextFromArgvTemp (
107- ['--input' , testPackageWithNoReadme.path]));
128+ Dartdoc dartdoc = await buildDartdoc ([], testPackageWithNoReadme);
108129
109130 DartdocResults results = await dartdoc.generateDocs ();
110131 expect (results.packageGraph, isNotNull);
@@ -117,9 +138,8 @@ void main() {
117138 });
118139
119140 test ('generate docs including a single library' , () async {
120- Dartdoc dartdoc = await Dartdoc .withDefaultGenerators (
121- await generatorContextFromArgvTemp (
122- ['--input' , testPackageDir.path, '--include' , 'fake' ]));
141+ Dartdoc dartdoc =
142+ await buildDartdoc (['--include' , 'fake' ], testPackageDir);
123143
124144 DartdocResults results = await dartdoc.generateDocs ();
125145 expect (results.packageGraph, isNotNull);
@@ -132,9 +152,8 @@ void main() {
132152 });
133153
134154 test ('generate docs excluding a single library' , () async {
135- Dartdoc dartdoc = await Dartdoc .withDefaultGenerators (
136- await generatorContextFromArgvTemp (
137- ['--input' , testPackageDir.path, '--exclude' , 'fake' ]));
155+ Dartdoc dartdoc =
156+ await buildDartdoc (['--exclude' , 'fake' ], testPackageDir);
138157
139158 DartdocResults results = await dartdoc.generateDocs ();
140159 expect (results.packageGraph, isNotNull);
@@ -148,11 +167,7 @@ void main() {
148167 });
149168
150169 test ('generate docs for package with embedder yaml' , () async {
151- PackageMeta meta = new PackageMeta .fromDir (testPackageWithEmbedderYaml);
152- if (meta.needsPubGet) meta.runPubGet ();
153- Dartdoc dartdoc = await Dartdoc .withDefaultGenerators (
154- await generatorContextFromArgvTemp (
155- ['--input' , testPackageWithEmbedderYaml.path]));
170+ Dartdoc dartdoc = await buildDartdoc ([], testPackageWithEmbedderYaml);
156171
157172 DartdocResults results = await dartdoc.generateDocs ();
158173 expect (results.packageGraph, isNotNull);
0 commit comments