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

Side by Side Diff: pkg/analysis_server/test/domain_completion_test.dart

Issue 815683002: support part file completions (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years 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 | Annotate | Revision Log
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.domain.completion; 5 library test.domain.completion;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 8
9 import 'package:analysis_server/src/analysis_server.dart'; 9 import 'package:analysis_server/src/analysis_server.dart';
10 import 'package:analysis_server/src/channel/channel.dart'; 10 import 'package:analysis_server/src/channel/channel.dart';
(...skipping 345 matching lines...) Expand 10 before | Expand all | Expand 10 after
356 '''); 356 ''');
357 return getSuggestions().then((_) { 357 return getSuggestions().then((_) {
358 expect(replacementOffset, equals(completionOffset)); 358 expect(replacementOffset, equals(completionOffset));
359 expect(replacementLength, equals(0)); 359 expect(replacementLength, equals(0));
360 assertHasResult(CompletionSuggestionKind.INVOCATION, 'Object'); 360 assertHasResult(CompletionSuggestionKind.INVOCATION, 'Object');
361 assertHasResult(CompletionSuggestionKind.INVOCATION, 'HtmlElement'); 361 assertHasResult(CompletionSuggestionKind.INVOCATION, 'HtmlElement');
362 assertNoResult('test'); 362 assertNoResult('test');
363 }); 363 });
364 } 364 }
365 365
366 test_partFile() {
367 addFile('/project/bin/testA.dart', '''
368 library libA;
369 part "$testFile";
370 import 'dart:html';
371 class A { }
372 ''');
373 addTestFile('''
374 part of libA;
375 main() {^}''');
376 return getSuggestions().then((_) {
377 expect(replacementOffset, equals(completionOffset));
378 expect(replacementLength, equals(0));
379 assertHasResult(CompletionSuggestionKind.INVOCATION, 'Object');
380 assertHasResult(CompletionSuggestionKind.INVOCATION, 'HtmlElement');
381 assertHasResult(CompletionSuggestionKind.INVOCATION, 'A');
382 assertNoResult('test');
383 });
384 }
385
386 test_partFile2() {
387 addFile('/testA.dart', '''
388 part of libA;
389 class A { }''');
390 addTestFile('''
391 library libA;
392 part "/testA.dart";
393 import 'dart:html';
394 main() {^}
395 ''');
396 return getSuggestions().then((_) {
397 expect(replacementOffset, equals(completionOffset));
398 expect(replacementLength, equals(0));
399 assertHasResult(CompletionSuggestionKind.INVOCATION, 'Object');
400 assertHasResult(CompletionSuggestionKind.INVOCATION, 'HtmlElement');
401 assertHasResult(CompletionSuggestionKind.INVOCATION, 'A');
402 assertNoResult('test');
403 });
404 }
405
366 test_imports_prefixed() { 406 test_imports_prefixed() {
367 addTestFile(''' 407 addTestFile('''
368 import 'dart:html' as foo; 408 import 'dart:html' as foo;
369 main() {^} 409 main() {^}
370 '''); 410 ''');
371 return getSuggestions().then((_) { 411 return getSuggestions().then((_) {
372 expect(replacementOffset, equals(completionOffset)); 412 expect(replacementOffset, equals(completionOffset));
373 expect(replacementLength, equals(0)); 413 expect(replacementLength, equals(0));
374 assertHasResult(CompletionSuggestionKind.INVOCATION, 'Object'); 414 assertHasResult(CompletionSuggestionKind.INVOCATION, 'Object');
375 assertHasResult(CompletionSuggestionKind.INVOCATION, 'foo'); 415 assertHasResult(CompletionSuggestionKind.INVOCATION, 'foo');
376 assertNoResult('HtmlElement'); 416 assertNoResult('HtmlElement');
377 assertNoResult('test'); 417 assertNoResult('test');
378 }); 418 });
379 } 419 }
380 420
381 test_invocation() { 421 test_invocation() {
382 addTestFile('class A {b() {}} main() {A a; a.^}'); 422 addTestFile('class A {b() {}} main() {A a; a.^}');
383 return getSuggestions().then((_) { 423 return getSuggestions().then((_) {
384 expect(replacementOffset, equals(completionOffset)); 424 expect(replacementOffset, equals(completionOffset));
385 expect(replacementLength, equals(0)); 425 expect(replacementLength, equals(0));
386 assertHasResult(CompletionSuggestionKind.INVOCATION, 'b'); 426 assertHasResult(CompletionSuggestionKind.INVOCATION, 'b');
387 }); 427 });
388 } 428 }
389 429
430 test_invocation_withTrailingStmt() {
431 addTestFile('class A {b() {}} main() {A a; a.^ int x = 7;}');
432 return getSuggestions().then((_) {
433 expect(replacementOffset, equals(completionOffset));
434 expect(replacementLength, equals(0));
435 assertHasResult(CompletionSuggestionKind.INVOCATION, 'b');
436 });
437 }
438
390 test_keyword() { 439 test_keyword() {
391 addTestFile('library A; cl^'); 440 addTestFile('library A; cl^');
392 return getSuggestions().then((_) { 441 return getSuggestions().then((_) {
393 expect(replacementOffset, equals(completionOffset - 2)); 442 expect(replacementOffset, equals(completionOffset - 2));
394 expect(replacementLength, equals(2)); 443 expect(replacementLength, equals(2));
395 assertHasResult( 444 assertHasResult(
396 CompletionSuggestionKind.KEYWORD, 445 CompletionSuggestionKind.KEYWORD,
397 'import', 446 'import',
398 CompletionRelevance.HIGH); 447 CompletionRelevance.HIGH);
399 assertHasResult( 448 assertHasResult(
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
576 625
577 void contextsChangedRaw(ContextsChangedEvent newEvent) { 626 void contextsChangedRaw(ContextsChangedEvent newEvent) {
578 super.contextsChanged(newEvent); 627 super.contextsChanged(newEvent);
579 } 628 }
580 629
581 CompletionManager createCompletionManager(AnalysisContext context, 630 CompletionManager createCompletionManager(AnalysisContext context,
582 Source source, SearchEngine searchEngine) { 631 Source source, SearchEngine searchEngine) {
583 return new MockCompletionManager(mockContext, source, searchEngine); 632 return new MockCompletionManager(mockContext, source, searchEngine);
584 } 633 }
585 } 634 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698