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

Side by Side Diff: pkg/analysis_server/test/services/completion/uri_contributor_test.dart

Issue 1418123004: fix import uri completion exception - fixes #24709 (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years, 1 month 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/analysis_server/lib/src/services/completion/uri_contributor.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) 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/plugin/protocol/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';
(...skipping 10 matching lines...) Expand all
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_after_import() {
32 addTestSource('import "p"^');
33 computeFast();
34 expect(request.replacementOffset, completionOffset);
35 expect(request.replacementLength, 0);
36 assertNoSuggestions();
37 }
38
39 test_after_import_raw() {
40 addTestSource('import r"p"^');
41 computeFast();
42 expect(request.replacementOffset, completionOffset);
43 expect(request.replacementLength, 0);
44 assertNoSuggestions();
45 }
46
47 test_before_import() {
48 addTestSource('import ^"p"');
49 computeFast();
50 expect(request.replacementOffset, completionOffset);
51 expect(request.replacementLength, 0);
52 assertNoSuggestions();
53 }
54
55 test_before_import_raw() {
56 addTestSource('import ^r"p"');
57 computeFast();
58 expect(request.replacementOffset, completionOffset);
59 expect(request.replacementLength, 0);
60 assertNoSuggestions();
61 }
62
63 test_before_import_raw2() {
64 addTestSource('import r^"p"');
65 computeFast();
66 expect(request.replacementOffset, completionOffset);
67 expect(request.replacementLength, 0);
68 assertNoSuggestions();
69 }
70
31 test_export_package2() { 71 test_export_package2() {
32 addPackageSource('foo', 'foo.dart', 'library foo;'); 72 addPackageSource('foo', 'foo.dart', 'library foo;');
33 addPackageSource('foo', 'baz/too.dart', 'library too;'); 73 addPackageSource('foo', 'baz/too.dart', 'library too;');
34 addPackageSource('bar', 'bar.dart', 'library bar;'); 74 addPackageSource('bar', 'bar.dart', 'library bar;');
35 addTestSource('export "package:foo/baz/^" import'); 75 addTestSource('export "package:foo/baz/^" import');
36 computeFast(); 76 computeFast();
37 assertSuggest('package:foo/baz/too.dart', 77 assertSuggest('package:foo/baz/too.dart',
38 csKind: CompletionSuggestionKind.IMPORT); 78 csKind: CompletionSuggestionKind.IMPORT);
39 } 79 }
40 80
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
189 test_import_package2() { 229 test_import_package2() {
190 addPackageSource('foo', 'foo.dart', 'library foo;'); 230 addPackageSource('foo', 'foo.dart', 'library foo;');
191 addPackageSource('foo', 'baz/too.dart', 'library too;'); 231 addPackageSource('foo', 'baz/too.dart', 'library too;');
192 addPackageSource('bar', 'bar.dart', 'library bar;'); 232 addPackageSource('bar', 'bar.dart', 'library bar;');
193 addTestSource('import "package:foo/baz/^" import'); 233 addTestSource('import "package:foo/baz/^" import');
194 computeFast(); 234 computeFast();
195 assertSuggest('package:foo/baz/too.dart', 235 assertSuggest('package:foo/baz/too.dart',
196 csKind: CompletionSuggestionKind.IMPORT); 236 csKind: CompletionSuggestionKind.IMPORT);
197 } 237 }
198 238
239 test_import_package2_raw() {
240 addPackageSource('foo', 'foo.dart', 'library foo;');
241 addPackageSource('foo', 'baz/too.dart', 'library too;');
242 addPackageSource('bar', 'bar.dart', 'library bar;');
243 addTestSource('import r"package:foo/baz/^" import');
244 computeFast();
245 assertSuggest('package:foo/baz/too.dart',
246 csKind: CompletionSuggestionKind.IMPORT);
247 }
248
199 test_import_package_missing_lib() { 249 test_import_package_missing_lib() {
200 var pkgSrc = addPackageSource('bar', 'bar.dart', 'library bar;'); 250 var pkgSrc = addPackageSource('bar', 'bar.dart', 'library bar;');
201 provider.deleteFolder(dirname(pkgSrc.fullName)); 251 provider.deleteFolder(dirname(pkgSrc.fullName));
202 addTestSource('import "p^" class'); 252 addTestSource('import "p^" class');
203 computeFast(); 253 computeFast();
204 expect(request.replacementOffset, completionOffset - 1); 254 expect(request.replacementOffset, completionOffset - 1);
205 expect(request.replacementLength, 1); 255 expect(request.replacementLength, 1);
206 assertSuggest('package:', csKind: CompletionSuggestionKind.IMPORT); 256 assertSuggest('package:', csKind: CompletionSuggestionKind.IMPORT);
207 assertSuggest('package:bar/', csKind: CompletionSuggestionKind.IMPORT); 257 assertSuggest('package:bar/', csKind: CompletionSuggestionKind.IMPORT);
208 assertNotSuggested('package:bar/bar.dart'); 258 assertNotSuggested('package:bar/bar.dart');
209 } 259 }
210 260
261 test_import_package_raw() {
262 addPackageSource('foo', 'foo.dart', 'library foo;');
263 addPackageSource('foo', 'baz/too.dart', 'library too;');
264 addPackageSource('bar', 'bar.dart', 'library bar;');
265 addTestSource('import r"p^" import');
266 computeFast();
267 expect(request.replacementOffset, completionOffset - 1);
268 expect(request.replacementLength, 1);
269 assertSuggest('package:', csKind: CompletionSuggestionKind.IMPORT);
270 assertSuggest('package:foo/', csKind: CompletionSuggestionKind.IMPORT);
271 assertSuggest('package:foo/foo.dart',
272 csKind: CompletionSuggestionKind.IMPORT);
273 assertSuggest('package:foo/baz/', csKind: CompletionSuggestionKind.IMPORT);
274 assertNotSuggested('package:foo/baz/too.dart');
275 assertSuggest('package:bar/', csKind: CompletionSuggestionKind.IMPORT);
276 assertSuggest('package:bar/bar.dart',
277 csKind: CompletionSuggestionKind.IMPORT);
278 }
279
280 test_import_raw() {
281 addTestSource('import r"^" import');
282 computeFast();
283 expect(request.replacementOffset, completionOffset);
284 expect(request.replacementLength, 0);
285 assertSuggest('dart:', csKind: CompletionSuggestionKind.IMPORT);
286 assertSuggest('package:', csKind: CompletionSuggestionKind.IMPORT);
287 }
288
211 test_outside_import() { 289 test_outside_import() {
212 addTestSource('import ^"d" import'); 290 addTestSource('import ^"d" import');
213 computeFast(); 291 computeFast();
214 computeFull((_) { 292 computeFull((_) {
215 assertNoSuggestions(); 293 assertNoSuggestions();
216 }); 294 });
217 } 295 }
218 296
219 test_outside_import2() { 297 test_outside_import2() {
220 addTestSource('import "d"^ import'); 298 addTestSource('import "d"^ import');
(...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after
456 assertNotSuggested('foo/'); 534 assertNotSuggested('foo/');
457 assertNotSuggested('foo/bar.dart'); 535 assertNotSuggested('foo/bar.dart');
458 assertSuggest('../blat.dart', csKind: CompletionSuggestionKind.IMPORT); 536 assertSuggest('../blat.dart', csKind: CompletionSuggestionKind.IMPORT);
459 } 537 }
460 } 538 }
461 539
462 class _TestWinResourceProvider extends MemoryResourceProvider { 540 class _TestWinResourceProvider extends MemoryResourceProvider {
463 @override 541 @override
464 Context get pathContext => windows; 542 Context get pathContext => windows;
465 } 543 }
OLDNEW
« no previous file with comments | « pkg/analysis_server/lib/src/services/completion/uri_contributor.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698