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

Unified Diff: pkg/analysis_server/test/domain_analysis_test.dart

Issue 477323005: Use generated classes to create requests in analysis server unit tests. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: pkg/analysis_server/test/domain_analysis_test.dart
diff --git a/pkg/analysis_server/test/domain_analysis_test.dart b/pkg/analysis_server/test/domain_analysis_test.dart
index fee5b590d11d33e37866e9903a4ee0a9e95ac7bc..c57182633d8680ca596cb077ed68ffbcb447a04b 100644
--- a/pkg/analysis_server/test/domain_analysis_test.dart
+++ b/pkg/analysis_server/test/domain_analysis_test.dart
@@ -10,8 +10,7 @@ import 'package:analysis_server/src/analysis_server.dart';
import 'package:analysis_server/src/constants.dart';
import 'package:analysis_server/src/domain_analysis.dart';
import 'package:analysis_server/src/protocol.dart';
-import 'package:analysis_server/src/protocol2.dart' show AnalysisService,
- AnalysisError, AnalysisErrorsParams;
+import 'package:analysis_server/src/protocol2.dart';
import 'package:analysis_testing/mock_sdk.dart';
import 'package:analysis_testing/reflective_tests.dart';
import 'package:analyzer/file_system/memory_file_system.dart';
@@ -49,13 +48,12 @@ main() {
group('AnalysisDomainHandler', () {
group('setAnalysisRoots', () {
- Request request;
-
- setUp(() {
- request = new Request('0', ANALYSIS_SET_ANALYSIS_ROOTS);
- request.setParameter(INCLUDED, []);
- request.setParameter(EXCLUDED, []);
- });
+ Response testSetAnalysisRoots(List<String> included,
+ List<String> excluded) {
+ Request request = new AnalysisSetAnalysisRootsParams(included,
+ excluded).toRequest('0');
+ return handler.handleRequest(request);
+ }
group('excluded', () {
test('excluded folder', () {
@@ -65,9 +63,7 @@ main() {
resourceProvider.newFolder(project);
resourceProvider.newFile(fileA, '// a');
resourceProvider.newFile(fileB, '// b');
- request.setParameter(INCLUDED, [project]);
- request.setParameter(EXCLUDED, ['/project/bbb']);
- var response = handler.handleRequest(request);
+ var response = testSetAnalysisRoots([project], ['/project/bbb']);
var serverRef = server;
expect(response, isResponseSuccess('0'));
// unit "a" is resolved eventually
@@ -84,8 +80,7 @@ main() {
resourceProvider.newFolder('/project');
resourceProvider.newFile('/project/pubspec.yaml', 'name: project');
resourceProvider.newFile('/project/bin/test.dart', 'main() {}');
- request.setParameter(INCLUDED, ['/project']);
- var response = handler.handleRequest(request);
+ var response = testSetAnalysisRoots(['/project'], []);
var serverRef = server;
expect(response, isResponseSuccess('0'));
// verify that unit is resolved eventually
@@ -100,8 +95,10 @@ main() {
group('setPriorityFiles', () {
test('invalid', () {
- var request = new Request('0', ANALYSIS_SET_PRIORITY_FILES);
- request.setParameter(FILES, ['/project/lib.dart']);
+ // TODO(paulberry): under the "eventual consistency" model this request
+ // should not be invalid.
+ var request = new AnalysisSetPriorityFilesParams(
+ ['/project/lib.dart']).toRequest('0');
var response = handler.handleRequest(request);
expect(response, isResponseFailure('0'));
});
@@ -113,15 +110,14 @@ main() {
resourceProvider.newFile('/p2/b.dart', 'library b;');
resourceProvider.newFile('/p2/c.dart', 'library c;');
- var setRootsRequest = new Request('0', ANALYSIS_SET_ANALYSIS_ROOTS);
- setRootsRequest.setParameter(INCLUDED, ['/p1', '/p2']);
- setRootsRequest.setParameter(EXCLUDED, []);
+ var setRootsRequest = new AnalysisSetAnalysisRootsParams(
+ ['/p1', '/p2'], []).toRequest('0');
var setRootsResponse = handler.handleRequest(setRootsRequest);
expect(setRootsResponse, isResponseSuccess('0'));
void setPriorityFiles(List<String> fileList) {
- var request = new Request('0', ANALYSIS_SET_PRIORITY_FILES);
- request.setParameter(FILES, fileList);
+ var request = new AnalysisSetPriorityFilesParams(
+ fileList).toRequest('0');
var response = handler.handleRequest(request);
expect(response, isResponseSuccess('0'));
// TODO(brianwilkerson) Enable the line below after getPriorityFiles
@@ -137,10 +133,9 @@ main() {
group('updateOptions', () {
test('invalid', () {
- var request = new Request('0', ANALYSIS_UPDATE_OPTIONS);
- request.setParameter(OPTIONS, {
+ var request = new Request('0', ANALYSIS_UPDATE_OPTIONS, {OPTIONS: {
'not-an-option': true
- });
+ }});
var response = handler.handleRequest(request);
// Invalid options should be silently ignored.
expect(response, isResponseSuccess('0'));
@@ -148,19 +143,16 @@ main() {
// TODO(paulberry): disabled because analyzeAngular is currently not in the API.
// test('valid', () {
-// AnalysisOptions options = server.contextDirectoryManager.defaultOptions;
-// bool analyzeAngular = !options.analyzeAngular;
-// bool enableDeferredLoading = options.enableDeferredLoading;
-// var request = new Request('0', ANALYSIS_UPDATE_OPTIONS);
-// request.setParameter(OPTIONS, {
-// 'analyzeAngular': analyzeAngular,
-// 'enableDeferredLoading': enableDeferredLoading,
-// 'enableEnums': false
-// });
+// engine.AnalysisOptions oldOptions = server.contextDirectoryManager.defaultOptions;
+// bool analyzeAngular = !oldOptions.analyzeAngular;
+// bool enableDeferredLoading = oldOptions.enableDeferredLoading;
+// var newOptions = new AnalysisOptions(analyzeAngular: analyzeAngular,
+// enableDeferredLoading: enableDeferredLoading, enableEnums: false);
+// var request = new AnalysisUpdateOptionsParams(newOptions).toRequest('0');
// var response = handler.handleRequest(request);
// expect(response, isResponseSuccess('0'));
-// expect(options.analyzeAngular, equals(analyzeAngular));
-// expect(options.enableDeferredLoading, equals(enableDeferredLoading));
+// expect(oldOptions.analyzeAngular, equals(analyzeAngular));
+// expect(oldOptions.enableDeferredLoading, equals(enableDeferredLoading));
// });
});
});
@@ -172,10 +164,11 @@ testUpdateContent() {
AnalysisTestHelper helper = new AnalysisTestHelper();
helper.createSingleFileProject('// empty');
return helper.waitForOperationsFinished().then((_) {
- Request request = new Request('0', ANALYSIS_UPDATE_CONTENT);
- request.setParameter('files', {
- helper.testFile: {
- TYPE: 'foo',
+ Request request = new Request('0', ANALYSIS_UPDATE_CONTENT, {
+ 'files': {
+ helper.testFile: {
+ TYPE: 'foo',
+ }
}
});
Response response = helper.handler.handleRequest(request);
@@ -191,10 +184,7 @@ testUpdateContent() {
List<AnalysisError> errors = helper.getTestErrors();
expect(errors, isEmpty);
// update code
- helper.sendContentChange({
- TYPE: ADD,
- CONTENT: 'library lib'
- });
+ helper.sendContentChange(new AddContentOverlay('library lib'));
// wait, there is an error
return helper.waitForOperationsFinished().then((_) {
List<AnalysisError> errors = helper.getTestErrors();
@@ -212,19 +202,10 @@ testUpdateContent() {
List<AnalysisError> errors = helper.getTestErrors();
expect(errors, isEmpty);
// Add the file to the cache
- helper.sendContentChange({
- TYPE: ADD,
- CONTENT: initialContent
- });
+ helper.sendContentChange(new AddContentOverlay(initialContent));
// update code
- helper.sendContentChange({
- TYPE: CHANGE,
- EDITS: [{
- REPLACEMENT: 'lib',
- OFFSET: 'library '.length,
- LENGTH: 'A;'.length
- }]
- });
+ helper.sendContentChange(new ChangeContentOverlay([
+ new SourceEdit('library '.length, 'A;'.length, 'lib')]));
// wait, there is an error
return helper.waitForOperationsFinished().then((_) {
List<AnalysisError> errors = helper.getTestErrors();
@@ -255,10 +236,7 @@ testUpdateContent() {
helper.createSingleFileProject('library A;');
return helper.waitForOperationsFinished().then((_) {
// update code
- helper.sendContentChange({
- TYPE: ADD,
- CONTENT: 'library B;'
- });
+ helper.sendContentChange(new AddContentOverlay('library B;'));
// There should be no errors
return helper.waitForOperationsFinished().then((_) {
expect(helper.getTestErrors(), hasLength(0));
@@ -269,9 +247,7 @@ testUpdateContent() {
expect(helper.getTestErrors(), hasLength(0));
// Send a content change with a null content param--file should be
// reread from disk.
- helper.sendContentChange({
- TYPE: REMOVE
- });
+ helper.sendContentChange(new RemoveContentOverlay());
// There should be errors now.
return helper.waitForOperationsFinished().then((_) {
expect(helper.getTestErrors(), hasLength(1));
@@ -435,7 +411,7 @@ class AnalysisTestHelper {
AnalysisServer server;
AnalysisDomainHandler handler;
- Map<String, List<String>> analysisSubscriptions = {};
+ Map<AnalysisService, List<String>> analysisSubscriptions = {};
Map<String, List<AnalysisError>> filesErrors = {};
Map<String, List<Map<String, Object>>> filesHighlights = {};
@@ -475,15 +451,15 @@ class AnalysisTestHelper {
void addAnalysisSubscription(AnalysisService service, String file) {
// add file to subscription
- var files = analysisSubscriptions[service.name];
+ var files = analysisSubscriptions[service];
if (files == null) {
files = <String>[];
- analysisSubscriptions[service.name] = files;
+ analysisSubscriptions[service] = files;
}
files.add(file);
// set subscriptions
- Request request = new Request('0', ANALYSIS_SET_SUBSCRIPTIONS);
- request.setParameter(SUBSCRIPTIONS, analysisSubscriptions);
+ Request request = new AnalysisSetSubscriptionsParams(
+ analysisSubscriptions).toRequest('0');
handleSuccessfulRequest(request);
}
@@ -500,9 +476,8 @@ class AnalysisTestHelper {
*/
void createEmptyProject() {
resourceProvider.newFolder('/project');
- Request request = new Request('0', ANALYSIS_SET_ANALYSIS_ROOTS);
- request.setParameter(INCLUDED, ['/project']);
- request.setParameter(EXCLUDED, []);
+ Request request = new AnalysisSetAnalysisRootsParams(['/project'],
+ []).toRequest('0');
handleSuccessfulRequest(request);
}
@@ -514,9 +489,8 @@ class AnalysisTestHelper {
this.testCode = _getCodeString(code);
resourceProvider.newFolder('/project');
resourceProvider.newFile(testFile, testCode);
- Request request = new Request('0', ANALYSIS_SET_ANALYSIS_ROOTS);
- request.setParameter(INCLUDED, ['/project']);
- request.setParameter(EXCLUDED, []);
+ Request request = new AnalysisSetAnalysisRootsParams(['/project'],
+ []).toRequest('0');
handleSuccessfulRequest(request);
}
@@ -601,11 +575,9 @@ class AnalysisTestHelper {
/**
* Send an `updateContent` request for [testFile].
*/
- void sendContentChange(Map contentChange) {
- Request request = new Request('0', ANALYSIS_UPDATE_CONTENT);
- request.setParameter('files', {
- testFile: contentChange
- });
+ void sendContentChange(dynamic contentChange) {
+ Request request = new AnalysisUpdateContentParams({
+ testFile: contentChange}).toRequest('0');
handleSuccessfulRequest(request);
}
« no previous file with comments | « pkg/analysis_server/test/analysis_hover_test.dart ('k') | pkg/analysis_server/test/domain_completion_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698