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

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

Issue 543393002: improve keyword suggestions (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 3 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 | Annotate | Revision Log
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/src/protocol.dart'; 9 import 'package:analysis_server/src/protocol.dart';
10 import 'package:analysis_server/src/services/completion/completion_manager.dart' ; 10 import 'package:analysis_server/src/services/completion/completion_manager.dart' ;
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
54 source, 54 source,
55 context.computeLibraryElement(source)); 55 context.computeLibraryElement(source));
56 } 56 }
57 57
58 @override 58 @override
59 void setUp() { 59 void setUp() {
60 super.setUp(); 60 super.setUp();
61 index = createLocalMemoryIndex(); 61 index = createLocalMemoryIndex();
62 searchEngine = new SearchEngineImpl(index); 62 searchEngine = new SearchEngineImpl(index);
63 source = addSource('/does/not/exist.dart', ''); 63 source = addSource('/does/not/exist.dart', '');
64 manager = new DartCompletionManager(context, searchEngine, source, 17); 64 manager = new DartCompletionManager(context, searchEngine, source, 0);
65 suggestion1 = new CompletionSuggestion( 65 suggestion1 = new CompletionSuggestion(
66 CompletionSuggestionKind.CLASS, 66 CompletionSuggestionKind.CLASS,
67 CompletionRelevance.DEFAULT, 67 CompletionRelevance.DEFAULT,
68 "suggestion1", 68 "suggestion1",
69 1, 69 1,
70 1, 70 1,
71 false, 71 false,
72 false); 72 false);
73 suggestion2 = new CompletionSuggestion( 73 suggestion2 = new CompletionSuggestion(
74 CompletionSuggestionKind.CLASS, 74 CompletionSuggestionKind.CLASS,
75 CompletionRelevance.DEFAULT, 75 CompletionRelevance.DEFAULT,
76 "suggestion2", 76 "suggestion2",
77 2, 77 2,
78 2, 78 2,
79 false, 79 false,
80 false); 80 false);
81 } 81 }
82 82
83 test_compute_fastAndFull() { 83 test_compute_fastAndFull() {
84 computer1 = new MockCompletionComputer(suggestion1, null); 84 computer1 = new MockCompletionComputer(suggestion1, null);
85 computer2 = new MockCompletionComputer(null, suggestion2); 85 computer2 = new MockCompletionComputer(null, suggestion2);
86 manager.computers = [computer1, computer2]; 86 manager.computers = [computer1, computer2];
87 int count = 0; 87 int count = 0;
88 bool done = false; 88 bool done = false;
89 manager.results().listen((CompletionResult r) { 89 manager.results().listen((CompletionResult r) {
90 switch (++count) { 90 switch (++count) {
91 case 1: 91 case 1:
92 computer1.assertCalls(context, source, 17, searchEngine); 92 computer1.assertCalls(context, source, 0, searchEngine);
93 computer2.assertCalls(context, source, 17, searchEngine); 93 computer2.assertCalls(context, source, 0, searchEngine);
94 expect(r.last, isFalse); 94 expect(r.last, isFalse);
95 expect(r.suggestions, hasLength(1)); 95 expect(r.suggestions, hasLength(1));
96 expect(r.suggestions, contains(suggestion1)); 96 expect(r.suggestions, contains(suggestion1));
97 resolveLibrary(); 97 resolveLibrary();
98 break; 98 break;
99 case 2: 99 case 2:
100 computer1.assertFull(0); 100 computer1.assertFull(0);
101 computer2.assertFull(1); 101 computer2.assertFull(1);
102 expect(r.last, isTrue); 102 expect(r.last, isTrue);
103 expect(r.suggestions, hasLength(2)); 103 expect(r.suggestions, hasLength(2));
(...skipping 14 matching lines...) Expand all
118 118
119 test_compute_fastOnly() { 119 test_compute_fastOnly() {
120 computer1 = new MockCompletionComputer(suggestion1, null); 120 computer1 = new MockCompletionComputer(suggestion1, null);
121 computer2 = new MockCompletionComputer(suggestion2, null); 121 computer2 = new MockCompletionComputer(suggestion2, null);
122 manager.computers = [computer1, computer2]; 122 manager.computers = [computer1, computer2];
123 int count = 0; 123 int count = 0;
124 bool done = false; 124 bool done = false;
125 manager.results().listen((CompletionResult r) { 125 manager.results().listen((CompletionResult r) {
126 switch (++count) { 126 switch (++count) {
127 case 1: 127 case 1:
128 computer1.assertCalls(context, source, 17, searchEngine); 128 computer1.assertCalls(context, source, 0, searchEngine);
129 computer2.assertCalls(context, source, 17, searchEngine); 129 computer2.assertCalls(context, source, 0, searchEngine);
130 expect(r.last, isTrue); 130 expect(r.last, isTrue);
131 expect(r.suggestions, hasLength(2)); 131 expect(r.suggestions, hasLength(2));
132 expect(r.suggestions, contains(suggestion1)); 132 expect(r.suggestions, contains(suggestion1));
133 expect(r.suggestions, contains(suggestion2)); 133 expect(r.suggestions, contains(suggestion2));
134 break; 134 break;
135 default: 135 default:
136 fail('unexpected'); 136 fail('unexpected');
137 } 137 }
138 }, onDone: () { 138 }, onDone: () {
139 done = true; 139 done = true;
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
182 @override 182 @override
183 Future<bool> computeFull(DartCompletionRequest request) { 183 Future<bool> computeFull(DartCompletionRequest request) {
184 this.request = request; 184 this.request = request;
185 fullCount++; 185 fullCount++;
186 if (fullSuggestion != null) { 186 if (fullSuggestion != null) {
187 request.suggestions.add(fullSuggestion); 187 request.suggestions.add(fullSuggestion);
188 } 188 }
189 return new Future.value(fullSuggestion != null); 189 return new Future.value(fullSuggestion != null);
190 } 190 }
191 } 191 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698