| OLD | NEW |
| 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 test.services.completion.contributor.dart.importuri; | 5 library test.services.completion.contributor.dart.importuri; |
| 6 | 6 |
| 7 import 'package:analysis_server/src/protocol.dart'; | 7 import 'package:analysis_server/plugin/protocol/protocol.dart'; |
| 8 import 'package:analysis_server/src/services/completion/dart_completion_manager.
dart'; | 8 import 'package:analysis_server/src/services/completion/dart_completion_manager.
dart'; |
| 9 import 'package:analysis_server/src/services/completion/uri_contributor.dart'; | 9 import 'package:analysis_server/src/services/completion/uri_contributor.dart'; |
| 10 import 'package:analyzer/file_system/memory_file_system.dart'; | 10 import 'package:analyzer/file_system/memory_file_system.dart'; |
| 11 import 'package:path/path.dart'; | 11 import 'package:path/path.dart'; |
| 12 import 'package:test_reflective_loader/test_reflective_loader.dart'; | 12 import 'package:test_reflective_loader/test_reflective_loader.dart'; |
| 13 import 'package:unittest/unittest.dart'; | 13 import 'package:unittest/unittest.dart'; |
| 14 | 14 |
| 15 import '../../utils.dart'; | 15 import '../../utils.dart'; |
| 16 import 'completion_test_util.dart'; | 16 import 'completion_test_util.dart'; |
| 17 | 17 |
| 18 main() { | 18 main() { |
| 19 initializeTestEnvironment(); | 19 initializeTestEnvironment(); |
| 20 defineReflectiveTests(UriContributorTest); | 20 defineReflectiveTests(UriContributorTest); |
| 21 defineReflectiveTests(UriContributorWindowsTest); | 21 defineReflectiveTests(UriContributorWindowsTest); |
| 22 } | 22 } |
| 23 | 23 |
| 24 @reflectiveTest | 24 @reflectiveTest |
| 25 class UriContributorTest extends AbstractCompletionTest { | 25 class UriContributorTest extends AbstractCompletionTest { |
| 26 @override | 26 @override |
| 27 void setUpContributor() { | 27 void setUpContributor() { |
| 28 contributor = new UriContributor(); | 28 contributor = new UriContributor(); |
| 29 } | 29 } |
| 30 | 30 |
| 31 test_export_package2() { |
| 32 addPackageSource('foo', 'foo.dart', 'library foo;'); |
| 33 addPackageSource('foo', 'baz/too.dart', 'library too;'); |
| 34 addPackageSource('bar', 'bar.dart', 'library bar;'); |
| 35 addTestSource('export "package:foo/baz/^" import'); |
| 36 computeFast(); |
| 37 assertSuggest('package:foo/baz/too.dart', |
| 38 csKind: CompletionSuggestionKind.IMPORT); |
| 39 } |
| 40 |
| 31 test_import() { | 41 test_import() { |
| 32 addTestSource('import "^"'); | 42 addTestSource('import "^"'); |
| 33 computeFast(); | 43 computeFast(); |
| 34 expect(request.replacementOffset, completionOffset); | 44 expect(request.replacementOffset, completionOffset); |
| 35 expect(request.replacementLength, 0); | 45 expect(request.replacementLength, 0); |
| 36 assertSuggest('dart:', csKind: CompletionSuggestionKind.IMPORT); | 46 assertSuggest('dart:', csKind: CompletionSuggestionKind.IMPORT); |
| 37 assertSuggest('package:', csKind: CompletionSuggestionKind.IMPORT); | 47 assertSuggest('package:', csKind: CompletionSuggestionKind.IMPORT); |
| 38 } | 48 } |
| 39 | 49 |
| 40 test_import2() { | 50 test_import2() { |
| (...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 179 test_import_package2() { | 189 test_import_package2() { |
| 180 addPackageSource('foo', 'foo.dart', 'library foo;'); | 190 addPackageSource('foo', 'foo.dart', 'library foo;'); |
| 181 addPackageSource('foo', 'baz/too.dart', 'library too;'); | 191 addPackageSource('foo', 'baz/too.dart', 'library too;'); |
| 182 addPackageSource('bar', 'bar.dart', 'library bar;'); | 192 addPackageSource('bar', 'bar.dart', 'library bar;'); |
| 183 addTestSource('import "package:foo/baz/^" import'); | 193 addTestSource('import "package:foo/baz/^" import'); |
| 184 computeFast(); | 194 computeFast(); |
| 185 assertSuggest('package:foo/baz/too.dart', | 195 assertSuggest('package:foo/baz/too.dart', |
| 186 csKind: CompletionSuggestionKind.IMPORT); | 196 csKind: CompletionSuggestionKind.IMPORT); |
| 187 } | 197 } |
| 188 | 198 |
| 189 test_export_package2() { | |
| 190 addPackageSource('foo', 'foo.dart', 'library foo;'); | |
| 191 addPackageSource('foo', 'baz/too.dart', 'library too;'); | |
| 192 addPackageSource('bar', 'bar.dart', 'library bar;'); | |
| 193 addTestSource('export "package:foo/baz/^" import'); | |
| 194 computeFast(); | |
| 195 assertSuggest('package:foo/baz/too.dart', | |
| 196 csKind: CompletionSuggestionKind.IMPORT); | |
| 197 } | |
| 198 | |
| 199 test_import_package_missing_lib() { | 199 test_import_package_missing_lib() { |
| 200 var pkgSrc = addPackageSource('bar', 'bar.dart', 'library bar;'); | 200 var pkgSrc = addPackageSource('bar', 'bar.dart', 'library bar;'); |
| 201 provider.deleteFolder(dirname(pkgSrc.fullName)); | 201 provider.deleteFolder(dirname(pkgSrc.fullName)); |
| 202 addTestSource('import "p^" class'); | 202 addTestSource('import "p^" class'); |
| 203 computeFast(); | 203 computeFast(); |
| 204 expect(request.replacementOffset, completionOffset - 1); | 204 expect(request.replacementOffset, completionOffset - 1); |
| 205 expect(request.replacementLength, 1); | 205 expect(request.replacementLength, 1); |
| 206 assertSuggest('package:', csKind: CompletionSuggestionKind.IMPORT); | 206 assertSuggest('package:', csKind: CompletionSuggestionKind.IMPORT); |
| 207 assertSuggest('package:bar/', csKind: CompletionSuggestionKind.IMPORT); | 207 assertSuggest('package:bar/', csKind: CompletionSuggestionKind.IMPORT); |
| 208 assertNotSuggested('package:bar/bar.dart'); | 208 assertNotSuggested('package:bar/bar.dart'); |
| (...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 456 assertNotSuggested('foo/'); | 456 assertNotSuggested('foo/'); |
| 457 assertNotSuggested('foo/bar.dart'); | 457 assertNotSuggested('foo/bar.dart'); |
| 458 assertSuggest('../blat.dart', csKind: CompletionSuggestionKind.IMPORT); | 458 assertSuggest('../blat.dart', csKind: CompletionSuggestionKind.IMPORT); |
| 459 } | 459 } |
| 460 } | 460 } |
| 461 | 461 |
| 462 class _TestWinResourceProvider extends MemoryResourceProvider { | 462 class _TestWinResourceProvider extends MemoryResourceProvider { |
| 463 @override | 463 @override |
| 464 Context get pathContext => windows; | 464 Context get pathContext => windows; |
| 465 } | 465 } |
| OLD | NEW |