| OLD | NEW |
| 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/error.dart'; | 10 import 'package:analyzer/src/generated/error.dart'; |
| 11 import 'package:analyzer/src/generated/source.dart'; |
| 11 import 'package:analysis_server/src/analysis_server.dart'; | 12 import 'package:analysis_server/src/analysis_server.dart'; |
| 12 import 'package:analysis_server/src/constants.dart'; | 13 import 'package:analysis_server/src/constants.dart'; |
| 13 import 'package:analysis_server/src/domain_server.dart'; | 14 import 'package:analysis_server/src/domain_server.dart'; |
| 14 import 'package:analysis_server/src/protocol.dart'; | 15 import 'package:analysis_server/src/protocol.dart'; |
| 15 import 'package:analysis_server/src/resource.dart'; | 16 import 'package:analysis_server/src/resource.dart'; |
| 16 import 'package:mock/mock.dart'; | 17 import 'package:mock/mock.dart'; |
| 17 import 'package:unittest/unittest.dart'; | 18 import 'package:unittest/unittest.dart'; |
| 18 | 19 |
| 19 import 'mocks.dart'; | 20 import 'mocks.dart'; |
| 20 | 21 |
| (...skipping 15 matching lines...) Expand all Loading... |
| 36 test('addContextToWorkQueue_whenNotRunning', () { | 37 test('addContextToWorkQueue_whenNotRunning', () { |
| 37 AnalysisServerTestHelper helper = new AnalysisServerTestHelper(); | 38 AnalysisServerTestHelper helper = new AnalysisServerTestHelper(); |
| 38 helper.server.running = false; | 39 helper.server.running = false; |
| 39 MockAnalysisContext context = new MockAnalysisContext(); | 40 MockAnalysisContext context = new MockAnalysisContext(); |
| 40 helper.server.addContextToWorkQueue(context); | 41 helper.server.addContextToWorkQueue(context); |
| 41 // Pump the event queue to make sure the server doesn't try to do any | 42 // Pump the event queue to make sure the server doesn't try to do any |
| 42 // analysis. | 43 // analysis. |
| 43 return pumpEventQueue(); | 44 return pumpEventQueue(); |
| 44 }); | 45 }); |
| 45 | 46 |
| 47 test('server.status notifications', () { |
| 48 AnalysisServerTestHelper helper = new AnalysisServerTestHelper(); |
| 49 MockAnalysisContext context = new MockAnalysisContext(); |
| 50 MockSource source = new MockSource(); |
| 51 source.when(callsTo('get fullName')).alwaysReturn('foo.dart'); |
| 52 source.when(callsTo('get isInSystemLibrary')).alwaysReturn(false); |
| 53 ChangeNoticeImpl notice = new ChangeNoticeImpl(source); |
| 54 notice.setErrors([], new LineInfo([0])); |
| 55 AnalysisResult firstResult = new AnalysisResult([notice], 0, '', 0); |
| 56 AnalysisResult lastResult = new AnalysisResult(null, 1, '', 1); |
| 57 context.when(callsTo("performAnalysisTask")) |
| 58 ..thenReturn(firstResult, 3) |
| 59 ..thenReturn(lastResult); |
| 60 helper.server.addContextToWorkQueue(context); |
| 61 // Pump the event queue to make sure the server has finished any |
| 62 // analysis. |
| 63 return pumpEventQueue().then((_) { |
| 64 List<Notification> notifications = helper.channel.notificationsReceived; |
| 65 expect(notifications.length, equals(9)); |
| 66 Notification notification = notifications[notifications.length - 1]; |
| 67 Map analysisStatus = notification.params['analysis']; |
| 68 expect(analysisStatus['analyzing'], isFalse); |
| 69 }); |
| 70 }); |
| 71 |
| 46 test('echo', () { | 72 test('echo', () { |
| 47 AnalysisServerTestHelper helper = new AnalysisServerTestHelper(); | 73 AnalysisServerTestHelper helper = new AnalysisServerTestHelper(); |
| 48 helper.server.handlers = [new EchoHandler()]; | 74 helper.server.handlers = [new EchoHandler()]; |
| 49 var request = new Request('my22', 'echo'); | 75 var request = new Request('my22', 'echo'); |
| 50 return helper.channel.sendRequest(request) | 76 return helper.channel.sendRequest(request) |
| 51 .then((Response response) { | 77 .then((Response response) { |
| 52 expect(response.id, equals('my22')); | 78 expect(response.id, equals('my22')); |
| 53 expect(response.error, isNull); | 79 expect(response.error, isNull); |
| 54 }); | 80 }); |
| 55 }); | 81 }); |
| 56 | 82 |
| 57 test('errorToJson_formattingApplied', () { | 83 test('errorToJson_formattingApplied', () { |
| 58 MockSource source = new MockSource(); | 84 MockSource source = new MockSource(); |
| 59 source.when(callsTo('get encoding')).alwaysReturn('foo.dart'); | 85 source.when(callsTo('get encoding')).alwaysReturn('foo.dart'); |
| 60 CompileTimeErrorCode errorCode = CompileTimeErrorCode.AMBIGUOUS_EXPORT; | 86 CompileTimeErrorCode errorCode = CompileTimeErrorCode.AMBIGUOUS_EXPORT; |
| 61 AnalysisError analysisError = | 87 AnalysisError analysisError = |
| 62 new AnalysisError.con1(source, errorCode, ['foo', 'bar', 'baz']); | 88 new AnalysisError.con1(source, errorCode, ['foo', 'bar', 'baz']); |
| 63 Map<String, Object> json = AnalysisServer.errorToJson(analysisError); | 89 Map<String, Object> json = AnalysisServer.errorToJson(analysisError); |
| 64 | 90 |
| 65 expect(json['message'], | 91 expect(json['message'], |
| 66 equals("The name 'foo' is defined in the libraries 'bar' and 'baz'")); | 92 equals("The element 'foo' is defined in the libraries 'bar' and 'baz'"
)); |
| 67 }); | 93 }); |
| 68 | 94 |
| 69 test('errorToJson_noCorrection', () { | 95 test('errorToJson_noCorrection', () { |
| 70 MockSource source = new MockSource(); | 96 MockSource source = new MockSource(); |
| 71 source.when(callsTo('get fullName')).alwaysReturn('foo.dart'); | 97 source.when(callsTo('get fullName')).alwaysReturn('foo.dart'); |
| 72 CompileTimeErrorCode errorCode = | 98 CompileTimeErrorCode errorCode = |
| 73 CompileTimeErrorCode.CONST_CONSTRUCTOR_WITH_NON_CONST_SUPER; | 99 CompileTimeErrorCode.CONST_CONSTRUCTOR_WITH_NON_CONST_SUPER; |
| 74 AnalysisError analysisError = | 100 AnalysisError analysisError = |
| 75 new AnalysisError.con2(source, 10, 5, errorCode, ['Foo']); | 101 new AnalysisError.con2(source, 10, 5, errorCode, ['Foo']); |
| 76 Map<String, Object> json = AnalysisServer.errorToJson(analysisError); | 102 Map<String, Object> json = AnalysisServer.errorToJson(analysisError); |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 138 @override | 164 @override |
| 139 Response handleRequest(Request request) { | 165 Response handleRequest(Request request) { |
| 140 if (request.method == 'echo') { | 166 if (request.method == 'echo') { |
| 141 var response = new Response(request.id); | 167 var response = new Response(request.id); |
| 142 response.setResult('echo', true); | 168 response.setResult('echo', true); |
| 143 return response; | 169 return response; |
| 144 } | 170 } |
| 145 return null; | 171 return null; |
| 146 } | 172 } |
| 147 } | 173 } |
| OLD | NEW |