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

Side by Side Diff: pkg/analysis_server/test/analysis/get_errors_test.dart

Issue 1477553002: Issue 25034. Record only the target source's errors. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 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
« no previous file with comments | « no previous file | pkg/analyzer/lib/src/task/dart.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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.get_errors; 5 library test.analysis.get_errors;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 8
9 import 'package:analysis_server/plugin/protocol/protocol.dart'; 9 import 'package:analysis_server/plugin/protocol/protocol.dart';
10 import 'package:analysis_server/src/domain_analysis.dart'; 10 import 'package:analysis_server/src/domain_analysis.dart';
(...skipping 25 matching lines...) Expand all
36 print(42) 36 print(42)
37 } 37 }
38 '''); 38 ''');
39 return waitForTasksFinished().then((_) { 39 return waitForTasksFinished().then((_) {
40 return _getErrors(testFile).then((List<AnalysisError> errors) { 40 return _getErrors(testFile).then((List<AnalysisError> errors) {
41 expect(errors, hasLength(1)); 41 expect(errors, hasLength(1));
42 }); 42 });
43 }); 43 });
44 } 44 }
45 45
46 test_errorInPart() async {
47 String libPath = '$testFolder/main.dart';
48 String partPath = '$testFolder/main_part.dart';
49 addFile(
50 libPath,
51 r'''
52 library main;
53 part 'main_part.dart';
54 class A {}
55 ''');
56 addFile(
57 partPath,
58 r'''
59 part of main;
60 class A {}
61 ''');
62 await waitForTasksFinished();
63 {
64 List<AnalysisError> libErrors = await _getErrors(libPath);
65 expect(libErrors, isEmpty);
66 }
67 {
68 List<AnalysisError> partErrors = await _getErrors(partPath);
69 expect(partErrors, hasLength(1));
70 }
71 }
72
46 test_fileDoesNotExist() { 73 test_fileDoesNotExist() {
47 String file = '$projectPath/doesNotExist.dart'; 74 String file = '$projectPath/doesNotExist.dart';
48 return _checkInvalid(file); 75 return _checkInvalid(file);
49 } 76 }
50 77
51 test_fileWithoutContext() { 78 test_fileWithoutContext() {
52 String file = '/outside.dart'; 79 String file = '/outside.dart';
53 addFile( 80 addFile(
54 file, 81 file,
55 ''' 82 '''
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
89 }); 116 });
90 } 117 }
91 118
92 test_removeContextAfterRequest() { 119 test_removeContextAfterRequest() {
93 addTestFile(''' 120 addTestFile('''
94 main() { 121 main() {
95 print(42) 122 print(42)
96 } 123 }
97 '''); 124 ''');
98 // handle the request synchronously 125 // handle the request synchronously
99 Request request = _createGetErrorsRequest(); 126 Request request = _createGetErrorsRequest(testFile);
100 server.handleRequest(request); 127 server.handleRequest(request);
101 // remove context, causes sending an "invalid file" error 128 // remove context, causes sending an "invalid file" error
102 resourceProvider.deleteFolder(projectPath); 129 resourceProvider.deleteFolder(projectPath);
103 // wait for an error response 130 // wait for an error response
104 return serverChannel.waitForResponse(request).then((Response response) { 131 return serverChannel.waitForResponse(request).then((Response response) {
105 expect(response.error, isNotNull); 132 expect(response.error, isNotNull);
106 expect(response.error.code, RequestErrorCode.GET_ERRORS_INVALID_FILE); 133 expect(response.error.code, RequestErrorCode.GET_ERRORS_INVALID_FILE);
107 }); 134 });
108 } 135 }
109 136
110 Future _checkInvalid(String file) { 137 Future _checkInvalid(String file) {
111 Request request = _createGetErrorsRequest(); 138 Request request = _createGetErrorsRequest(file);
112 return serverChannel.sendRequest(request).then((Response response) { 139 return serverChannel.sendRequest(request).then((Response response) {
113 expect(response.error, isNotNull); 140 expect(response.error, isNotNull);
114 expect(response.error.code, RequestErrorCode.GET_ERRORS_INVALID_FILE); 141 expect(response.error.code, RequestErrorCode.GET_ERRORS_INVALID_FILE);
115 }); 142 });
116 } 143 }
117 144
118 Request _createGetErrorsRequest() { 145 Request _createGetErrorsRequest(String file) {
119 return new AnalysisGetErrorsParams(testFile).toRequest(requestId); 146 return new AnalysisGetErrorsParams(file).toRequest(requestId);
120 } 147 }
121 148
122 Future<List<AnalysisError>> _getErrors(String file) { 149 Future<List<AnalysisError>> _getErrors(String file) {
123 Request request = _createGetErrorsRequest(); 150 Request request = _createGetErrorsRequest(file);
124 return serverChannel.sendRequest(request).then((Response response) { 151 return serverChannel.sendRequest(request).then((Response response) {
125 return new AnalysisGetErrorsResult.fromResponse(response).errors; 152 return new AnalysisGetErrorsResult.fromResponse(response).errors;
126 }); 153 });
127 } 154 }
128 } 155 }
OLDNEW
« no previous file with comments | « no previous file | pkg/analyzer/lib/src/task/dart.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698