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