| Index: pkg/analysis_server/test/analysis/get_errors_test.dart
|
| diff --git a/pkg/analysis_server/test/analysis/get_errors_test.dart b/pkg/analysis_server/test/analysis/get_errors_test.dart
|
| index 2c261e52abeaa7cd465beec450338657e416bdbe..1529bf2664c9fd748dbc814383fde9bcc11a87e4 100644
|
| --- a/pkg/analysis_server/test/analysis/get_errors_test.dart
|
| +++ b/pkg/analysis_server/test/analysis/get_errors_test.dart
|
| @@ -12,13 +12,14 @@ import 'package:analysis_server/src/domain_analysis.dart';
|
| import 'package:analysis_server/src/protocol.dart';
|
| import 'package:analysis_services/constants.dart';
|
| import 'package:analysis_testing/reflective_tests.dart';
|
| +import 'package:analyzer/file_system/file_system.dart';
|
| import 'package:unittest/unittest.dart';
|
|
|
| import '../analysis_abstract.dart';
|
|
|
|
|
| main() {
|
| - group('notification.hover', () {
|
| + group('getErrors', () {
|
| runReflectiveTests(GetErrorsTest);
|
| });
|
| }
|
| @@ -26,30 +27,7 @@ main() {
|
|
|
| @ReflectiveTestCase()
|
| class GetErrorsTest extends AbstractAnalysisTest {
|
| - Future<List<AnalysisError>> getErrors() {
|
| - return getErrorsForFile(testFile);
|
| - }
|
| -
|
| - Future<List<AnalysisError>> getErrorsForFile(String file) {
|
| - return waitForTasksFinished().then((_) {
|
| - String requestId = 'test-getError';
|
| - // send the Request
|
| - Request request = new Request(requestId, ANALYSIS_GET_ERRORS);
|
| - request.setParameter(FILE, file);
|
| - server.handleRequest(request);
|
| - // wait for the Response
|
| - waitForResponse() {
|
| - for (Response response in serverChannel.responsesReceived) {
|
| - if (response.id == requestId) {
|
| - List errorsJsons = response.getResult(ERRORS);
|
| - return errorsJsons.map(AnalysisError.fromJson).toList();
|
| - }
|
| - }
|
| - return new Future(waitForResponse);
|
| - }
|
| - return new Future(waitForResponse);
|
| - });
|
| - }
|
| + static const String requestId = 'test-getError';
|
|
|
| @override
|
| void setUp() {
|
| @@ -58,13 +36,32 @@ class GetErrorsTest extends AbstractAnalysisTest {
|
| createProject();
|
| }
|
|
|
| + test_fileDoesNotExist() {
|
| + String file = '$projectPath/doesNotExist.dart';
|
| + return _getErrors(file).then((List<AnalysisError> errors) {
|
| + expect(errors, isEmpty);
|
| + });
|
| + }
|
| +
|
| + test_fileWithoutContext() {
|
| + String file = '/outside.dart';
|
| + addFile(file, '''
|
| +main() {
|
| + print(42);
|
| +}
|
| +''');
|
| + return _getErrors(file).then((List<AnalysisError> errors) {
|
| + expect(errors, isEmpty);
|
| + });
|
| + }
|
| +
|
| test_hasErrors() {
|
| addTestFile('''
|
| main() {
|
| print(42)
|
| }
|
| ''');
|
| - return getErrors().then((List<AnalysisError> errors) {
|
| + return _getErrors(testFile).then((List<AnalysisError> errors) {
|
| expect(errors, hasLength(1));
|
| {
|
| AnalysisError error = errors[0];
|
| @@ -82,20 +79,45 @@ main() {
|
| print(42);
|
| }
|
| ''');
|
| - return getErrors().then((List<AnalysisError> errors) {
|
| + return _getErrors(testFile).then((List<AnalysisError> errors) {
|
| expect(errors, isEmpty);
|
| });
|
| }
|
|
|
| - test_fileWithoutContext() {
|
| - String file = '/outside.dart';
|
| - addFile(file, '''
|
| + test_removeContextAfterRequest() {
|
| + addTestFile('''
|
| main() {
|
| - print(42);
|
| + print(42)
|
| }
|
| ''');
|
| - return getErrorsForFile(file).then((List<AnalysisError> errors) {
|
| - expect(errors, isEmpty);
|
| + // handle the request synchronously
|
| + Request request = _createGetErrorsRequest();
|
| + server.handleRequest(request);
|
| + // remove context, causes sending a 'cancelled' error
|
| + {
|
| + Folder projectFolder = resourceProvider.getResource(projectPath);
|
| + server.contextDirectoryManager.removeContext(projectFolder);
|
| + }
|
| + // wait for an error response
|
| + return serverChannel.waitForResponse(request).then((Response response) {
|
| + expect(response.getResult(ERRORS), isEmpty);
|
| + RequestError error = response.error;
|
| + expect(error, isNotNull);
|
| + expect(error.code, -13);
|
| + });
|
| + }
|
| +
|
| + Request _createGetErrorsRequest() {
|
| + Request request = new Request(requestId, ANALYSIS_GET_ERRORS);
|
| + request.setParameter(FILE, testFile);
|
| + return request;
|
| + }
|
| +
|
| + Future<List<AnalysisError>> _getErrors(String file) {
|
| + Request request = _createGetErrorsRequest();
|
| + return serverChannel.sendRequest(request).then((Response response) {
|
| + List errorsJsons = response.getResult(ERRORS);
|
| + return errorsJsons.map(AnalysisError.fromJson).toList();
|
| });
|
| }
|
| }
|
|
|