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

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

Issue 2406603002: Automatically identify the workspace suffix for READONLY. (Closed)
Patch Set: Ignore invalid READONLY folders. 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
« no previous file with comments | « pkg/analyzer/lib/src/generated/bazel.dart ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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';
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after
186 Source source = resolver.resolveAbsolute(uri); 186 Source source = resolver.resolveAbsolute(uri);
187 expect(source, isNotNull); 187 expect(source, isNotNull);
188 expect(source.fullName, _p(posixPath)); 188 expect(source.fullName, _p(posixPath));
189 expect(source.uri, uri); 189 expect(source.uri, uri);
190 expect(source.exists(), exists); 190 expect(source.exists(), exists);
191 } 191 }
192 } 192 }
193 193
194 @reflectiveTest 194 @reflectiveTest
195 class BazelWorkspaceTest extends _BaseTest { 195 class BazelWorkspaceTest extends _BaseTest {
196 void test_factory_null_noWorkspaceMarkers_inRoot() {
197 BazelWorkspace workspace = BazelWorkspace.find(provider, _p('/'));
198 expect(workspace, isNull);
199 }
200
201 void test_factory_null_noWorkspaceMarkers_inRoot_withReadonly() {
202 BazelWorkspace workspace =
203 BazelWorkspace.find(provider, _p('/'), readonlySuffix: 'READONLY');
204 expect(workspace, isNull);
205 }
206
207 void test_find_fail_notAbsolute() { 196 void test_find_fail_notAbsolute() {
208 expect(() => BazelWorkspace.find(provider, _p('not_absolute')), 197 expect(() => BazelWorkspace.find(provider, _p('not_absolute')),
209 throwsArgumentError); 198 throwsArgumentError);
210 } 199 }
211 200
212 void test_find_hasReadonlyFolder() { 201 void test_find_hasReadonlyFolder() {
213 provider.newFolder(_p('/Users/user/test/READONLY/prime')); 202 provider.newFolder(_p('/Users/user/test/READONLY/prime'));
214 provider.newFolder(_p('/Users/user/test/prime')); 203 provider.newFolder(_p('/Users/user/test/prime'));
215 provider.newFolder(_p('/Users/user/test/prime/bazel-genfiles')); 204 provider.newFolder(_p('/Users/user/test/prime/bazel-genfiles'));
216 BazelWorkspace workspace = BazelWorkspace.find( 205 BazelWorkspace workspace =
217 provider, _p('/Users/user/test/prime/my/module'), 206 BazelWorkspace.find(provider, _p('/Users/user/test/prime/my/module'));
218 readonlySuffix: 'prime');
219 expect(workspace.root, _p('/Users/user/test/prime')); 207 expect(workspace.root, _p('/Users/user/test/prime'));
220 expect(workspace.readonly, _p('/Users/user/test/READONLY/prime')); 208 expect(workspace.readonly, _p('/Users/user/test/READONLY/prime'));
221 expect(workspace.bin, _p('/Users/user/test/prime/bazel-bin')); 209 expect(workspace.bin, _p('/Users/user/test/prime/bazel-bin'));
222 expect(workspace.genfiles, _p('/Users/user/test/prime/bazel-genfiles')); 210 expect(workspace.genfiles, _p('/Users/user/test/prime/bazel-genfiles'));
223 } 211 }
224 212
213 void test_find_hasReadonlyFolder_bad_actuallyHasWorkspaceFile() {
214 provider.newFolder(_p('/Users/user/test/READONLY'));
215 provider.newFile(_p('/Users/user/test/prime/WORKSPACE'), '');
216 provider.newFolder(_p('/Users/user/test/prime/bazel-genfiles'));
217 BazelWorkspace workspace =
218 BazelWorkspace.find(provider, _p('/Users/user/test/prime/my/module'));
219 expect(workspace.root, _p('/Users/user/test/prime'));
220 expect(workspace.readonly, isNull);
221 expect(workspace.bin, _p('/Users/user/test/prime/bazel-bin'));
222 expect(workspace.genfiles, _p('/Users/user/test/prime/bazel-genfiles'));
223 }
224
225 void test_find_hasReadonlyFolder_blaze() { 225 void test_find_hasReadonlyFolder_blaze() {
226 provider.newFolder(_p('/Users/user/test/READONLY/prime')); 226 provider.newFolder(_p('/Users/user/test/READONLY/prime'));
227 provider.newFolder(_p('/Users/user/test/prime')); 227 provider.newFolder(_p('/Users/user/test/prime'));
228 provider.newFolder(_p('/Users/user/test/prime/blaze-genfiles')); 228 provider.newFolder(_p('/Users/user/test/prime/blaze-genfiles'));
229 BazelWorkspace workspace = BazelWorkspace.find( 229 BazelWorkspace workspace =
230 provider, _p('/Users/user/test/prime/my/module'), 230 BazelWorkspace.find(provider, _p('/Users/user/test/prime/my/module'));
231 readonlySuffix: 'prime');
232 expect(workspace.root, _p('/Users/user/test/prime')); 231 expect(workspace.root, _p('/Users/user/test/prime'));
233 expect(workspace.readonly, _p('/Users/user/test/READONLY/prime')); 232 expect(workspace.readonly, _p('/Users/user/test/READONLY/prime'));
234 expect(workspace.bin, _p('/Users/user/test/prime/blaze-bin')); 233 expect(workspace.bin, _p('/Users/user/test/prime/blaze-bin'));
235 expect(workspace.genfiles, _p('/Users/user/test/prime/blaze-genfiles')); 234 expect(workspace.genfiles, _p('/Users/user/test/prime/blaze-genfiles'));
236 } 235 }
237 236
238 void test_find_hasWorkspaceFile() { 237 void test_find_hasWorkspaceFile() {
239 provider.newFile(_p('/workspace/WORKSPACE'), ''); 238 provider.newFile(_p('/workspace/WORKSPACE'), '');
240 provider.newFolder(_p('/workspace/bazel-genfiles')); 239 provider.newFolder(_p('/workspace/bazel-genfiles'));
241 BazelWorkspace workspace = 240 BazelWorkspace workspace =
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
281 BazelWorkspace workspace = 280 BazelWorkspace workspace =
282 BazelWorkspace.find(provider, _p('/workspace/my/module')); 281 BazelWorkspace.find(provider, _p('/workspace/my/module'));
283 expect(workspace, isNull); 282 expect(workspace, isNull);
284 } 283 }
285 284
286 void test_find_null_noWorkspaceMarkers_inRoot() { 285 void test_find_null_noWorkspaceMarkers_inRoot() {
287 BazelWorkspace workspace = BazelWorkspace.find(provider, _p('/')); 286 BazelWorkspace workspace = BazelWorkspace.find(provider, _p('/'));
288 expect(workspace, isNull); 287 expect(workspace, isNull);
289 } 288 }
290 289
291 void test_find_null_noWorkspaceMarkers_inRoot_withReadonly() {
292 BazelWorkspace workspace =
293 BazelWorkspace.find(provider, _p('/'), readonlySuffix: 'READONLY');
294 expect(workspace, isNull);
295 }
296
297 void test_find_null_symlinkPrefix() { 290 void test_find_null_symlinkPrefix() {
298 provider.newFile(_p('/workspace/WORKSPACE'), ''); 291 provider.newFile(_p('/workspace/WORKSPACE'), '');
299 BazelWorkspace workspace = 292 BazelWorkspace workspace =
300 BazelWorkspace.find(provider, _p('/workspace/my/module')); 293 BazelWorkspace.find(provider, _p('/workspace/my/module'));
301 expect(workspace, isNull); 294 expect(workspace, isNull);
302 } 295 }
303 296
304 void test_findFile_hasReadonlyFolder() { 297 void test_findFile_hasReadonlyFolder() {
305 provider.newFolder(_p('/Users/user/test/READONLY/prime')); 298 provider.newFolder(_p('/Users/user/test/READONLY/prime'));
306 provider.newFolder(_p('/Users/user/test/prime')); 299 provider.newFolder(_p('/Users/user/test/prime'));
307 provider.newFile(_p('/Users/user/test/prime/my/module/test1.dart'), ''); 300 provider.newFile(_p('/Users/user/test/prime/my/module/test1.dart'), '');
308 provider.newFile(_p('/Users/user/test/prime/my/module/test2.dart'), ''); 301 provider.newFile(_p('/Users/user/test/prime/my/module/test2.dart'), '');
309 provider.newFile(_p('/Users/user/test/prime/my/module/test3.dart'), ''); 302 provider.newFile(_p('/Users/user/test/prime/my/module/test3.dart'), '');
310 provider.newFile( 303 provider.newFile(
311 _p('/Users/user/test/prime/bazel-bin/my/module/test2.dart'), ''); 304 _p('/Users/user/test/prime/bazel-bin/my/module/test2.dart'), '');
312 provider.newFile( 305 provider.newFile(
313 _p('/Users/user/test/prime/bazel-genfiles/my/module/test3.dart'), ''); 306 _p('/Users/user/test/prime/bazel-genfiles/my/module/test3.dart'), '');
314 provider.newFile( 307 provider.newFile(
315 _p('/Users/user/test/READONLY/prime/other/module/test4.dart'), ''); 308 _p('/Users/user/test/READONLY/prime/other/module/test4.dart'), '');
316 BazelWorkspace workspace = BazelWorkspace.find( 309 BazelWorkspace workspace =
317 provider, _p('/Users/user/test/prime/my/module'), 310 BazelWorkspace.find(provider, _p('/Users/user/test/prime/my/module'));
318 readonlySuffix: 'prime');
319 expect( 311 expect(
320 workspace 312 workspace
321 .findFile(_p('/Users/user/test/prime/my/module/test1.dart')) 313 .findFile(_p('/Users/user/test/prime/my/module/test1.dart'))
322 .path, 314 .path,
323 _p('/Users/user/test/prime/my/module/test1.dart')); 315 _p('/Users/user/test/prime/my/module/test1.dart'));
324 expect( 316 expect(
325 workspace 317 workspace
326 .findFile(_p('/Users/user/test/prime/my/module/test2.dart')) 318 .findFile(_p('/Users/user/test/prime/my/module/test2.dart'))
327 .path, 319 .path,
328 _p('/Users/user/test/prime/bazel-bin/my/module/test2.dart')); 320 _p('/Users/user/test/prime/bazel-bin/my/module/test2.dart'));
(...skipping 28 matching lines...) Expand all
357 } 349 }
358 350
359 class _BaseTest { 351 class _BaseTest {
360 final MemoryResourceProvider provider = new MemoryResourceProvider(); 352 final MemoryResourceProvider provider = new MemoryResourceProvider();
361 353
362 /** 354 /**
363 * Return the [provider] specific path for the given Posix [path]. 355 * Return the [provider] specific path for the given Posix [path].
364 */ 356 */
365 String _p(String path) => provider.convertPath(path); 357 String _p(String path) => provider.convertPath(path);
366 } 358 }
OLDNEW
« no previous file with comments | « 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