Skip to content

Commit 1fea0f8

Browse files
authored
Always run markdown rendering against the experiments package (#2653)
* Always run markdown rendering against the experiments package * Hide experiment package from stable build
1 parent 822504a commit 1fea0f8

File tree

3 files changed

+22
-6
lines changed

3 files changed

+22
-6
lines changed

test/end2end/dartdoc_test.dart

+14-1
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,14 @@ import 'package:dartdoc/src/io_utils.dart';
1414
import 'package:dartdoc/src/logging.dart';
1515
import 'package:dartdoc/src/warnings.dart';
1616
import 'package:path/path.dart' as path;
17+
import 'package:pub_semver/pub_semver.dart';
1718
import 'package:test/test.dart';
1819

1920
import '../src/utils.dart';
2021

22+
final _experimentPackageAllowed =
23+
VersionRange(min: Version.parse('2.14.0-0'), includeMin: true);
24+
2125
final _resourceProvider = pubPackageMetaProvider.resourceProvider;
2226
final _pathContext = _resourceProvider.pathContext;
2327

@@ -33,8 +37,10 @@ final Folder _testPackageIncludeExclude =
3337
final Folder _testPackageImportExportError =
3438
_getFolder('testing/test_package_import_export_error');
3539
final Folder _testPackageOptions = _getFolder('testing/test_package_options');
36-
final _testPackageCustomTemplates =
40+
final Folder _testPackageCustomTemplates =
3741
_getFolder('testing/test_package_custom_templates');
42+
final Folder _testPackageExperiments =
43+
_getFolder('testing/test_package_experiments');
3844

3945
/// Convenience factory to build a [DartdocGeneratorOptionContext] and associate
4046
/// it with a [DartdocOptionSet] based on the current working directory and/or
@@ -364,6 +370,13 @@ void main() {
364370
await dartdoc.generateDocsBase();
365371
});
366372

373+
test('generating markdown docs for experimental features does not crash',
374+
() async {
375+
var dartdoc = await buildDartdoc(
376+
['--format', 'md'], _testPackageExperiments, tempDir);
377+
await dartdoc.generateDocsBase();
378+
}, skip: !_experimentPackageAllowed.allows(platformVersion));
379+
367380
test('rel canonical prefix does not include base href', () async {
368381
final prefix = 'foo.bar/baz';
369382
var dartdoc = await buildDartdoc(

test/end2end/model_special_cases_test.dart

+2-5
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,6 @@ import 'package:test/test.dart';
2121

2222
import '../src/utils.dart' as utils;
2323

24-
final String _platformVersionString = Platform.version.split(' ').first;
25-
final Version _platformVersion = Version.parse(_platformVersionString);
26-
2724
final _testPackageGraphExperimentsMemo = AsyncMemoizer<PackageGraph>();
2825
Future<PackageGraph> get _testPackageGraphExperiments =>
2926
_testPackageGraphExperimentsMemo.runOnce(() => utils.bootBasicPackage(
@@ -128,7 +125,7 @@ void main() {
128125
expect(tripleShiftF.isInherited, isFalse);
129126
expect(tripleShiftF.modelType.returnType.name, equals('F'));
130127
});
131-
}, skip: !_tripleShiftAllowed.allows(_platformVersion));
128+
}, skip: !_tripleShiftAllowed.allows(utils.platformVersion));
132129

133130
group('generic metadata', () {
134131
Library genericMetadata;
@@ -199,7 +196,7 @@ void main() {
199196
.map((p) => p.features.map((f) => f.linkedNameWithParameters)),
200197
everyElement(contains(ab0)));
201198
});
202-
}, skip: !_genericMetadataAllowed.allows(_platformVersion));
199+
}, skip: !_genericMetadataAllowed.allows(utils.platformVersion));
203200
});
204201

205202
group('HTML Injection when allowed', () {

test/src/utils.dart

+6
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44

55
library test_utils;
66

7+
import 'dart:io';
8+
79
import 'package:analyzer/file_system/file_system.dart';
810
import 'package:analyzer/file_system/memory_file_system.dart';
911
import 'package:analyzer/src/test_utilities/mock_sdk.dart';
@@ -12,6 +14,7 @@ import 'package:dartdoc/src/model/package_builder.dart';
1214
import 'package:dartdoc/src/model/package_graph.dart';
1315
import 'package:dartdoc/src/package_config_provider.dart';
1416
import 'package:dartdoc/src/package_meta.dart';
17+
import 'package:pub_semver/pub_semver.dart';
1518

1619
/// The number of public libraries in testing/test_package, minus 2 for
1720
/// the excluded libraries listed in the initializers for _testPackageGraphMemo
@@ -21,6 +24,9 @@ const int kTestPackagePublicLibraries = 23;
2124
final _resourceProvider = pubPackageMetaProvider.resourceProvider;
2225
final _pathContext = _resourceProvider.pathContext;
2326

27+
final String platformVersionString = Platform.version.split(' ').first;
28+
final Version platformVersion = Version.parse(platformVersionString);
29+
2430
final Folder testPackageToolError = _resourceProvider.getFolder(_pathContext
2531
.absolute(_pathContext.normalize('testing/test_package_tool_error')));
2632

0 commit comments

Comments
 (0)