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

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

Issue 2877653002: Remove unused analysisContext from completion request and contributors (Closed)
Patch Set: address comments Created 3 years, 7 months 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.domain.completion; 5 library test.domain.completion;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 8
9 import 'package:analysis_server/protocol/protocol.dart'; 9 import 'package:analysis_server/protocol/protocol.dart';
10 import 'package:analysis_server/protocol/protocol_generated.dart'; 10 import 'package:analysis_server/protocol/protocol_generated.dart';
(...skipping 257 matching lines...) Expand 10 before | Expand all | Expand 10 after
268 '''); 268 ''');
269 return getSuggestions().then((_) { 269 return getSuggestions().then((_) {
270 expect(replacementOffset, equals(completionOffset)); 270 expect(replacementOffset, equals(completionOffset));
271 expect(replacementLength, equals(0)); 271 expect(replacementLength, equals(0));
272 assertHasResult(CompletionSuggestionKind.INVOCATION, 'Object'); 272 assertHasResult(CompletionSuggestionKind.INVOCATION, 'Object');
273 assertHasResult(CompletionSuggestionKind.INVOCATION, 'HtmlElement'); 273 assertHasResult(CompletionSuggestionKind.INVOCATION, 'HtmlElement');
274 assertNoResult('test'); 274 assertNoResult('test');
275 }); 275 });
276 } 276 }
277 277
278 @failingTest
279 test_imports_aborted_new_request() async { 278 test_imports_aborted_new_request() async {
280 // TODO(brianwilkerson) Figure out whether this test makes sense when
281 // running the new driver. It waits for an initial empty notification then
282 // waits for a new notification. But I think that under the driver we only
283 // ever send one notification.
284 addTestFile(''' 279 addTestFile('''
285 class foo { } 280 class foo { }
286 c^'''); 281 c^''');
287 282
288 // Make a request for suggestions 283 // Make a request for suggestions
289 Request request1 = 284 Request request1 =
290 new CompletionGetSuggestionsParams(testFile, completionOffset) 285 new CompletionGetSuggestionsParams(testFile, completionOffset)
291 .toRequest('7'); 286 .toRequest('7');
292 Response response1 = await waitResponse(request1); 287 Response response1 = await waitResponse(request1);
293 var result1 = new CompletionGetSuggestionsResult.fromResponse(response1); 288 var result1 = new CompletionGetSuggestionsResult.fromResponse(response1);
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
394 server.handleRequest(new AnalysisUpdateContentParams( 389 server.handleRequest(new AnalysisUpdateContentParams(
395 {testFile: new AddContentOverlay(revisedContent)}).toRequest('add1')); 390 {testFile: new AddContentOverlay(revisedContent)}).toRequest('add1'));
396 391
397 // Request code completion immediately after edit 392 // Request code completion immediately after edit
398 Response response = await waitResponse( 393 Response response = await waitResponse(
399 new CompletionGetSuggestionsParams(testFile, completionOffset) 394 new CompletionGetSuggestionsParams(testFile, completionOffset)
400 .toRequest('0')); 395 .toRequest('0'));
401 completionId = response.id; 396 completionId = response.id;
402 assertValidId(completionId); 397 assertValidId(completionId);
403 await waitForTasksFinished(); 398 await waitForTasksFinished();
399 // wait for response to arrive
400 // because although the analysis is complete (waitForTasksFinished)
401 // the response may not yet have been processed
402 while (replacementOffset == null) {
403 await new Future.delayed(new Duration(milliseconds: 5));
404 }
404 expect(replacementOffset, completionOffset - 1); 405 expect(replacementOffset, completionOffset - 1);
405 expect(replacementLength, 1); 406 expect(replacementLength, 1);
406 assertHasResult(CompletionSuggestionKind.KEYWORD, 'library', 407 assertHasResult(CompletionSuggestionKind.KEYWORD, 'library',
407 relevance: DART_RELEVANCE_HIGH); 408 relevance: DART_RELEVANCE_HIGH);
408 assertHasResult(CompletionSuggestionKind.KEYWORD, 'import \'\';', 409 assertHasResult(CompletionSuggestionKind.KEYWORD, 'import \'\';',
409 selectionOffset: 8, relevance: DART_RELEVANCE_HIGH); 410 selectionOffset: 8, relevance: DART_RELEVANCE_HIGH);
410 assertHasResult(CompletionSuggestionKind.KEYWORD, 'export \'\';', 411 assertHasResult(CompletionSuggestionKind.KEYWORD, 'export \'\';',
411 selectionOffset: 8, relevance: DART_RELEVANCE_HIGH); 412 selectionOffset: 8, relevance: DART_RELEVANCE_HIGH);
412 assertHasResult(CompletionSuggestionKind.KEYWORD, 'part \'\';', 413 assertHasResult(CompletionSuggestionKind.KEYWORD, 'part \'\';',
413 selectionOffset: 6, relevance: DART_RELEVANCE_HIGH); 414 selectionOffset: 6, relevance: DART_RELEVANCE_HIGH);
(...skipping 363 matching lines...) Expand 10 before | Expand all | Expand 10 after
777 778
778 @override 779 @override
779 Future sort( 780 Future sort(
780 CompletionRequest request, Iterable<CompletionSuggestion> suggestions) { 781 CompletionRequest request, Iterable<CompletionSuggestion> suggestions) {
781 if (!enabled) { 782 if (!enabled) {
782 throw 'unexpected sort'; 783 throw 'unexpected sort';
783 } 784 }
784 return new Future.value(); 785 return new Future.value();
785 } 786 }
786 } 787 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698