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

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

Issue 1470373002: create new Dart specific completion contributor extension point (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: merge 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.dart.util; 5 library test.services.completion.dart.util;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 8
9 import 'package:analysis_server/plugin/protocol/protocol.dart' as protocol 9 import 'package:analysis_server/plugin/protocol/protocol.dart' as protocol
10 show Element, ElementKind; 10 show Element, ElementKind;
11 import 'package:analysis_server/plugin/protocol/protocol.dart' 11 import 'package:analysis_server/plugin/protocol/protocol.dart'
12 hide Element, ElementKind; 12 hide Element, ElementKind;
13 import 'package:analysis_server/plugin/protocol/protocol.dart'; 13 import 'package:analysis_server/plugin/protocol/protocol.dart';
14 import 'package:analysis_server/src/provisional/completion/completion_dart.dart' ; 14 import 'package:analysis_server/src/analysis_server.dart';
15 import 'package:analysis_server/src/provisional/completion/dart/completion_dart. dart';
15 import 'package:analysis_server/src/services/completion/completion_core.dart'; 16 import 'package:analysis_server/src/services/completion/completion_core.dart';
16 import 'package:analysis_server/src/services/completion/dart/completion_manager. dart' 17 import 'package:analysis_server/src/services/completion/dart/completion_manager. dart'
17 show DartCompletionRequestImpl; 18 show DartCompletionRequestImpl;
18 import 'package:analysis_server/src/services/completion/dart_completion_manager. dart' 19 import 'package:analysis_server/src/services/completion/dart_completion_manager. dart'
19 show DART_RELEVANCE_DEFAULT, DART_RELEVANCE_LOW; 20 show DART_RELEVANCE_DEFAULT, DART_RELEVANCE_LOW;
20 import 'package:analysis_server/src/services/index/index.dart'; 21 import 'package:analysis_server/src/services/index/index.dart';
21 import 'package:analysis_server/src/services/index/local_memory_index.dart'; 22 import 'package:analysis_server/src/services/index/local_memory_index.dart';
22 import 'package:analysis_server/src/services/search/search_engine_internal.dart' ; 23 import 'package:analysis_server/src/services/search/search_engine_internal.dart' ;
23 import 'package:analyzer/src/generated/source.dart'; 24 import 'package:analyzer/src/generated/source.dart';
24 import 'package:unittest/unittest.dart'; 25 import 'package:unittest/unittest.dart';
25 26
26 import '../../../abstract_context.dart'; 27 import '../../../abstract_context.dart';
28 import '../../../operation/operation_queue_test.dart';
27 29
28 int suggestionComparator(CompletionSuggestion s1, CompletionSuggestion s2) { 30 int suggestionComparator(CompletionSuggestion s1, CompletionSuggestion s2) {
29 String c1 = s1.completion.toLowerCase(); 31 String c1 = s1.completion.toLowerCase();
30 String c2 = s2.completion.toLowerCase(); 32 String c2 = s2.completion.toLowerCase();
31 return c1.compareTo(c2); 33 return c1.compareTo(c2);
32 } 34 }
33 35
34 abstract class DartCompletionContributorTest extends AbstractContextTest { 36 abstract class DartCompletionContributorTest extends AbstractContextTest {
35 Index index; 37 Index index;
36 SearchEngineImpl searchEngine; 38 SearchEngineImpl searchEngine;
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
124 context.performAnalysisTask(); 126 context.performAnalysisTask();
125 // We use a delayed future to allow microtask events to finish. The 127 // We use a delayed future to allow microtask events to finish. The
126 // Future.value or Future() constructors use scheduleMicrotask themselves an d 128 // Future.value or Future() constructors use scheduleMicrotask themselves an d
127 // would therefore not wait for microtask callbacks that are scheduled after 129 // would therefore not wait for microtask callbacks that are scheduled after
128 // invoking this method. 130 // invoking this method.
129 return new Future.delayed( 131 return new Future.delayed(
130 Duration.ZERO, () => computeLibrariesContaining(times - 1)); 132 Duration.ZERO, () => computeLibrariesContaining(times - 1));
131 } 133 }
132 134
133 Future computeSuggestions([int times = 200]) async { 135 Future computeSuggestions([int times = 200]) async {
136 AnalysisServer server = new AnalysisServerMock(
137 searchEngine: searchEngine, resourceProvider: provider);
134 CompletionRequestImpl baseRequest = new CompletionRequestImpl( 138 CompletionRequestImpl baseRequest = new CompletionRequestImpl(
135 context, provider, testSource, completionOffset); 139 server, context, provider, testSource, completionOffset);
136 request = new DartCompletionRequestImpl.forRequest(baseRequest); 140 request = new DartCompletionRequestImpl.forRequest(baseRequest);
137 Completer<List<CompletionSuggestion>> completer = 141 Completer<List<CompletionSuggestion>> completer =
138 new Completer<List<CompletionSuggestion>>(); 142 new Completer<List<CompletionSuggestion>>();
139 143
140 // Request completions 144 // Request completions
141 contributor 145 contributor
142 .computeSuggestions(request) 146 .computeSuggestions(request)
143 .then((List<CompletionSuggestion> computedSuggestions) { 147 .then((List<CompletionSuggestion> computedSuggestions) {
144 completer.complete(computedSuggestions); 148 completer.complete(computedSuggestions);
145 }); 149 });
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
209 } 213 }
210 214
211 @override 215 @override
212 void setUp() { 216 void setUp() {
213 super.setUp(); 217 super.setUp();
214 index = createLocalMemoryIndex(); 218 index = createLocalMemoryIndex();
215 searchEngine = new SearchEngineImpl(index); 219 searchEngine = new SearchEngineImpl(index);
216 contributor = createContributor(); 220 contributor = createContributor();
217 } 221 }
218 } 222 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698