Skip to content

Commit ac1a1b0

Browse files
authored
Move some e2e tests which use flags or options to package_test.dart (#2348)
1 parent e4c2fda commit ac1a1b0

File tree

8 files changed

+292
-166
lines changed

8 files changed

+292
-166
lines changed

lib/src/package_meta.dart

+11-9
Original file line numberDiff line numberDiff line change
@@ -308,7 +308,7 @@ class _FilePackageMeta extends PubPackageMeta {
308308
if (!_setHostedAt) {
309309
_setHostedAt = true;
310310
// Search for 'hosted/host.domain' as the immediate parent directories,
311-
// and verify that a directory _temp exists alongside hosted. Those
311+
// and verify that a directory "_temp" exists alongside "hosted". Those
312312
// seem to be the only guaranteed things to exist if we're from a pub
313313
// cache.
314314
//
@@ -317,14 +317,16 @@ class _FilePackageMeta extends PubPackageMeta {
317317
// a pub library to do this.
318318
// People could have a pub cache at root with Windows drive mappings.
319319
if (pathContext.split(pathContext.canonicalize(dir.path)).length >= 3) {
320-
var pubCacheRoot = dir.parent.parent.parent.path;
321-
var hosted = pathContext.canonicalize(dir.parent.parent.path);
322-
var hostname = pathContext.canonicalize(dir.parent.path);
323-
if (pathContext.basename(hosted) == 'hosted' &&
324-
resourceProvider
325-
.getFolder(pathContext.join(pubCacheRoot, '_temp'))
326-
.exists) {
327-
_hostedAt = pathContext.basename(hostname);
320+
var pubCacheRoot = dir.parent.parent.parent?.path;
321+
if (pubCacheRoot != null) {
322+
var hosted = pathContext.canonicalize(dir.parent.parent.path);
323+
var hostname = pathContext.canonicalize(dir.parent.path);
324+
if (pathContext.basename(hosted) == 'hosted' &&
325+
resourceProvider
326+
.getFolder(pathContext.join(pubCacheRoot, '_temp'))
327+
.exists) {
328+
_hostedAt = pathContext.basename(hostname);
329+
}
328330
}
329331
}
330332
}

test/end2end/dartdoc_test.dart

+2-83
Original file line numberDiff line numberDiff line change
@@ -28,16 +28,12 @@ Folder _getFolder(String p) => _resourceProvider
2828
final _testPackageDir = _getFolder('testing/test_package');
2929

3030
final Folder _testPackageBadDir = _getFolder('testing/test_package_bad');
31-
final Folder _testPackageMinimumDir =
32-
_getFolder('testing/test_package_minimum');
3331
final Folder _testSkyEnginePackage = _getFolder('testing/sky_engine');
3432
final Folder _testPackageIncludeExclude =
3533
_getFolder('testing/test_package_include_exclude');
3634
final Folder _testPackageImportExportError =
3735
_getFolder('testing/test_package_import_export_error');
3836
final Folder _testPackageOptions = _getFolder('testing/test_package_options');
39-
final Folder _testPackageOptionsImporter =
40-
_getFolder('testing/test_package_options_importer');
4137
final _testPackageCustomTemplates =
4238
_getFolder('testing/test_package_custom_templates');
4339

@@ -162,43 +158,6 @@ void main() {
162158
contains('Tool "drill" returned non-zero exit code'));
163159
});
164160

165-
group('Option handling with cross-linking', () {
166-
DartdocResults results;
167-
Package testPackageOptions;
168-
Folder tempDir;
169-
170-
setUpAll(() async {
171-
tempDir = resourceProvider.createSystemTemp('dartdoc.test.');
172-
results = await (await buildDartdoc(
173-
['--link-to-remote'], _testPackageOptionsImporter, tempDir))
174-
.generateDocsBase();
175-
testPackageOptions = results.packageGraph.packages
176-
.firstWhere((Package p) => p.name == 'test_package_options');
177-
});
178-
179-
test('linkToUrl', () async {
180-
var main = testPackageOptions.allLibraries
181-
.firstWhere((Library l) => l.name == 'main');
182-
var UseAnExampleHere = main.allClasses
183-
.firstWhere((Class c) => c.name == 'UseAnExampleHere');
184-
expect(testPackageOptions.documentedWhere,
185-
equals(DocumentLocation.remote));
186-
expect(
187-
UseAnExampleHere.href,
188-
equals(
189-
'https://nonexistingsuperpackage.topdomain/test_package_options/0.0.1/main/UseAnExampleHere-class.html'));
190-
});
191-
192-
test('includeExternal works via remote', () async {
193-
var unusualLibrary = testPackageOptions.allLibraries
194-
.firstWhere((Library l) => l.name == 'unusualLibrary');
195-
expect(
196-
unusualLibrary.allClasses
197-
.firstWhere((Class c) => c.name == 'Something'),
198-
isNotNull);
199-
});
200-
});
201-
202161
test('with broken reexport chain', () async {
203162
var dartdoc =
204163
await buildDartdoc([], _testPackageImportExportError, tempDir);
@@ -246,13 +205,6 @@ void main() {
246205
});
247206
});
248207

249-
test('package without version produces valid semver in docs', () async {
250-
var dartdoc = await buildDartdoc([], _testPackageMinimumDir, tempDir);
251-
var results = await dartdoc.generateDocs();
252-
var p = results.packageGraph;
253-
expect(p.defaultPackage.version, equals('0.0.0-unknown'));
254-
});
255-
256208
test('basic interlinking test', () async {
257209
var dartdoc = await buildDartdoc([], _testPackageDir, tempDir);
258210
var results = await dartdoc.generateDocs();
@@ -327,41 +279,9 @@ void main() {
327279
expect(e is DartdocFailure, isTrue);
328280
}
329281
},
330-
skip: 'Blocked on getting analysis errors with correct interpretation'
282+
skip: 'Blocked on getting analysis errors with correct interpretation '
331283
'from analysis_options');
332284

333-
test('generate docs including a single library', () async {
334-
var dartdoc =
335-
await buildDartdoc(['--include', 'fake'], _testPackageDir, tempDir);
336-
337-
var results = await dartdoc.generateDocs();
338-
expect(results.packageGraph, isNotNull);
339-
340-
var p = results.packageGraph;
341-
expect(p.defaultPackage.name, 'test_package');
342-
expect(p.defaultPackage.hasDocumentationFile, isTrue);
343-
expect(p.localPublicLibraries, hasLength(1));
344-
expect(p.localPublicLibraries.map((lib) => lib.name), contains('fake'));
345-
});
346-
347-
test('generate docs excluding a single library', () async {
348-
var dartdoc =
349-
await buildDartdoc(['--exclude', 'fake'], _testPackageDir, tempDir);
350-
351-
var results = await dartdoc.generateDocs();
352-
expect(results.packageGraph, isNotNull);
353-
354-
var p = results.packageGraph;
355-
expect(p.defaultPackage.name, 'test_package');
356-
expect(p.defaultPackage.hasDocumentationFile, isTrue);
357-
// Plus 1 here because we're excluding only two libraries (the specified
358-
// one and the <nodoc> 'excluded' library) instead of three.
359-
expect(
360-
p.localPublicLibraries, hasLength(kTestPackagePublicLibraries + 1));
361-
expect(p.localPublicLibraries.map((lib) => lib.name).contains('fake'),
362-
isFalse);
363-
});
364-
365285
test('generate docs for package with embedder yaml', () async {
366286
var dartdoc = await buildDartdoc([], _testSkyEnginePackage, tempDir);
367287

@@ -443,8 +363,7 @@ void main() {
443363
});
444364

445365
test('rel canonical prefix does not include base href', () async {
446-
// ignore: omit_local_variable_types
447-
final String prefix = 'foo.bar/baz';
366+
final prefix = 'foo.bar/baz';
448367
var dartdoc = await buildDartdoc(
449368
['--rel-canonical-prefix', prefix], _testPackageDir, tempDir);
450369
await dartdoc.generateDocsBase();

0 commit comments

Comments
 (0)