| Index: pkg/analysis_server/test/package_map_provider_test.dart
|
| diff --git a/pkg/analysis_server/test/package_map_provider_test.dart b/pkg/analysis_server/test/package_map_provider_test.dart
|
| index 78607a3e0987549987d947f68575ae1c23941662..3e62e29918aa4f5ca8873e6ac4cde399d7346951 100644
|
| --- a/pkg/analysis_server/test/package_map_provider_test.dart
|
| +++ b/pkg/analysis_server/test/package_map_provider_test.dart
|
| @@ -17,18 +17,25 @@ main() {
|
| group('parsePackageMap', () {
|
| MemoryResourceProvider resourceProvider;
|
| PubPackageMapProvider packageMapProvider;
|
| + const String projectPath = '/path/to/project';
|
| + Folder projectFolder;
|
|
|
| setUp(() {
|
| resourceProvider = new MemoryResourceProvider();
|
| packageMapProvider = new PubPackageMapProvider(resourceProvider);
|
| + projectFolder = resourceProvider.newFolder(projectPath);
|
| });
|
|
|
| + PackageMapInfo parsePackageMap(Object obj) {
|
| + return packageMapProvider.parsePackageMap(JSON.encode(obj), projectFolder);
|
| + }
|
| +
|
| test('normal folder', () {
|
| String packageName = 'foo';
|
| String folderPath = '/path/to/folder';
|
| resourceProvider.newFolder(folderPath);
|
| - Map<String, List<Folder>> result = packageMapProvider.parsePackageMap(
|
| - JSON.encode({'packages': {packageName: folderPath}})).packageMap;
|
| + Map<String, List<Folder>> result = parsePackageMap(
|
| + {'packages': {packageName: folderPath}}).packageMap;
|
| expect(result, hasLength(1));
|
| expect(result.keys, contains(packageName));
|
| expect(result[packageName], hasLength(1));
|
| @@ -39,8 +46,8 @@ main() {
|
| test('ignore nonexistent folder', () {
|
| String packageName = 'foo';
|
| String folderPath = '/path/to/folder';
|
| - Map<String, List<Folder>> result = packageMapProvider.parsePackageMap(
|
| - JSON.encode({'packages': {packageName: folderPath}})).packageMap;
|
| + Map<String, List<Folder>> result = parsePackageMap(
|
| + {'packages': {packageName: folderPath}}).packageMap;
|
| expect(result, hasLength(0));
|
| });
|
|
|
| @@ -50,8 +57,8 @@ main() {
|
| String folderPath2 = '/path/to/folder2';
|
| resourceProvider.newFolder(folderPath1);
|
| resourceProvider.newFolder(folderPath2);
|
| - Map<String, List<Folder>> result = packageMapProvider.parsePackageMap(
|
| - JSON.encode({'packages': {packageName: [folderPath1, folderPath2]}})).packageMap;
|
| + Map<String, List<Folder>> result = parsePackageMap(
|
| + {'packages': {packageName: [folderPath1, folderPath2]}}).packageMap;
|
| expect(result, hasLength(1));
|
| expect(result.keys, contains(packageName));
|
| expect(result[packageName], hasLength(2));
|
| @@ -66,12 +73,34 @@ main() {
|
| String path2 = '/path/to/folder2/pubspec.lock';
|
| resourceProvider.newFile(path1, '...');
|
| resourceProvider.newFile(path2, '...');
|
| - Set<String> dependencies = packageMapProvider.parsePackageMap(
|
| - JSON.encode({'packages': {}, 'input_files': [path1, path2]})).dependencies;
|
| + Set<String> dependencies = parsePackageMap(
|
| + {'packages': {}, 'input_files': [path1, path2]}).dependencies;
|
| expect(dependencies, hasLength(2));
|
| expect(dependencies, contains(path1));
|
| expect(dependencies, contains(path2));
|
| });
|
| +
|
| + test('Relative path in packages', () {
|
| + String packagePath = '/path/to/package';
|
| + String relativePackagePath = '../package';
|
| + String packageName = 'foo';
|
| + resourceProvider.newFolder(projectPath);
|
| + resourceProvider.newFolder(packagePath);
|
| + Map<String, List<Folder>> result = parsePackageMap(
|
| + {'packages': {packageName: [relativePackagePath]}}).packageMap;
|
| + expect(result[packageName][0].path, equals(packagePath));
|
| + });
|
| +
|
| + test('Relative path in dependencies', () {
|
| + String dependencyPath = '/path/to/pubspec.lock';
|
| + String relativeDependencyPath = '../pubspec.lock';
|
| + resourceProvider.newFolder(projectPath);
|
| + resourceProvider.newFile(dependencyPath, 'contents');
|
| + Set<String> dependencies = parsePackageMap(
|
| + {'packages': {}, 'input_files': [relativeDependencyPath]}).dependencies;
|
| + expect(dependencies, hasLength(1));
|
| + expect(dependencies, contains(dependencyPath));
|
| + });
|
| });
|
| });
|
| }
|
|
|