| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 } |
| OLD | NEW |