Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(93)

Side by Side Diff: pkg/analyzer/test/source/package_map_provider_test.dart

Issue 2398113002: Fix more tests on windows bots (Closed)
Patch Set: Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library analyzer.test.source.package_map_provider_test; 5 library analyzer.test.source.package_map_provider_test;
6 6
7 import 'package:analyzer/file_system/file_system.dart'; 7 import 'package:analyzer/file_system/file_system.dart';
8 import 'package:analyzer/file_system/memory_file_system.dart'; 8 import 'package:analyzer/file_system/memory_file_system.dart';
9 import 'package:analyzer/source/package_map_provider.dart'; 9 import 'package:analyzer/source/package_map_provider.dart';
10 import 'package:analyzer/source/pub_package_map_provider.dart'; 10 import 'package:analyzer/source/pub_package_map_provider.dart';
11 import 'package:analyzer/src/dart/sdk/sdk.dart'; 11 import 'package:analyzer/src/dart/sdk/sdk.dart';
12 import 'package:analyzer/src/generated/sdk.dart'; 12 import 'package:analyzer/src/generated/sdk.dart';
13 import 'package:test_reflective_loader/test_reflective_loader.dart'; 13 import 'package:test_reflective_loader/test_reflective_loader.dart';
14 import 'package:unittest/unittest.dart'; 14 import 'package:unittest/unittest.dart';
15 15
16 import '../utils.dart'; 16 import '../utils.dart';
17 17
18 main() { 18 main() {
19 initializeTestEnvironment(); 19 initializeTestEnvironment();
20 defineReflectiveTests(PubPackageMapProviderTest); 20 defineReflectiveTests(PubPackageMapProviderTest);
21 } 21 }
22 22
23 @reflectiveTest 23 @reflectiveTest
24 class PubPackageMapProviderTest { 24 class PubPackageMapProviderTest {
25 static const String projectPath = '/path/to/project';
26
27 DartSdk sdk; 25 DartSdk sdk;
28 MemoryResourceProvider resourceProvider; 26 MemoryResourceProvider resourceProvider;
29 PubPackageMapProvider packageMapProvider; 27 PubPackageMapProvider packageMapProvider;
28 String projectPath;
30 Folder projectFolder; 29 Folder projectFolder;
31 30
32 PackageMapInfo parsePackageMap(Map obj) { 31 PackageMapInfo parsePackageMap(Map obj) {
33 return packageMapProvider.parsePackageMap(obj, projectFolder); 32 return packageMapProvider.parsePackageMap(obj, projectFolder);
34 } 33 }
35 34
36 void setUp() { 35 void setUp() {
37 resourceProvider = new MemoryResourceProvider(); 36 resourceProvider = new MemoryResourceProvider();
38 sdk = new FolderBasedDartSdk(resourceProvider, 37 sdk = new FolderBasedDartSdk(resourceProvider,
39 FolderBasedDartSdk.defaultSdkDirectory(resourceProvider)); 38 FolderBasedDartSdk.defaultSdkDirectory(resourceProvider));
40 packageMapProvider = new PubPackageMapProvider(resourceProvider, sdk); 39 packageMapProvider = new PubPackageMapProvider(resourceProvider, sdk);
40 projectPath = resourceProvider.convertPath('/path/to/project');
41 projectFolder = resourceProvider.newFolder(projectPath); 41 projectFolder = resourceProvider.newFolder(projectPath);
42 } 42 }
43 43
44 void test_computePackageMap_noLockFile() { 44 void test_computePackageMap_noLockFile() {
45 packageMapProvider = 45 packageMapProvider =
46 new PubPackageMapProvider(resourceProvider, sdk, (Folder folder) { 46 new PubPackageMapProvider(resourceProvider, sdk, (Folder folder) {
47 fail('Unexpected "pub list" invocation'); 47 fail('Unexpected "pub list" invocation');
48 }); 48 });
49 PackageMapInfo info = packageMapProvider.computePackageMap(projectFolder); 49 PackageMapInfo info = packageMapProvider.computePackageMap(projectFolder);
50 expect(info.packageMap, isNull); 50 expect(info.packageMap, isNull);
51 expect(info.dependencies, unorderedEquals(['$projectPath/pubspec.lock'])); 51 expect(
52 info.dependencies,
53 unorderedEquals(
54 [resourceProvider.pathContext.join(projectPath, 'pubspec.lock')]));
52 } 55 }
53 56
54 void test_parsePackageMap_dontIgnoreNonExistingFolder() { 57 void test_parsePackageMap_dontIgnoreNonExistingFolder() {
55 String packageName = 'foo'; 58 String packageName = 'foo';
56 String folderPath = '/path/to/folder'; 59 String folderPath = resourceProvider.convertPath('/path/to/folder');
57 Map<String, List<Folder>> result = parsePackageMap({ 60 Map<String, List<Folder>> result = parsePackageMap({
58 'packages': {packageName: folderPath} 61 'packages': {packageName: folderPath}
59 }).packageMap; 62 }).packageMap;
60 expect(result, hasLength(1)); 63 expect(result, hasLength(1));
61 expect(result.keys, contains(packageName)); 64 expect(result.keys, contains(packageName));
62 expect(result[packageName], hasLength(1)); 65 expect(result[packageName], hasLength(1));
63 expect(result[packageName][0], new isInstanceOf<Folder>()); 66 expect(result[packageName][0], new isInstanceOf<Folder>());
64 expect(result[packageName][0].path, equals(folderPath)); 67 expect(result[packageName][0].path, equals(folderPath));
65 } 68 }
66 69
67 void test_parsePackageMap_handleDependencies() { 70 void test_parsePackageMap_handleDependencies() {
68 String path1 = '/path/to/folder1/pubspec.lock'; 71 String path1 =
69 String path2 = '/path/to/folder2/pubspec.lock'; 72 resourceProvider.convertPath('/path/to/folder1/pubspec.lock');
73 String path2 =
74 resourceProvider.convertPath('/path/to/folder2/pubspec.lock');
70 resourceProvider.newFile(path1, '...'); 75 resourceProvider.newFile(path1, '...');
71 resourceProvider.newFile(path2, '...'); 76 resourceProvider.newFile(path2, '...');
72 Set<String> dependencies = parsePackageMap({ 77 Set<String> dependencies = parsePackageMap({
73 'packages': {}, 78 'packages': {},
74 'input_files': [path1, path2] 79 'input_files': [path1, path2]
75 }).dependencies; 80 }).dependencies;
76 expect(dependencies, hasLength(2)); 81 expect(dependencies, hasLength(2));
77 expect(dependencies, contains(path1)); 82 expect(dependencies, contains(path1));
78 expect(dependencies, contains(path2)); 83 expect(dependencies, contains(path2));
79 } 84 }
80 85
81 void test_parsePackageMap_normalFolder() { 86 void test_parsePackageMap_normalFolder() {
82 String packageName = 'foo'; 87 String packageName = 'foo';
83 String folderPath = '/path/to/folder'; 88 String folderPath = resourceProvider.convertPath('/path/to/folder');
84 resourceProvider.newFolder(folderPath); 89 resourceProvider.newFolder(folderPath);
85 Map<String, List<Folder>> result = parsePackageMap({ 90 Map<String, List<Folder>> result = parsePackageMap({
86 'packages': {packageName: folderPath} 91 'packages': {packageName: folderPath}
87 }).packageMap; 92 }).packageMap;
88 expect(result, hasLength(1)); 93 expect(result, hasLength(1));
89 expect(result.keys, contains(packageName)); 94 expect(result.keys, contains(packageName));
90 expect(result[packageName], hasLength(1)); 95 expect(result[packageName], hasLength(1));
91 expect(result[packageName][0], new isInstanceOf<Folder>()); 96 expect(result[packageName][0], new isInstanceOf<Folder>());
92 expect(result[packageName][0].path, equals(folderPath)); 97 expect(result[packageName][0].path, equals(folderPath));
93 } 98 }
94 99
95 void test_parsePackageMap_packageMapsToList() { 100 void test_parsePackageMap_packageMapsToList() {
96 String packageName = 'foo'; 101 String packageName = 'foo';
97 String folderPath1 = '/path/to/folder1'; 102 String folderPath1 = resourceProvider.convertPath('/path/to/folder1');
98 String folderPath2 = '/path/to/folder2'; 103 String folderPath2 = resourceProvider.convertPath('/path/to/folder2');
99 resourceProvider.newFolder(folderPath1); 104 resourceProvider.newFolder(folderPath1);
100 resourceProvider.newFolder(folderPath2); 105 resourceProvider.newFolder(folderPath2);
101 Map<String, List<Folder>> result = parsePackageMap({ 106 Map<String, List<Folder>> result = parsePackageMap({
102 'packages': { 107 'packages': {
103 packageName: [folderPath1, folderPath2] 108 packageName: [folderPath1, folderPath2]
104 } 109 }
105 }).packageMap; 110 }).packageMap;
106 expect(result, hasLength(1)); 111 expect(result, hasLength(1));
107 expect(result.keys, contains(packageName)); 112 expect(result.keys, contains(packageName));
108 expect(result[packageName], hasLength(2)); 113 expect(result[packageName], hasLength(2));
109 for (int i = 0; i < 2; i++) { 114 for (int i = 0; i < 2; i++) {
110 expect(result[packageName][i], new isInstanceOf<Folder>()); 115 expect(result[packageName][i], new isInstanceOf<Folder>());
111 expect(result[packageName][i].path, isIn([folderPath1, folderPath2])); 116 expect(result[packageName][i].path, isIn([folderPath1, folderPath2]));
112 } 117 }
113 } 118 }
114 119
115 void test_parsePackageMap_relativePahInPackages() { 120 void test_parsePackageMap_relativePahInPackages() {
116 String packagePath = '/path/to/package'; 121 String packagePath = resourceProvider.convertPath('/path/to/package');
117 String relativePackagePath = '../package'; 122 String relativePackagePath = '../package';
118 String packageName = 'foo'; 123 String packageName = 'foo';
119 resourceProvider.newFolder(projectPath); 124 resourceProvider.newFolder(projectPath);
120 resourceProvider.newFolder(packagePath); 125 resourceProvider.newFolder(packagePath);
121 Map<String, List<Folder>> result = parsePackageMap({ 126 Map<String, List<Folder>> result = parsePackageMap({
122 'packages': { 127 'packages': {
123 packageName: [relativePackagePath] 128 packageName: [relativePackagePath]
124 } 129 }
125 }).packageMap; 130 }).packageMap;
126 expect(result[packageName][0].path, equals(packagePath)); 131 expect(result[packageName][0].path, equals(packagePath));
127 } 132 }
128 133
129 void test_parsePackageMap_relativePathInDependencies() { 134 void test_parsePackageMap_relativePathInDependencies() {
130 String dependencyPath = '/path/to/pubspec.lock'; 135 String dependencyPath =
136 resourceProvider.convertPath('/path/to/pubspec.lock');
131 String relativeDependencyPath = '../pubspec.lock'; 137 String relativeDependencyPath = '../pubspec.lock';
132 resourceProvider.newFolder(projectPath); 138 resourceProvider.newFolder(projectPath);
133 resourceProvider.newFile(dependencyPath, 'contents'); 139 resourceProvider.newFile(dependencyPath, 'contents');
134 Set<String> dependencies = parsePackageMap({ 140 Set<String> dependencies = parsePackageMap({
135 'packages': {}, 141 'packages': {},
136 'input_files': [relativeDependencyPath] 142 'input_files': [relativeDependencyPath]
137 }).dependencies; 143 }).dependencies;
138 expect(dependencies, hasLength(1)); 144 expect(dependencies, hasLength(1));
139 expect(dependencies, contains(dependencyPath)); 145 expect(dependencies, contains(dependencyPath));
140 } 146 }
141 } 147 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698