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/completion/completion_core.dart' | 9 import 'package:analysis_server/completion/completion_core.dart' |
10 show CompletionRequest, CompletionResult; | 10 show CompletionRequest, CompletionResult; |
| 11 import 'package:analysis_server/completion/completion_dart.dart' as newApi; |
11 import 'package:analysis_server/src/analysis_server.dart'; | 12 import 'package:analysis_server/src/analysis_server.dart'; |
12 import 'package:analysis_server/src/channel/channel.dart'; | 13 import 'package:analysis_server/src/channel/channel.dart'; |
13 import 'package:analysis_server/src/constants.dart'; | 14 import 'package:analysis_server/src/constants.dart'; |
14 import 'package:analysis_server/src/context_manager.dart'; | 15 import 'package:analysis_server/src/context_manager.dart'; |
15 import 'package:analysis_server/src/domain_analysis.dart'; | 16 import 'package:analysis_server/src/domain_analysis.dart'; |
16 import 'package:analysis_server/src/domain_completion.dart'; | 17 import 'package:analysis_server/src/domain_completion.dart'; |
17 import 'package:analysis_server/src/plugin/server_plugin.dart'; | 18 import 'package:analysis_server/src/plugin/server_plugin.dart'; |
18 import 'package:analysis_server/src/protocol.dart'; | 19 import 'package:analysis_server/src/protocol.dart'; |
19 import 'package:analysis_server/src/services/completion/completion_manager.dart'
; | 20 import 'package:analysis_server/src/services/completion/completion_manager.dart'
; |
20 import 'package:analysis_server/src/services/completion/contribution_sorter.dart
'; | 21 import 'package:analysis_server/src/services/completion/contribution_sorter.dart
'; |
(...skipping 453 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
474 test_invocation_sdk_relevancy_off() { | 475 test_invocation_sdk_relevancy_off() { |
475 var originalSorter = DartCompletionManager.defaultContributionSorter; | 476 var originalSorter = DartCompletionManager.defaultContributionSorter; |
476 var mockSorter = new MockRelevancySorter(); | 477 var mockSorter = new MockRelevancySorter(); |
477 DartCompletionManager.defaultContributionSorter = mockSorter; | 478 DartCompletionManager.defaultContributionSorter = mockSorter; |
478 addTestFile('main() {Map m; m.^}'); | 479 addTestFile('main() {Map m; m.^}'); |
479 return getSuggestions().then((_) { | 480 return getSuggestions().then((_) { |
480 // Assert that the CommonUsageComputer has been replaced | 481 // Assert that the CommonUsageComputer has been replaced |
481 expect(suggestions.any((s) => s.relevance == DART_RELEVANCE_COMMON_USAGE), | 482 expect(suggestions.any((s) => s.relevance == DART_RELEVANCE_COMMON_USAGE), |
482 isFalse); | 483 isFalse); |
483 DartCompletionManager.defaultContributionSorter = originalSorter; | 484 DartCompletionManager.defaultContributionSorter = originalSorter; |
484 expect(mockSorter.count, 2); | 485 mockSorter.enabled = false; |
485 }); | 486 }); |
486 } | 487 } |
487 | 488 |
488 test_invocation_sdk_relevancy_on() { | 489 test_invocation_sdk_relevancy_on() { |
489 addTestFile('main() {Map m; m.^}'); | 490 addTestFile('main() {Map m; m.^}'); |
490 return getSuggestions().then((_) { | 491 return getSuggestions().then((_) { |
491 // Assert that the CommonUsageComputer is working | 492 // Assert that the CommonUsageComputer is working |
492 expect(suggestions.any((s) => s.relevance == DART_RELEVANCE_COMMON_USAGE), | 493 expect(suggestions.any((s) => s.relevance == DART_RELEVANCE_COMMON_USAGE), |
493 isTrue); | 494 isTrue); |
494 }); | 495 }); |
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
708 | 709 |
709 @override | 710 @override |
710 TimestampedData<String> getContents(Source source) { | 711 TimestampedData<String> getContents(Source source) { |
711 return source.contents; | 712 return source.contents; |
712 } | 713 } |
713 | 714 |
714 noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation); | 715 noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation); |
715 } | 716 } |
716 | 717 |
717 class MockRelevancySorter implements ContributionSorter { | 718 class MockRelevancySorter implements ContributionSorter { |
718 int count = 0; | 719 bool enabled = true; |
719 | 720 |
720 @override | 721 @override |
721 void sort(DartCompletionRequest request) { | 722 void sort(newApi.DartCompletionRequest request, |
722 if (++count > 2) { | 723 List<CompletionSuggestion> suggestions) { |
| 724 if (!enabled) { |
723 throw 'unexpected sort'; | 725 throw 'unexpected sort'; |
724 } | 726 } |
725 } | 727 } |
726 } | 728 } |
727 | 729 |
728 /** | 730 /** |
729 * Mock stream for tracking calls to listen and subscription.cancel. | 731 * Mock stream for tracking calls to listen and subscription.cancel. |
730 */ | 732 */ |
731 class MockStream<E> implements Stream<E> { | 733 class MockStream<E> implements Stream<E> { |
732 MockSubscription<E> mockSubscription = new MockSubscription<E>(); | 734 MockSubscription<E> mockSubscription = new MockSubscription<E>(); |
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
836 } | 838 } |
837 '''); | 839 '''); |
838 await waitForTasksFinished(); | 840 await waitForTasksFinished(); |
839 Request request = | 841 Request request = |
840 new CompletionGetSuggestionsParams(testFile, 0).toRequest('0'); | 842 new CompletionGetSuggestionsParams(testFile, 0).toRequest('0'); |
841 Response response = handler.handleRequest(request); | 843 Response response = handler.handleRequest(request); |
842 expect(response.error, isNotNull); | 844 expect(response.error, isNotNull); |
843 expect(response.error.code, RequestErrorCode.NO_INDEX_GENERATED); | 845 expect(response.error.code, RequestErrorCode.NO_INDEX_GENERATED); |
844 } | 846 } |
845 } | 847 } |
OLD | NEW |