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

Side by Side Diff: pkg/analyzer/test/generated/bazel_test.dart

Issue 2402713002: Replace BazelWorkspace factory with the static 'find' method. (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) 2016, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2016, 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.generated.bazel_test; 5 library analyzer.test.generated.bazel_test;
6 6
7 import 'package:analyzer/file_system/memory_file_system.dart'; 7 import 'package:analyzer/file_system/memory_file_system.dart';
8 import 'package:analyzer/src/generated/bazel.dart'; 8 import 'package:analyzer/src/generated/bazel.dart';
9 import 'package:analyzer/src/generated/source.dart'; 9 import 'package:analyzer/src/generated/source.dart';
10 import 'package:test/test.dart'; 10 import 'package:test/test.dart';
11 import 'package:test_reflective_loader/test_reflective_loader.dart'; 11 import 'package:test_reflective_loader/test_reflective_loader.dart';
12 12
13 main() { 13 main() {
14 defineReflectiveSuite(() { 14 defineReflectiveSuite(() {
15 defineReflectiveTests(BazelFileUriResolverTest); 15 defineReflectiveTests(BazelFileUriResolverTest);
16 defineReflectiveTests(BazelPackageUriResolverTest); 16 defineReflectiveTests(BazelPackageUriResolverTest);
17 defineReflectiveTests(BazelWorkspaceTest); 17 defineReflectiveTests(BazelWorkspaceTest);
18 }); 18 });
19 } 19 }
20 20
21 @reflectiveTest 21 @reflectiveTest
22 class BazelFileUriResolverTest extends _BaseTest { 22 class BazelFileUriResolverTest extends _BaseTest {
23 BazelWorkspace workspace; 23 BazelWorkspace workspace;
24 BazelFileUriResolver resolver; 24 BazelFileUriResolver resolver;
25 25
26 void setUp() { 26 void setUp() {
27 provider.newFile(_p('/workspace/WORKSPACE'), ''); 27 provider.newFile(_p('/workspace/WORKSPACE'), '');
28 workspace = new BazelWorkspace(provider, _p('/workspace')); 28 workspace = BazelWorkspace.find(provider, _p('/workspace'));
29 resolver = new BazelFileUriResolver(workspace); 29 resolver = new BazelFileUriResolver(workspace);
30 provider.newFile(_p('/workspace/test.dart'), ''); 30 provider.newFile(_p('/workspace/test.dart'), '');
31 provider.newFile(_p('/workspace/bazel-bin/gen1.dart'), ''); 31 provider.newFile(_p('/workspace/bazel-bin/gen1.dart'), '');
32 provider.newFile(_p('/workspace/bazel-genfiles/gen2.dart'), ''); 32 provider.newFile(_p('/workspace/bazel-genfiles/gen2.dart'), '');
33 } 33 }
34 34
35 void test_resolveAbsolute_doesNotExist() { 35 void test_resolveAbsolute_doesNotExist() {
36 Source source = _resolvePath('/workspace/foo.dart'); 36 Source source = _resolvePath('/workspace/foo.dart');
37 expect(source, isNotNull); 37 expect(source, isNotNull);
38 expect(source.exists(), isFalse); 38 expect(source.exists(), isFalse);
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
97 } 97 }
98 } 98 }
99 99
100 @reflectiveTest 100 @reflectiveTest
101 class BazelPackageUriResolverTest extends _BaseTest { 101 class BazelPackageUriResolverTest extends _BaseTest {
102 BazelWorkspace workspace; 102 BazelWorkspace workspace;
103 BazelPackageUriResolver resolver; 103 BazelPackageUriResolver resolver;
104 104
105 void setUp() { 105 void setUp() {
106 provider.newFile(_p('/workspace/WORKSPACE'), ''); 106 provider.newFile(_p('/workspace/WORKSPACE'), '');
107 workspace = new BazelWorkspace(provider, _p('/workspace')); 107 workspace = BazelWorkspace.find(provider, _p('/workspace'));
108 resolver = new BazelPackageUriResolver(workspace); 108 resolver = new BazelPackageUriResolver(workspace);
109 provider.newFile(_p('/workspace/my/foo/lib/foo1.dart'), ''); 109 provider.newFile(_p('/workspace/my/foo/lib/foo1.dart'), '');
110 provider.newFile(_p('/workspace/my/foo/lib/gen1.dart'), ''); 110 provider.newFile(_p('/workspace/my/foo/lib/gen1.dart'), '');
111 provider.newFile(_p('/workspace/my/foo/lib/gen2.dart'), ''); 111 provider.newFile(_p('/workspace/my/foo/lib/gen2.dart'), '');
112 provider.newFile(_p('/workspace/my/foo/lib/src/foo4.dart'), ''); 112 provider.newFile(_p('/workspace/my/foo/lib/src/foo4.dart'), '');
113 provider.newFile(_p('/workspace/third_party/dart/bar/lib/bar1.dart'), ''); 113 provider.newFile(_p('/workspace/third_party/dart/bar/lib/bar1.dart'), '');
114 provider.newFile( 114 provider.newFile(
115 _p('/workspace/third_party/dart/bar/lib/src/bar2.dart'), ''); 115 _p('/workspace/third_party/dart/bar/lib/src/bar2.dart'), '');
116 provider.newFile(_p('/workspace/bazel-bin/my/foo/lib/gen1.dart'), ''); 116 provider.newFile(_p('/workspace/bazel-bin/my/foo/lib/gen1.dart'), '');
117 provider.newFile(_p('/workspace/bazel-genfiles/my/foo/lib/gen2.dart'), ''); 117 provider.newFile(_p('/workspace/bazel-genfiles/my/foo/lib/gen2.dart'), '');
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
184 Source source = resolver.resolveAbsolute(uri); 184 Source source = resolver.resolveAbsolute(uri);
185 expect(source, isNotNull); 185 expect(source, isNotNull);
186 expect(source.fullName, _p(posixPath)); 186 expect(source.fullName, _p(posixPath));
187 expect(source.uri, uri); 187 expect(source.uri, uri);
188 expect(source.exists(), exists); 188 expect(source.exists(), exists);
189 } 189 }
190 } 190 }
191 191
192 @reflectiveTest 192 @reflectiveTest
193 class BazelWorkspaceTest extends _BaseTest { 193 class BazelWorkspaceTest extends _BaseTest {
194 void test_factory_fail_notAbsolute() { 194 void test_find_fail_notAbsolute() {
195 expect(() => new BazelWorkspace(provider, _p('not_absolute')), 195 expect(() => BazelWorkspace.find(provider, _p('not_absolute')),
196 throwsArgumentError); 196 throwsArgumentError);
197 } 197 }
198 198
199 void test_factory_hasReadonlyFolder() { 199 void test_find_hasReadonlyFolder() {
200 provider.newFolder(_p('/Users/user/test/READONLY/prime')); 200 provider.newFolder(_p('/Users/user/test/READONLY/prime'));
201 provider.newFolder(_p('/Users/user/test/prime')); 201 provider.newFolder(_p('/Users/user/test/prime'));
202 BazelWorkspace workspace = new BazelWorkspace( 202 BazelWorkspace workspace = BazelWorkspace.find(
203 provider, _p('/Users/user/test/prime/my/module'), 203 provider, _p('/Users/user/test/prime/my/module'),
204 readonlySuffix: 'prime'); 204 readonlySuffix: 'prime');
205 expect(workspace.root, _p('/Users/user/test/prime')); 205 expect(workspace.root, _p('/Users/user/test/prime'));
206 expect(workspace.readonly, _p('/Users/user/test/READONLY/prime')); 206 expect(workspace.readonly, _p('/Users/user/test/READONLY/prime'));
207 expect(workspace.bin, _p('/Users/user/test/prime/bazel-bin')); 207 expect(workspace.bin, _p('/Users/user/test/prime/bazel-bin'));
208 expect(workspace.genfiles, _p('/Users/user/test/prime/bazel-genfiles')); 208 expect(workspace.genfiles, _p('/Users/user/test/prime/bazel-genfiles'));
209 } 209 }
210 210
211 void test_factory_hasWorkspaceFile() { 211 void test_find_hasWorkspaceFile() {
212 provider.newFile(_p('/workspace/WORKSPACE'), ''); 212 provider.newFile(_p('/workspace/WORKSPACE'), '');
213 BazelWorkspace workspace = 213 BazelWorkspace workspace =
214 new BazelWorkspace(provider, _p('/workspace/my/module')); 214 BazelWorkspace.find(provider, _p('/workspace/my/module'));
215 expect(workspace.root, _p('/workspace')); 215 expect(workspace.root, _p('/workspace'));
216 expect(workspace.readonly, isNull); 216 expect(workspace.readonly, isNull);
217 expect(workspace.bin, _p('/workspace/bazel-bin')); 217 expect(workspace.bin, _p('/workspace/bazel-bin'));
218 expect(workspace.genfiles, _p('/workspace/bazel-genfiles')); 218 expect(workspace.genfiles, _p('/workspace/bazel-genfiles'));
219 } 219 }
220 220
221 void test_factory_hasWorkspaceFile_forModuleInWorkspace() { 221 void test_find_hasWorkspaceFile_forModuleInWorkspace() {
222 provider.newFile(_p('/workspace/WORKSPACE'), ''); 222 provider.newFile(_p('/workspace/WORKSPACE'), '');
223 BazelWorkspace workspace = 223 BazelWorkspace workspace =
224 new BazelWorkspace(provider, _p('/workspace/my/module')); 224 BazelWorkspace.find(provider, _p('/workspace/my/module'));
225 expect(workspace.root, _p('/workspace')); 225 expect(workspace.root, _p('/workspace'));
226 expect(workspace.readonly, isNull); 226 expect(workspace.readonly, isNull);
227 expect(workspace.bin, _p('/workspace/bazel-bin')); 227 expect(workspace.bin, _p('/workspace/bazel-bin'));
228 expect(workspace.genfiles, _p('/workspace/bazel-genfiles')); 228 expect(workspace.genfiles, _p('/workspace/bazel-genfiles'));
229 } 229 }
230 230
231 void test_factory_hasWorkspaceFile_forWorkspace() { 231 void test_find_hasWorkspaceFile_forWorkspace() {
232 provider.newFile(_p('/workspace/WORKSPACE'), ''); 232 provider.newFile(_p('/workspace/WORKSPACE'), '');
233 BazelWorkspace workspace = new BazelWorkspace(provider, _p('/workspace')); 233 provider.newFolder(_p('/workspace/bazel-bin'));
234 BazelWorkspace workspace = BazelWorkspace.find(provider, _p('/workspace'));
234 expect(workspace.root, _p('/workspace')); 235 expect(workspace.root, _p('/workspace'));
235 expect(workspace.readonly, isNull); 236 expect(workspace.readonly, isNull);
236 expect(workspace.bin, _p('/workspace/bazel-bin')); 237 expect(workspace.bin, _p('/workspace/bazel-bin'));
237 expect(workspace.genfiles, _p('/workspace/bazel-genfiles')); 238 expect(workspace.genfiles, _p('/workspace/bazel-genfiles'));
238 } 239 }
239 240
240 void test_factory_notInWorkspace() { 241 void test_find_null_noWorkspaceMarkers() {
241 BazelWorkspace workspace = 242 BazelWorkspace workspace =
242 new BazelWorkspace(provider, _p('/workspace/my/module')); 243 BazelWorkspace.find(provider, _p('/workspace/my/module'));
243 expect(workspace, isNotNull); 244 expect(workspace, isNull);
244 expect(workspace.root, _p('/workspace/my/module'));
245 expect(workspace.readonly, isNull);
246 expect(workspace.bin, isNull);
247 expect(workspace.genfiles, isNull);
248 } 245 }
249 246
250 void test_factory_symlinkPrefix() { 247 void test_find_null_noWorkspaceMarkers_inRoot() {
248 BazelWorkspace workspace = BazelWorkspace.find(provider, _p('/'));
249 expect(workspace, isNull);
250 }
251
252 void test_find_null_noWorkspaceMarkers_inRoot_withReadonly() {
253 BazelWorkspace workspace =
254 BazelWorkspace.find(provider, _p('/'), readonlySuffix: 'READONLY');
255 expect(workspace, isNull);
256 }
257
258 void test_find_symlinkPrefix() {
251 provider.newFile(_p('/workspace/WORKSPACE'), ''); 259 provider.newFile(_p('/workspace/WORKSPACE'), '');
252 BazelWorkspace workspace = 260 BazelWorkspace workspace = BazelWorkspace.find(provider, _p('/workspace'),
253 new BazelWorkspace(provider, _p('/workspace'), symlinkPrefix: 'foobar'); 261 symlinkPrefix: 'foobar');
254 expect(workspace.root, _p('/workspace')); 262 expect(workspace.root, _p('/workspace'));
255 expect(workspace.readonly, isNull); 263 expect(workspace.readonly, isNull);
256 expect(workspace.bin, _p('/workspace/foobar-bin')); 264 expect(workspace.bin, _p('/workspace/foobar-bin'));
257 expect(workspace.genfiles, _p('/workspace/foobar-genfiles')); 265 expect(workspace.genfiles, _p('/workspace/foobar-genfiles'));
258 } 266 }
259 267
260 void test_findFile_hasReadonlyFolder() { 268 void test_findFile_hasReadonlyFolder() {
261 provider.newFolder(_p('/Users/user/test/READONLY/prime')); 269 provider.newFolder(_p('/Users/user/test/READONLY/prime'));
262 provider.newFolder(_p('/Users/user/test/prime')); 270 provider.newFolder(_p('/Users/user/test/prime'));
263 provider.newFile(_p('/Users/user/test/prime/my/module/test1.dart'), ''); 271 provider.newFile(_p('/Users/user/test/prime/my/module/test1.dart'), '');
264 provider.newFile(_p('/Users/user/test/prime/my/module/test2.dart'), ''); 272 provider.newFile(_p('/Users/user/test/prime/my/module/test2.dart'), '');
265 provider.newFile(_p('/Users/user/test/prime/my/module/test3.dart'), ''); 273 provider.newFile(_p('/Users/user/test/prime/my/module/test3.dart'), '');
266 provider.newFile( 274 provider.newFile(
267 _p('/Users/user/test/prime/bazel-bin/my/module/test2.dart'), ''); 275 _p('/Users/user/test/prime/bazel-bin/my/module/test2.dart'), '');
268 provider.newFile( 276 provider.newFile(
269 _p('/Users/user/test/prime/bazel-genfiles/my/module/test3.dart'), ''); 277 _p('/Users/user/test/prime/bazel-genfiles/my/module/test3.dart'), '');
270 provider.newFile( 278 provider.newFile(
271 _p('/Users/user/test/READONLY/prime/other/module/test4.dart'), ''); 279 _p('/Users/user/test/READONLY/prime/other/module/test4.dart'), '');
272 BazelWorkspace workspace = new BazelWorkspace( 280 BazelWorkspace workspace = BazelWorkspace.find(
273 provider, _p('/Users/user/test/prime/my/module'), 281 provider, _p('/Users/user/test/prime/my/module'),
274 readonlySuffix: 'prime'); 282 readonlySuffix: 'prime');
275 expect( 283 expect(
276 workspace 284 workspace
277 .findFile(_p('/Users/user/test/prime/my/module/test1.dart')) 285 .findFile(_p('/Users/user/test/prime/my/module/test1.dart'))
278 .path, 286 .path,
279 _p('/Users/user/test/prime/my/module/test1.dart')); 287 _p('/Users/user/test/prime/my/module/test1.dart'));
280 expect( 288 expect(
281 workspace 289 workspace
282 .findFile(_p('/Users/user/test/prime/my/module/test2.dart')) 290 .findFile(_p('/Users/user/test/prime/my/module/test2.dart'))
(...skipping 12 matching lines...) Expand all
295 } 303 }
296 304
297 void test_findFile_noReadOnly() { 305 void test_findFile_noReadOnly() {
298 provider.newFile(_p('/workspace/WORKSPACE'), ''); 306 provider.newFile(_p('/workspace/WORKSPACE'), '');
299 provider.newFile(_p('/workspace/my/module/test1.dart'), ''); 307 provider.newFile(_p('/workspace/my/module/test1.dart'), '');
300 provider.newFile(_p('/workspace/my/module/test2.dart'), ''); 308 provider.newFile(_p('/workspace/my/module/test2.dart'), '');
301 provider.newFile(_p('/workspace/my/module/test3.dart'), ''); 309 provider.newFile(_p('/workspace/my/module/test3.dart'), '');
302 provider.newFile(_p('/workspace/bazel-bin/my/module/test2.dart'), ''); 310 provider.newFile(_p('/workspace/bazel-bin/my/module/test2.dart'), '');
303 provider.newFile(_p('/workspace/bazel-genfiles/my/module/test3.dart'), ''); 311 provider.newFile(_p('/workspace/bazel-genfiles/my/module/test3.dart'), '');
304 BazelWorkspace workspace = 312 BazelWorkspace workspace =
305 new BazelWorkspace(provider, _p('/workspace/my/module')); 313 BazelWorkspace.find(provider, _p('/workspace/my/module'));
306 expect(workspace.findFile(_p('/workspace/my/module/test1.dart')).path, 314 expect(workspace.findFile(_p('/workspace/my/module/test1.dart')).path,
307 _p('/workspace/my/module/test1.dart')); 315 _p('/workspace/my/module/test1.dart'));
308 expect(workspace.findFile(_p('/workspace/my/module/test2.dart')).path, 316 expect(workspace.findFile(_p('/workspace/my/module/test2.dart')).path,
309 _p('/workspace/bazel-bin/my/module/test2.dart')); 317 _p('/workspace/bazel-bin/my/module/test2.dart'));
310 expect(workspace.findFile(_p('/workspace/my/module/test3.dart')).path, 318 expect(workspace.findFile(_p('/workspace/my/module/test3.dart')).path,
311 _p('/workspace/bazel-genfiles/my/module/test3.dart')); 319 _p('/workspace/bazel-genfiles/my/module/test3.dart'));
312 } 320 }
313 } 321 }
314 322
315 class _BaseTest { 323 class _BaseTest {
316 final MemoryResourceProvider provider = new MemoryResourceProvider(); 324 final MemoryResourceProvider provider = new MemoryResourceProvider();
317 325
318 /** 326 /**
319 * Return the [provider] specific path for the given Posix [path]. 327 * Return the [provider] specific path for the given Posix [path].
320 */ 328 */
321 String _p(String path) => provider.convertPath(path); 329 String _p(String path) => provider.convertPath(path);
322 } 330 }
OLDNEW
« pkg/analyzer/lib/src/generated/bazel.dart ('K') | « pkg/analyzer/lib/src/generated/bazel.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698