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

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

Issue 723263004: make completion managers responsible for their own caches (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: merge Created 6 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 | 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 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
59 } 59 }
60 60
61 @override 61 @override
62 void setUp() { 62 void setUp() {
63 super.setUp(); 63 super.setUp();
64 index = createLocalMemoryIndex(); 64 index = createLocalMemoryIndex();
65 searchEngine = new SearchEngineImpl(index); 65 searchEngine = new SearchEngineImpl(index);
66 source = addSource('/does/not/exist.dart', ''); 66 source = addSource('/does/not/exist.dart', '');
67 cache = null; 67 cache = null;
68 perf = new CompletionPerformance(); 68 perf = new CompletionPerformance();
69 manager = new DartCompletionManager.create( 69 manager =
70 context, 70 new DartCompletionManager.create(context, searchEngine, source, cache);
71 searchEngine,
72 source,
73 0,
74 cache,
75 perf);
76 suggestion1 = new CompletionSuggestion( 71 suggestion1 = new CompletionSuggestion(
77 CompletionSuggestionKind.INVOCATION, 72 CompletionSuggestionKind.INVOCATION,
78 CompletionRelevance.DEFAULT, 73 CompletionRelevance.DEFAULT,
79 "suggestion1", 74 "suggestion1",
80 1, 75 1,
81 1, 76 1,
82 false, 77 false,
83 false); 78 false);
84 suggestion2 = new CompletionSuggestion( 79 suggestion2 = new CompletionSuggestion(
85 CompletionSuggestionKind.IDENTIFIER, 80 CompletionSuggestionKind.IDENTIFIER,
86 CompletionRelevance.DEFAULT, 81 CompletionRelevance.DEFAULT,
87 "suggestion2", 82 "suggestion2",
88 2, 83 2,
89 2, 84 2,
90 false, 85 false,
91 false); 86 false);
92 } 87 }
93 88
94 test_compute_fastAndFull() { 89 test_compute_fastAndFull() {
95 computer1 = new MockCompletionComputer(suggestion1, null); 90 computer1 = new MockCompletionComputer(suggestion1, null);
96 computer2 = new MockCompletionComputer(null, suggestion2); 91 computer2 = new MockCompletionComputer(null, suggestion2);
97 manager.computers = [computer1, computer2]; 92 manager.computers = [computer1, computer2];
98 int count = 0; 93 int count = 0;
99 bool done = false; 94 bool done = false;
100 manager.results().listen((CompletionResult r) { 95 CompletionRequest completionRequest = new CompletionRequest(0, perf);
96 manager.results(completionRequest).listen((CompletionResult r) {
101 switch (++count) { 97 switch (++count) {
102 case 1: 98 case 1:
103 computer1.assertCalls(context, source, 0, searchEngine); 99 computer1.assertCalls(context, source, 0, searchEngine);
104 computer2.assertCalls(context, source, 0, searchEngine); 100 computer2.assertCalls(context, source, 0, searchEngine);
105 expect(r.last, isFalse); 101 expect(r.last, isFalse);
106 expect(r.suggestions, hasLength(1)); 102 expect(r.suggestions, hasLength(1));
107 expect(r.suggestions, contains(suggestion1)); 103 expect(r.suggestions, contains(suggestion1));
108 resolveLibrary(); 104 resolveLibrary();
109 break; 105 break;
110 case 2: 106 case 2:
(...skipping 15 matching lines...) Expand all
126 expect(done, isTrue); 122 expect(done, isTrue);
127 }); 123 });
128 } 124 }
129 125
130 test_compute_fastOnly() { 126 test_compute_fastOnly() {
131 computer1 = new MockCompletionComputer(suggestion1, null); 127 computer1 = new MockCompletionComputer(suggestion1, null);
132 computer2 = new MockCompletionComputer(suggestion2, null); 128 computer2 = new MockCompletionComputer(suggestion2, null);
133 manager.computers = [computer1, computer2]; 129 manager.computers = [computer1, computer2];
134 int count = 0; 130 int count = 0;
135 bool done = false; 131 bool done = false;
136 manager.results().listen((CompletionResult r) { 132 CompletionRequest completionRequest = new CompletionRequest(0, perf);
133 manager.results(completionRequest).listen((CompletionResult r) {
137 switch (++count) { 134 switch (++count) {
138 case 1: 135 case 1:
139 computer1.assertCalls(context, source, 0, searchEngine); 136 computer1.assertCalls(context, source, 0, searchEngine);
140 computer2.assertCalls(context, source, 0, searchEngine); 137 computer2.assertCalls(context, source, 0, searchEngine);
141 expect(r.last, isTrue); 138 expect(r.last, isTrue);
142 expect(r.suggestions, hasLength(2)); 139 expect(r.suggestions, hasLength(2));
143 expect(r.suggestions, contains(suggestion1)); 140 expect(r.suggestions, contains(suggestion1));
144 expect(r.suggestions, contains(suggestion2)); 141 expect(r.suggestions, contains(suggestion2));
145 break; 142 break;
146 default: 143 default:
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
193 @override 190 @override
194 Future<bool> computeFull(DartCompletionRequest request) { 191 Future<bool> computeFull(DartCompletionRequest request) {
195 this.request = request; 192 this.request = request;
196 fullCount++; 193 fullCount++;
197 if (fullSuggestion != null) { 194 if (fullSuggestion != null) {
198 request.suggestions.add(fullSuggestion); 195 request.suggestions.add(fullSuggestion);
199 } 196 }
200 return new Future.value(fullSuggestion != null); 197 return new Future.value(fullSuggestion != null);
201 } 198 }
202 } 199 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698