Skip to content

Commit 30d88a0

Browse files
committed
Migrate resourceProvider.pathContext
1 parent 73689ae commit 30d88a0

File tree

6 files changed

+43
-31
lines changed

6 files changed

+43
-31
lines changed

pubspec.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ dependencies:
2323
yaml: ^3.1.2
2424

2525
dev_dependencies:
26+
analyzer_testing: ^0.1.2
2627
async: ^2.11.0
2728
dart_style: ^3.0.0
2829
lints: ">=5.0.0 <7.0.0"

test/html_generator_test.dart

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
import 'package:analyzer/file_system/file_system.dart';
66
import 'package:analyzer/file_system/memory_file_system.dart';
7+
import 'package:analyzer_testing/utilities/extensions/resource_provider.dart';
78
import 'package:dartdoc/src/dartdoc.dart' show DartdocFileWriter;
89
import 'package:dartdoc/src/dartdoc_options.dart';
910
import 'package:dartdoc/src/generator/generator.dart';
@@ -69,8 +70,8 @@ void main() {
6970
HtmlGeneratorBackend(options, templates, writer, resourceProvider));
7071
});
7172

72-
File getConvertedFile(String filePath) =>
73-
resourceProvider.getFile(resourceProvider.convertPath(filePath));
73+
File getConvertedFile(String filePath) => resourceProvider.getFile(
74+
ResourceProviderExtension(resourceProvider).convertPath(filePath));
7475

7576
tearDown(clearPackageMetaCache);
7677

@@ -126,11 +127,14 @@ const Matcher doesExist = _DoesExist();
126127

127128
class _DoesExist extends Matcher {
128129
const _DoesExist();
130+
129131
@override
130132
bool matches(Object? item, Map<Object?, Object?> matchState) =>
131133
(item as Resource).exists;
134+
132135
@override
133136
Description describe(Description description) => description.add('exists');
137+
134138
@override
135139
Description describeMismatch(Object? item, Description mismatchDescription,
136140
Map<Object?, Object?> matchState, bool verbose) {

test/libraries_test.dart

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
// BSD-style license that can be found in the LICENSE file.
44

55
import 'package:analyzer/file_system/memory_file_system.dart';
6+
import 'package:analyzer_testing/utilities/extensions/resource_provider.dart';
67
import 'package:dartdoc/src/model/model.dart';
78
import 'package:test/test.dart';
89
import 'package:test_reflective_loader/test_reflective_loader.dart';
@@ -130,8 +131,10 @@ A doc comment.
130131
packageMetaProvider,
131132
packageConfigProvider,
132133
);
133-
final daName = resourceProvider.convertPath('d/a');
134-
final eaName = resourceProvider.convertPath('e/a');
134+
final daName =
135+
ResourceProviderExtension(resourceProvider).convertPath('d/a');
136+
final eaName =
137+
ResourceProviderExtension(resourceProvider).convertPath('e/a');
135138
final daLibrary = packageGraph.libraries.displayNamed(daName);
136139
final eaLibrary = packageGraph.libraries.displayNamed(eaName);
137140
final bLibrary = packageGraph.libraries.displayNamed('b');
@@ -257,7 +260,7 @@ class LibrariesInAdditionalPackageTest extends DartdocTestBase {
257260
return bootPackageFromFiles(
258261
[
259262
d.file('lib/lib1.dart', "import 'package:two/lib2.dart';"),
260-
d.dir(resourceProvider.convertPath('vendor/two'), [
263+
d.dir(ResourceProviderExtension(resourceProvider).convertPath('vendor/two'), [
261264
d.file('pubspec.yaml', '''
262265
name: two
263266
version: 0.0.1

test/mustachio/runtime_renderer_render_test.dart

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ library;
77

88
import 'package:analyzer/file_system/file_system.dart';
99
import 'package:analyzer/file_system/memory_file_system.dart';
10+
import 'package:analyzer_testing/utilities/extensions/resource_provider.dart';
1011
import 'package:dartdoc/src/mustachio/renderer_base.dart';
1112
import 'package:path/path.dart' as path show Context;
1213
import 'package:test/test.dart';
@@ -19,8 +20,9 @@ void main() {
1920

2021
late path.Context pathContext;
2122

22-
File getFile(String path) => resourceProvider
23-
.getFile(pathContext.canonicalize(resourceProvider.convertPath(path)));
23+
File getFile(String path) =>
24+
resourceProvider.getFile(pathContext.canonicalize(
25+
ResourceProviderExtension(resourceProvider).convertPath(path)));
2426

2527
setUp(() {
2628
resourceProvider = MemoryResourceProvider();

test/src/test_descriptor_utils.dart

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import 'dart:convert';
66

77
import 'package:analyzer/file_system/memory_file_system.dart';
8+
import 'package:analyzer_testing/utilities/extensions/resource_provider.dart';
89
import 'package:test_descriptor/test_descriptor.dart' as d;
910
import 'package:yaml/yaml.dart' as yaml;
1011

@@ -109,28 +110,11 @@ Future<String> createPackage(
109110
}
110111
}
111112

112-
extension DescriptorExtensions on d.Descriptor {
113-
/// Creates this [d.Descriptor] in the [MemoryResourceProvider].
114-
///
115-
/// For a [d.DirectoryDescriptor], the subtree will be created. For a
116-
/// [d.FileDescriptor], the file contents will be written.
117-
Future<String> createInMemory(MemoryResourceProvider resourceProvider,
118-
[String? parent]) {
119-
var self = this;
120-
return switch (self) {
121-
d.DirectoryDescriptor() => self.createInMemory(resourceProvider, parent),
122-
d.FileDescriptor() => self.createInMemory(resourceProvider, parent!),
123-
_ => throw StateError(
124-
'$runtimeType is not a DirectoryDescriptor, nor a FileDescriptor!')
125-
};
126-
}
127-
}
128-
129113
extension on d.DirectoryDescriptor {
130114
Future<String> createInMemory(MemoryResourceProvider resourceProvider,
131115
[String? parent]) async {
132-
parent ??= resourceProvider.pathContext
133-
.canonicalize(resourceProvider.convertPath('/temp'));
116+
parent ??= resourceProvider.pathContext.canonicalize(
117+
ResourceProviderExtension(resourceProvider).convertPath('/temp'));
134118
resourceProvider.newFolder(parent).create();
135119
var fullPath = resourceProvider.pathContext.join(parent, name);
136120
resourceProvider.newFolder(fullPath).create();
@@ -145,9 +129,26 @@ extension on d.FileDescriptor {
145129
Future<String> createInMemory(
146130
MemoryResourceProvider resourceProvider, String parent) async {
147131
var content = await readAsBytes().transform(utf8.decoder).join('');
148-
var fullPath = resourceProvider
132+
var fullPath = ResourceProviderExtension(resourceProvider)
149133
.convertPath(resourceProvider.pathContext.join(parent, name));
150134
resourceProvider.newFile(fullPath, content);
151135
return fullPath;
152136
}
153137
}
138+
139+
extension DescriptorExtensions on d.Descriptor {
140+
/// Creates this [d.Descriptor] in the [MemoryResourceProvider].
141+
///
142+
/// For a [d.DirectoryDescriptor], the subtree will be created. For a
143+
/// [d.FileDescriptor], the file contents will be written.
144+
Future<String> createInMemory(MemoryResourceProvider resourceProvider,
145+
[String? parent]) {
146+
var self = this;
147+
return switch (self) {
148+
d.DirectoryDescriptor() => self.createInMemory(resourceProvider, parent),
149+
d.FileDescriptor() => self.createInMemory(resourceProvider, parent!),
150+
_ => throw StateError(
151+
'$runtimeType is not a DirectoryDescriptor, nor a FileDescriptor!')
152+
};
153+
}
154+
}

test/src/utils.dart

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import 'package:analyzer/file_system/memory_file_system.dart';
99
import 'package:analyzer/file_system/physical_file_system.dart';
1010
import 'package:analyzer/src/dart/sdk/sdk.dart';
1111
import 'package:analyzer/src/test_utilities/mock_sdk.dart';
12+
import 'package:analyzer_testing/utilities/extensions/resource_provider.dart';
1213
import 'package:dartdoc/src/dartdoc_options.dart';
1314
import 'package:dartdoc/src/failure.dart';
1415
import 'package:dartdoc/src/generator/generator.dart';
@@ -136,8 +137,8 @@ FakePackageConfigProvider getTestPackageConfigProvider(String sdkPath) {
136137
PackageMetaProvider get testPackageMetaProvider {
137138
var resourceProvider = MemoryResourceProvider();
138139
final sdkRoot = resourceProvider.getFolder(
139-
resourceProvider.pathContext
140-
.canonicalize(resourceProvider.convertPath('/sdk')),
140+
resourceProvider.pathContext.canonicalize(
141+
ResourceProviderExtension(resourceProvider).convertPath('/sdk')),
141142
);
142143
createMockSdk(
143144
resourceProvider: resourceProvider,
@@ -190,8 +191,8 @@ version: 0.0.1
190191
homepage: https://github.com/dart-lang
191192
''';
192193
var pathContext = resourceProvider.pathContext;
193-
var projectsFolder = resourceProvider.getFolder(
194-
pathContext.canonicalize(resourceProvider.convertPath('/projects')));
194+
var projectsFolder = resourceProvider.getFolder(pathContext.canonicalize(
195+
ResourceProviderExtension(resourceProvider).convertPath('/projects')));
195196
var projectFolder = projectsFolder.getChildAssumingFolder(packageName)
196197
..create();
197198
var projectRoot = projectFolder.path;

0 commit comments

Comments
 (0)