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

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

Issue 1484853002: new DartCompletionPlugin (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 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
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.suggestion; 5 library test.services.completion.suggestion;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 8
9 import 'package:analysis_server/plugin/protocol/protocol.dart'; 9 import 'package:analysis_server/plugin/protocol/protocol.dart';
10 import 'package:analysis_server/src/analysis_server.dart';
11 import 'package:analysis_server/src/provisional/completion/completion_core.dart' 10 import 'package:analysis_server/src/provisional/completion/completion_core.dart'
12 show CompletionRequest, CompletionResult; 11 show CompletionRequest, CompletionResult;
13 import 'package:analysis_server/src/services/completion/completion_core.dart'; 12 import 'package:analysis_server/src/services/completion/completion_core.dart';
14 import 'package:analysis_server/src/services/completion/completion_manager.dart' ; 13 import 'package:analysis_server/src/services/completion/completion_manager.dart' ;
15 import 'package:analysis_server/src/services/completion/dart_completion_manager. dart'; 14 import 'package:analysis_server/src/services/completion/dart_completion_manager. dart';
16 import 'package:analysis_server/src/services/index/index.dart'; 15 import 'package:analysis_server/src/services/index/index.dart';
17 import 'package:analysis_server/src/services/index/local_memory_index.dart'; 16 import 'package:analysis_server/src/services/index/local_memory_index.dart';
18 import 'package:analysis_server/src/services/search/search_engine.dart'; 17 import 'package:analysis_server/src/services/search/search_engine.dart';
19 import 'package:analysis_server/src/services/search/search_engine_internal.dart' ; 18 import 'package:analysis_server/src/services/search/search_engine_internal.dart' ;
20 import 'package:analyzer/src/generated/engine.dart'; 19 import 'package:analyzer/src/generated/engine.dart';
21 import 'package:analyzer/src/generated/source.dart'; 20 import 'package:analyzer/src/generated/source.dart';
22 import 'package:test_reflective_loader/test_reflective_loader.dart'; 21 import 'package:test_reflective_loader/test_reflective_loader.dart';
23 import 'package:unittest/unittest.dart'; 22 import 'package:unittest/unittest.dart';
24 23
25 import '../../abstract_single_unit.dart'; 24 import '../../abstract_single_unit.dart';
26 import '../../operation/operation_queue_test.dart';
27 import '../../utils.dart'; 25 import '../../utils.dart';
28 26
29 main() { 27 main() {
30 initializeTestEnvironment(); 28 initializeTestEnvironment();
31 defineReflectiveTests(DartCompletionManagerTest); 29 defineReflectiveTests(DartCompletionManagerTest);
32 } 30 }
33 31
34 /** 32 /**
35 * Returns a [Future] that completes after pumping the event queue [times] 33 * Returns a [Future] that completes after pumping the event queue [times]
36 * times. By default, this should pump the event queue enough times to allow 34 * times. By default, this should pump the event queue enough times to allow
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
81 _continuePerformingAnalysis = false; 79 _continuePerformingAnalysis = false;
82 } 80 }
83 81
84 test_compute_fastAndFull() { 82 test_compute_fastAndFull() {
85 contributor1 = new MockCompletionContributor(suggestion1, null); 83 contributor1 = new MockCompletionContributor(suggestion1, null);
86 contributor2 = new MockCompletionContributor(null, suggestion2); 84 contributor2 = new MockCompletionContributor(null, suggestion2);
87 manager.contributors = [contributor1, contributor2]; 85 manager.contributors = [contributor1, contributor2];
88 manager.newContributors = []; 86 manager.newContributors = [];
89 int count = 0; 87 int count = 0;
90 bool done = false; 88 bool done = false;
91 AnalysisServer server = new AnalysisServerMock(searchEngine: searchEngine);
92 CompletionRequest completionRequest = 89 CompletionRequest completionRequest =
93 new CompletionRequestImpl(server, context, source, 0); 90 new CompletionRequestImpl(context, provider, searchEngine, source, 0);
94 manager.results(completionRequest).listen((CompletionResult r) { 91 manager.results(completionRequest).listen((CompletionResult r) {
95 bool isLast = r is CompletionResultImpl ? r.isLast : true; 92 bool isLast = r is CompletionResultImpl ? r.isLast : true;
96 switch (++count) { 93 switch (++count) {
97 case 1: 94 case 1:
98 contributor1.assertCalls(context, source, 0, searchEngine); 95 contributor1.assertCalls(context, source, 0, searchEngine);
99 expect(contributor1.fastCount, equals(1)); 96 expect(contributor1.fastCount, equals(1));
100 expect(contributor1.fullCount, equals(0)); 97 expect(contributor1.fullCount, equals(0));
101 contributor2.assertCalls(context, source, 0, searchEngine); 98 contributor2.assertCalls(context, source, 0, searchEngine);
102 expect(contributor2.fastCount, equals(1)); 99 expect(contributor2.fastCount, equals(1));
103 expect(contributor2.fullCount, equals(1)); 100 expect(contributor2.fullCount, equals(1));
(...skipping 16 matching lines...) Expand all
120 }); 117 });
121 } 118 }
122 119
123 test_compute_fastOnly() { 120 test_compute_fastOnly() {
124 contributor1 = new MockCompletionContributor(suggestion1, null); 121 contributor1 = new MockCompletionContributor(suggestion1, null);
125 contributor2 = new MockCompletionContributor(suggestion2, null); 122 contributor2 = new MockCompletionContributor(suggestion2, null);
126 manager.contributors = [contributor1, contributor2]; 123 manager.contributors = [contributor1, contributor2];
127 manager.newContributors = []; 124 manager.newContributors = [];
128 int count = 0; 125 int count = 0;
129 bool done = false; 126 bool done = false;
130 AnalysisServer server = new AnalysisServerMock(searchEngine: searchEngine);
131 CompletionRequest completionRequest = 127 CompletionRequest completionRequest =
132 new CompletionRequestImpl(server, context, source, 0); 128 new CompletionRequestImpl(context, provider, searchEngine, source, 0);
133 manager.results(completionRequest).listen((CompletionResult r) { 129 manager.results(completionRequest).listen((CompletionResult r) {
134 bool isLast = r is CompletionResultImpl ? r.isLast : true; 130 bool isLast = r is CompletionResultImpl ? r.isLast : true;
135 switch (++count) { 131 switch (++count) {
136 case 1: 132 case 1:
137 contributor1.assertCalls(context, source, 0, searchEngine); 133 contributor1.assertCalls(context, source, 0, searchEngine);
138 expect(contributor1.fastCount, equals(1)); 134 expect(contributor1.fastCount, equals(1));
139 expect(contributor1.fullCount, equals(0)); 135 expect(contributor1.fullCount, equals(0));
140 contributor2.assertCalls(context, source, 0, searchEngine); 136 contributor2.assertCalls(context, source, 0, searchEngine);
141 expect(contributor2.fastCount, equals(1)); 137 expect(contributor2.fastCount, equals(1));
142 expect(contributor2.fullCount, equals(0)); 138 expect(contributor2.fullCount, equals(0));
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
201 @override 197 @override
202 Future<bool> computeFull(DartCompletionRequest request) { 198 Future<bool> computeFull(DartCompletionRequest request) {
203 this.request = request; 199 this.request = request;
204 fullCount++; 200 fullCount++;
205 if (fullSuggestion != null) { 201 if (fullSuggestion != null) {
206 request.addSuggestion(fullSuggestion); 202 request.addSuggestion(fullSuggestion);
207 } 203 }
208 return new Future.value(fullSuggestion != null); 204 return new Future.value(fullSuggestion != null);
209 } 205 }
210 } 206 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698