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

Side by Side Diff: pkg/analysis_server/test/analysis_abstract.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 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.domain.analysis.abstract; 5 library test.domain.analysis.abstract;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 8
9 import 'package:analysis_server/src/analysis_server.dart'; 9 import 'package:analysis_server/src/analysis_server.dart';
10 import 'package:analysis_server/src/constants.dart';
11 import 'package:analysis_server/src/domain_analysis.dart'; 10 import 'package:analysis_server/src/domain_analysis.dart';
12 import 'package:analysis_server/src/protocol.dart'; 11 import 'package:analysis_server/src/protocol.dart';
13 import 'package:analysis_server/src/protocol2.dart'; 12 import 'package:analysis_server/src/protocol2.dart';
14 import 'package:analysis_server/src/services/index/index.dart'; 13 import 'package:analysis_server/src/services/index/index.dart';
15 import 'package:analysis_testing/mock_sdk.dart'; 14 import 'package:analysis_testing/mock_sdk.dart';
16 import 'package:analyzer/file_system/file_system.dart'; 15 import 'package:analyzer/file_system/file_system.dart';
17 import 'package:analyzer/file_system/memory_file_system.dart'; 16 import 'package:analyzer/file_system/memory_file_system.dart';
18 import 'package:unittest/unittest.dart'; 17 import 'package:unittest/unittest.dart';
19 18
20 import 'mocks.dart'; 19 import 'mocks.dart';
(...skipping 18 matching lines...) Expand all
39 /** 38 /**
40 * An abstract base for all 'analysis' domain tests. 39 * An abstract base for all 'analysis' domain tests.
41 */ 40 */
42 class AbstractAnalysisTest { 41 class AbstractAnalysisTest {
43 MockServerChannel serverChannel; 42 MockServerChannel serverChannel;
44 MemoryResourceProvider resourceProvider; 43 MemoryResourceProvider resourceProvider;
45 MockPackageMapProvider packageMapProvider; 44 MockPackageMapProvider packageMapProvider;
46 AnalysisServer server; 45 AnalysisServer server;
47 RequestHandler handler; 46 RequestHandler handler;
48 47
49 Map<String, List<String>> analysisSubscriptions = {}; 48 Map<AnalysisService, List<String>> analysisSubscriptions = {};
50 49
51 String projectPath = '/project'; 50 String projectPath = '/project';
52 String testFolder = '/project/bin/'; 51 String testFolder = '/project/bin/';
53 String testFile = '/project/bin/test.dart'; 52 String testFile = '/project/bin/test.dart';
54 String testCode; 53 String testCode;
55 54
56 // Map<String, List<AnalysisError>> filesErrors = {}; 55 // Map<String, List<AnalysisError>> filesErrors = {};
57 // Map<String, List<Map<String, Object>>> filesHighlights = {}; 56 // Map<String, List<Map<String, Object>>> filesHighlights = {};
58 // Map<String, List<Map<String, Object>>> filesNavigation = {}; 57 // Map<String, List<Map<String, Object>>> filesNavigation = {};
59 58
60 59
61 AbstractAnalysisTest() { 60 AbstractAnalysisTest() {
62 } 61 }
63 62
64 void addAnalysisSubscription(AnalysisService service, String file) { 63 void addAnalysisSubscription(AnalysisService service, String file) {
65 // add file to subscription 64 // add file to subscription
66 var files = analysisSubscriptions[service.name]; 65 var files = analysisSubscriptions[service];
67 if (files == null) { 66 if (files == null) {
68 files = <String>[]; 67 files = <String>[];
69 analysisSubscriptions[service.name] = files; 68 analysisSubscriptions[service] = files;
70 } 69 }
71 files.add(file); 70 files.add(file);
72 // set subscriptions 71 // set subscriptions
73 Request request = new Request('0', ANALYSIS_SET_SUBSCRIPTIONS); 72 Request request = new AnalysisSetSubscriptionsParams(
74 request.setParameter(SUBSCRIPTIONS, analysisSubscriptions); 73 analysisSubscriptions).toRequest('0');
75 handleSuccessfulRequest(request); 74 handleSuccessfulRequest(request);
76 } 75 }
77 76
78 String addFile(String path, String content) { 77 String addFile(String path, String content) {
79 resourceProvider.newFile(path, content); 78 resourceProvider.newFile(path, content);
80 return path; 79 return path;
81 } 80 }
82 81
83 String addTestFile(String content) { 82 String addTestFile(String content) {
84 addFile(testFile, content); 83 addFile(testFile, content);
85 this.testCode = content; 84 this.testCode = content;
86 return testFile; 85 return testFile;
87 } 86 }
88 87
89 Index createIndex() { 88 Index createIndex() {
90 return null; 89 return null;
91 } 90 }
92 91
93 /** 92 /**
94 * Creates a project `/project`. 93 * Creates a project `/project`.
95 */ 94 */
96 void createProject() { 95 void createProject() {
97 resourceProvider.newFolder(projectPath); 96 resourceProvider.newFolder(projectPath);
98 Request request = new Request('0', ANALYSIS_SET_ANALYSIS_ROOTS); 97 Request request = new AnalysisSetAnalysisRootsParams([projectPath],
99 request.setParameter(INCLUDED, [projectPath]); 98 []).toRequest('0');
100 request.setParameter(EXCLUDED, []);
101 handleSuccessfulRequest(request); 99 handleSuccessfulRequest(request);
102 } 100 }
103 101
104 /** 102 /**
105 * Returns the offset of [search] in [testCode]. 103 * Returns the offset of [search] in [testCode].
106 * Fails if not found. 104 * Fails if not found.
107 */ 105 */
108 int findFileOffset(String path, String search) { 106 int findFileOffset(String path, String search) {
109 File file = resourceProvider.getResource(path) as File; 107 File file = resourceProvider.getResource(path) as File;
110 String code = file.createSource().contents.data; 108 String code = file.createSource().contents.data;
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
209 } 207 }
210 208
211 // /** 209 // /**
212 // * Creates a project with a single Dart file `/project/bin/test.dart` with 210 // * Creates a project with a single Dart file `/project/bin/test.dart` with
213 // * the given [code]. 211 // * the given [code].
214 // */ 212 // */
215 // void createSingleFileProject(code) { 213 // void createSingleFileProject(code) {
216 // this.testCode = _getCodeString(code); 214 // this.testCode = _getCodeString(code);
217 // resourceProvider.newFolder('/project'); 215 // resourceProvider.newFolder('/project');
218 // resourceProvider.newFile(testFile, testCode); 216 // resourceProvider.newFile(testFile, testCode);
219 // Request request = new Request('0', METHOD_SET_ANALYSIS_ROOTS); 217 // Request request = new AnalysisSetAnalysisRootsParams(['/project'],
220 // request.setParameter(INCLUDED, ['/project']); 218 // []).toRequest('0');
221 // request.setParameter(EXCLUDED, []);
222 // handleSuccessfulRequest(request); 219 // handleSuccessfulRequest(request);
223 // } 220 // }
224 221
225 void setUp() { 222 void setUp() {
226 serverChannel = new MockServerChannel(); 223 serverChannel = new MockServerChannel();
227 resourceProvider = new MemoryResourceProvider(); 224 resourceProvider = new MemoryResourceProvider();
228 packageMapProvider = new MockPackageMapProvider(); 225 packageMapProvider = new MockPackageMapProvider();
229 Index index = createIndex(); 226 Index index = createIndex();
230 server = new AnalysisServer( 227 server = new AnalysisServer(
231 serverChannel, resourceProvider, packageMapProvider, index, 228 serverChannel, resourceProvider, packageMapProvider, index,
(...skipping 22 matching lines...) Expand all
254 return waitForServerOperationsPerformed(server); 251 return waitForServerOperationsPerformed(server);
255 } 252 }
256 253
257 static String _getCodeString(code) { 254 static String _getCodeString(code) {
258 if (code is List<String>) { 255 if (code is List<String>) {
259 code = code.join('\n'); 256 code = code.join('\n');
260 } 257 }
261 return code as String; 258 return code as String;
262 } 259 }
263 } 260 }
OLDNEW
« no previous file with comments | « pkg/analysis_server/test/analysis/get_errors_test.dart ('k') | pkg/analysis_server/test/analysis_hover_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698