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

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

Issue 297153002: Implementation of 'Server Domain' in dart analysis server. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 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 | 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.analysis_server; 5 library test.analysis_server;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 8
9 import 'package:analyzer/src/generated/engine.dart'; 9 import 'package:analyzer/src/generated/engine.dart';
10 import 'package:analyzer/src/generated/source_io.dart'; 10 import 'package:analyzer/src/generated/source_io.dart';
11 import 'package:analyzer/src/generated/error.dart'; 11 import 'package:analyzer/src/generated/error.dart';
12 import 'package:analysis_server/src/analysis_server.dart'; 12 import 'package:analysis_server/src/analysis_server.dart';
13 import 'package:analysis_server/src/domain_server.dart'; 13 import 'package:analysis_server/src/domain_server.dart';
14 import 'package:analysis_server/src/protocol.dart'; 14 import 'package:analysis_server/src/protocol.dart';
15 import 'package:mock/mock.dart'; 15 import 'package:mock/mock.dart';
16 import 'package:unittest/unittest.dart'; 16 import 'package:unittest/unittest.dart';
17 17
18 import 'mocks.dart'; 18 import 'mocks.dart';
19 19
20 main() { 20 main() {
21 group('AnalysisServer', () { 21 group('AnalysisServer', () {
22 setUp(AnalysisServerTest.setUp); 22 setUp(AnalysisServerTest.setUp);
23 test('addContextToWorkQueue_twice', 23 test('addContextToWorkQueue_twice',
24 AnalysisServerTest.addContextToWorkQueue_twice); 24 AnalysisServerTest.addContextToWorkQueue_twice);
25 test('addContextToWorkQueue_whenNotRunning', 25 test('addContextToWorkQueue_whenNotRunning',
26 AnalysisServerTest.addContextToWorkQueue_whenNotRunning); 26 AnalysisServerTest.addContextToWorkQueue_whenNotRunning);
27 test('addContextToWorkQueue_whenRunning', 27 test('addContextToWorkQueue_whenRunning',
28 AnalysisServerTest.addContextToWorkQueue_whenRunning); 28 AnalysisServerTest.addContextToWorkQueue_whenRunning);
29 test('createContext', AnalysisServerTest.createContext); 29 // TODO(scheglov) remove or move to the 'analysis' domain
30 // test('createContext', AnalysisServerTest.createContext);
30 test('echo', AnalysisServerTest.echo); 31 test('echo', AnalysisServerTest.echo);
31 test('errorToJson_formattingApplied', 32 test('errorToJson_formattingApplied',
32 AnalysisServerTest.errorToJson_formattingApplied); 33 AnalysisServerTest.errorToJson_formattingApplied);
33 test('errorToJson_noCorrection', 34 test('errorToJson_noCorrection',
34 AnalysisServerTest.errorToJson_noCorrection); 35 AnalysisServerTest.errorToJson_noCorrection);
35 test('errorToJson_withCorrection', 36 test('errorToJson_withCorrection',
36 AnalysisServerTest.errorToJson_withCorrection); 37 AnalysisServerTest.errorToJson_withCorrection);
37 test('performTask_whenNotRunning', 38 test('performTask_whenNotRunning',
38 AnalysisServerTest.performTask_whenNotRunning); 39 AnalysisServerTest.performTask_whenNotRunning);
39 test('shutdown', AnalysisServerTest.shutdown); 40 test('shutdown', AnalysisServerTest.shutdown);
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
95 // The context should only be asked to perform its analysis task once. 96 // The context should only be asked to perform its analysis task once.
96 MockAnalysisContext context = new MockAnalysisContext(); 97 MockAnalysisContext context = new MockAnalysisContext();
97 server.addContextToWorkQueue(context); 98 server.addContextToWorkQueue(context);
98 server.addContextToWorkQueue(context); 99 server.addContextToWorkQueue(context);
99 context.when(callsTo('performAnalysisTask')).thenReturn( 100 context.when(callsTo('performAnalysisTask')).thenReturn(
100 new AnalysisResult(null, 0, null, 0)); 101 new AnalysisResult(null, 0, null, 0));
101 return pumpEventQueue().then((_) => 102 return pumpEventQueue().then((_) =>
102 context.getLogs(callsTo('performAnalysisTask')).verify(happenedExactly(1 ))); 103 context.getLogs(callsTo('performAnalysisTask')).verify(happenedExactly(1 )));
103 } 104 }
104 105
105 static Future createContext() { 106 // TODO(scheglov) remove or move to the 'analysis' domain
106 server.handlers = [new ServerDomainHandler(server)]; 107 // static Future createContext() {
107 var request = new Request('my27', ServerDomainHandler.CREATE_CONTEXT_METHOD) ; 108 // server.handlers = [new ServerDomainHandler(server)];
108 request.setParameter(ServerDomainHandler.SDK_DIRECTORY_PARAM, sdkPath); 109 // var request = new Request('my27', ServerDomainHandler.CREATE_CONTEXT_METHO D);
109 request.setParameter(AnalysisServer.CONTEXT_ID_PARAM, 'ctx'); 110 // request.setParameter(ServerDomainHandler.SDK_DIRECTORY_PARAM, sdkPath);
110 return channel.sendRequest(request) 111 // request.setParameter(AnalysisServer.CONTEXT_ID_PARAM, 'ctx');
111 .then((Response response) { 112 // return channel.sendRequest(request)
112 expect(response.id, equals('my27')); 113 // .then((Response response) {
113 expect(response.error, isNull); 114 // expect(response.id, equals('my27'));
114 }); 115 // expect(response.error, isNull);
115 } 116 // });
117 // }
116 118
117 static Future echo() { 119 static Future echo() {
118 server.handlers = [new EchoHandler()]; 120 server.handlers = [new EchoHandler()];
119 var request = new Request('my22', 'echo'); 121 var request = new Request('my22', 'echo');
120 return channel.sendRequest(request) 122 return channel.sendRequest(request)
121 .then((Response response) { 123 .then((Response response) {
122 expect(response.id, equals('my22')); 124 expect(response.id, equals('my22'));
123 expect(response.error, isNull); 125 expect(response.error, isNull);
124 }); 126 });
125 } 127 }
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
175 server.addContextToWorkQueue(context); 177 server.addContextToWorkQueue(context);
176 server.running = false; 178 server.running = false;
177 // Pump the event queue to make sure the server doesn't try to do any 179 // Pump the event queue to make sure the server doesn't try to do any
178 // analysis. 180 // analysis.
179 return pumpEventQueue(); 181 return pumpEventQueue();
180 } 182 }
181 183
182 static Future shutdown() { 184 static Future shutdown() {
183 server.handlers = [new ServerDomainHandler(server)]; 185 server.handlers = [new ServerDomainHandler(server)];
184 var request = new Request('my28', ServerDomainHandler.SHUTDOWN_METHOD); 186 var request = new Request('my28', ServerDomainHandler.SHUTDOWN_METHOD);
185 request.setParameter(ServerDomainHandler.SDK_DIRECTORY_PARAM, '');
186 return channel.sendRequest(request) 187 return channel.sendRequest(request)
187 .then((Response response) { 188 .then((Response response) {
188 expect(response.id, equals('my28')); 189 expect(response.id, equals('my28'));
189 expect(response.error, isNull); 190 expect(response.error, isNull);
190 }); 191 });
191 } 192 }
192 193
193 static Future unknownRequest() { 194 static Future unknownRequest() {
194 server.handlers = [new EchoHandler()]; 195 server.handlers = [new EchoHandler()];
195 var request = new Request('my22', 'randomRequest'); 196 var request = new Request('my22', 'randomRequest');
(...skipping 10 matching lines...) Expand all
206 @override 207 @override
207 Response handleRequest(Request request) { 208 Response handleRequest(Request request) {
208 if (request.method == 'echo') { 209 if (request.method == 'echo') {
209 var response = new Response(request.id); 210 var response = new Response(request.id);
210 response.setResult('echo', true); 211 response.setResult('echo', true);
211 return response; 212 return response;
212 } 213 }
213 return null; 214 return null;
214 } 215 }
215 } 216 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698