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

Side by Side Diff: pkg/analysis_server/test/src/plugin/result_converter_test.dart

Issue 2696853002: Extract object creation methods for use by a future test class (Closed)
Patch Set: Created 3 years, 10 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
OLDNEW
1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2017, 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 import 'package:analysis_server/plugin/protocol/protocol.dart' as server; 5 import 'package:analysis_server/plugin/protocol/protocol.dart' as server;
6 import 'package:analysis_server/src/plugin/result_converter.dart'; 6 import 'package:analysis_server/src/plugin/result_converter.dart';
7 import 'package:analysis_server/src/protocol/protocol_internal.dart' as server; 7 import 'package:analysis_server/src/protocol/protocol_internal.dart' as server;
8 import 'package:analyzer_plugin/protocol/protocol_generated.dart' as plugin; 8 import 'package:analyzer_plugin/protocol/protocol_generated.dart' as plugin;
9 import 'package:test/test.dart'; 9 import 'package:test/test.dart';
10 import 'package:test_reflective_loader/test_reflective_loader.dart'; 10 import 'package:test_reflective_loader/test_reflective_loader.dart';
11 11
12 import 'protocol_test_utilities.dart';
13
12 main() { 14 main() {
13 defineReflectiveSuite(() { 15 defineReflectiveSuite(() {
14 defineReflectiveTests(ResultConverterTest); 16 defineReflectiveTests(ResultConverterTest);
15 }); 17 });
16 } 18 }
17 19
18 @reflectiveTest 20 @reflectiveTest
19 class ResultConverterTest { 21 class ResultConverterTest extends ProtocolTestUtilities {
20 static const List<String> strings = const <String>[ 22 static const List<String> strings = const <String>[
21 'a', 23 'a',
22 'b', 24 'b',
23 'c', 25 'c',
24 'd', 26 'd',
25 'e', 27 'e',
26 'f', 28 'f',
27 'g', 29 'g',
28 'h', 30 'h',
29 'i', 31 'i',
30 'j', 32 'j',
31 'k', 33 'k',
32 'l', 34 'l',
33 'm', 35 'm',
34 'n' 36 'n'
35 ]; 37 ];
36 38
37 ResultConverter converter = new ResultConverter(); 39 ResultConverter converter = new ResultConverter();
38 40
39 void test_convertAnalysisError() { 41 void test_convertAnalysisError() {
40 plugin.AnalysisError initial = _pluginAnalysisError(); 42 plugin.AnalysisError initial = pluginAnalysisError(0, 0);
41 server.AnalysisError expected = _serverAnalysisError(); 43 server.AnalysisError expected = serverAnalysisError(0, 0);
42 expect(converter.convertAnalysisError(initial), expected); 44 expect(converter.convertAnalysisError(initial), expected);
43 } 45 }
44 46
45 void test_convertAnalysisErrorFixes() { 47 void test_convertAnalysisErrorFixes() {
46 plugin.AnalysisErrorFixes initial = new plugin.AnalysisErrorFixes( 48 plugin.AnalysisErrorFixes initial = new plugin.AnalysisErrorFixes(
47 _pluginAnalysisError(), 49 pluginAnalysisError(0, 0),
48 fixes: <plugin.PrioritizedSourceChange>[ 50 fixes: <plugin.PrioritizedSourceChange>[
49 new plugin.PrioritizedSourceChange(100, _pluginSourceChange()) 51 new plugin.PrioritizedSourceChange(100, pluginSourceChange(4, 4))
50 ]); 52 ]);
51 server.AnalysisErrorFixes expected = new server.AnalysisErrorFixes( 53 server.AnalysisErrorFixes expected = new server.AnalysisErrorFixes(
52 _serverAnalysisError(), 54 serverAnalysisError(0, 0),
53 fixes: <server.SourceChange>[_serverSourceChange()]); 55 fixes: <server.SourceChange>[serverSourceChange(4, 4)]);
54 expect(converter.convertAnalysisErrorFixes(initial), expected); 56 expect(converter.convertAnalysisErrorFixes(initial), expected);
55 } 57 }
56 58
57 void test_convertAnalysisNavigationParams() { 59 void test_convertAnalysisNavigationParams() {
58 plugin.AnalysisNavigationParams initial = 60 plugin.AnalysisNavigationParams initial =
59 new plugin.AnalysisNavigationParams('a.dart', <plugin.NavigationRegion>[ 61 new plugin.AnalysisNavigationParams('a.dart', <plugin.NavigationRegion>[
60 new plugin.NavigationRegion(1, 2, <int>[3, 4]) 62 new plugin.NavigationRegion(1, 2, <int>[3, 4])
61 ], <plugin.NavigationTarget>[ 63 ], <plugin.NavigationTarget>[
62 new plugin.NavigationTarget(plugin.ElementKind.FIELD, 5, 6, 7, 8, 9) 64 new plugin.NavigationTarget(plugin.ElementKind.FIELD, 5, 6, 7, 8, 9)
63 ], <String>[ 65 ], <String>[
(...skipping 11 matching lines...) Expand all
75 ]); 77 ]);
76 expect(converter.convertAnalysisNavigationParams(initial), expected); 78 expect(converter.convertAnalysisNavigationParams(initial), expected);
77 } 79 }
78 80
79 void test_convertCompletionSuggestion() { 81 void test_convertCompletionSuggestion() {
80 plugin.CompletionSuggestion initial = new plugin.CompletionSuggestion( 82 plugin.CompletionSuggestion initial = new plugin.CompletionSuggestion(
81 plugin.CompletionSuggestionKind.IMPORT, 1, 'a', 2, 3, true, false, 83 plugin.CompletionSuggestionKind.IMPORT, 1, 'a', 2, 3, true, false,
82 docSummary: 'b', 84 docSummary: 'b',
83 docComplete: 'c', 85 docComplete: 'c',
84 declaringType: 'd', 86 declaringType: 'd',
85 element: _pluginElement(4, 4), 87 element: pluginElement(4, 4),
86 returnType: 'i', 88 returnType: 'i',
87 parameterNames: <String>['j', 'k'], 89 parameterNames: <String>['j', 'k'],
88 parameterTypes: <String>[], 90 parameterTypes: <String>[],
89 requiredParameterCount: 9, 91 requiredParameterCount: 9,
90 hasNamedParameters: true, 92 hasNamedParameters: true,
91 parameterName: 'l', 93 parameterName: 'l',
92 parameterType: 'm', 94 parameterType: 'm',
93 importUri: 'n'); 95 importUri: 'n');
94 server.CompletionSuggestion expected = new server.CompletionSuggestion( 96 server.CompletionSuggestion expected = new server.CompletionSuggestion(
95 server.CompletionSuggestionKind.IMPORT, 1, 'a', 2, 3, true, false, 97 server.CompletionSuggestionKind.IMPORT, 1, 'a', 2, 3, true, false,
96 docSummary: 'b', 98 docSummary: 'b',
97 docComplete: 'c', 99 docComplete: 'c',
98 declaringType: 'd', 100 declaringType: 'd',
99 element: _serverElement(4, 4), 101 element: serverElement(4, 4),
100 returnType: 'i', 102 returnType: 'i',
101 parameterNames: <String>['j', 'k'], 103 parameterNames: <String>['j', 'k'],
102 parameterTypes: <String>[], 104 parameterTypes: <String>[],
103 requiredParameterCount: 9, 105 requiredParameterCount: 9,
104 hasNamedParameters: true, 106 hasNamedParameters: true,
105 parameterName: 'l', 107 parameterName: 'l',
106 parameterType: 'm', 108 parameterType: 'm',
107 importUri: 'n'); 109 importUri: 'n');
108 expect(converter.convertCompletionSuggestion(initial), expected); 110 expect(converter.convertCompletionSuggestion(initial), expected);
109 } 111 }
110 112
111 void test_convertEditGetRefactoringResult_inlineMethod() { 113 void test_convertEditGetRefactoringResult_inlineMethod() {
112 plugin.EditGetRefactoringResult initial = 114 plugin.EditGetRefactoringResult initial =
113 new plugin.EditGetRefactoringResult( 115 new plugin.EditGetRefactoringResult(
114 <plugin.RefactoringProblem>[_pluginRefactoringProblem('a', 1)], 116 <plugin.RefactoringProblem>[pluginRefactoringProblem(0, 0)],
115 <plugin.RefactoringProblem>[_pluginRefactoringProblem('b', 5)], 117 <plugin.RefactoringProblem>[pluginRefactoringProblem(2, 4)],
116 <plugin.RefactoringProblem>[_pluginRefactoringProblem('c', 9)], 118 <plugin.RefactoringProblem>[pluginRefactoringProblem(4, 8)],
117 feedback: 119 feedback:
118 new plugin.InlineMethodFeedback('a', true, className: 'b'), 120 new plugin.InlineMethodFeedback('a', true, className: 'b'),
119 change: _pluginSourceChange(), 121 change: pluginSourceChange(6, 12),
120 potentialEdits: <String>['f']); 122 potentialEdits: <String>['f']);
121 server.EditGetRefactoringResult expected = 123 server.EditGetRefactoringResult expected =
122 new server.EditGetRefactoringResult( 124 new server.EditGetRefactoringResult(
123 <server.RefactoringProblem>[_serverRefactoringProblem('a', 1)], 125 <server.RefactoringProblem>[serverRefactoringProblem(0, 0)],
124 <server.RefactoringProblem>[_serverRefactoringProblem('b', 5)], 126 <server.RefactoringProblem>[serverRefactoringProblem(2, 4)],
125 <server.RefactoringProblem>[_serverRefactoringProblem('c', 9)], 127 <server.RefactoringProblem>[serverRefactoringProblem(4, 8)],
126 feedback: 128 feedback:
127 new server.InlineMethodFeedback('a', true, className: 'b'), 129 new server.InlineMethodFeedback('a', true, className: 'b'),
128 change: _serverSourceChange(), 130 change: serverSourceChange(6, 12),
129 potentialEdits: <String>['f']); 131 potentialEdits: <String>['f']);
130 expect( 132 expect(
131 converter.convertEditGetRefactoringResult( 133 converter.convertEditGetRefactoringResult(
132 plugin.RefactoringKind.INLINE_METHOD, initial), 134 plugin.RefactoringKind.INLINE_METHOD, initial),
133 expected); 135 expected);
134 } 136 }
135 137
136 void test_convertEditGetRefactoringResult_moveFile() { 138 void test_convertEditGetRefactoringResult_moveFile() {
137 plugin.EditGetRefactoringResult initial = 139 plugin.EditGetRefactoringResult initial =
138 new plugin.EditGetRefactoringResult( 140 new plugin.EditGetRefactoringResult(
139 <plugin.RefactoringProblem>[_pluginRefactoringProblem('a', 1)], 141 <plugin.RefactoringProblem>[pluginRefactoringProblem(0, 0)],
140 <plugin.RefactoringProblem>[_pluginRefactoringProblem('b', 5)], 142 <plugin.RefactoringProblem>[pluginRefactoringProblem(2, 4)],
141 <plugin.RefactoringProblem>[_pluginRefactoringProblem('c', 9)], 143 <plugin.RefactoringProblem>[pluginRefactoringProblem(4, 8)],
142 feedback: new plugin.MoveFileFeedback(), 144 feedback: new plugin.MoveFileFeedback(),
143 change: _pluginSourceChange(), 145 change: pluginSourceChange(6, 12),
144 potentialEdits: <String>['f']); 146 potentialEdits: <String>['f']);
145 server.EditGetRefactoringResult expected = 147 server.EditGetRefactoringResult expected =
146 new server.EditGetRefactoringResult( 148 new server.EditGetRefactoringResult(
147 <server.RefactoringProblem>[_serverRefactoringProblem('a', 1)], 149 <server.RefactoringProblem>[serverRefactoringProblem(0, 0)],
148 <server.RefactoringProblem>[_serverRefactoringProblem('b', 5)], 150 <server.RefactoringProblem>[serverRefactoringProblem(2, 4)],
149 <server.RefactoringProblem>[_serverRefactoringProblem('c', 9)], 151 <server.RefactoringProblem>[serverRefactoringProblem(4, 8)],
150 change: _serverSourceChange(), 152 change: serverSourceChange(6, 12),
151 potentialEdits: <String>['f']); 153 potentialEdits: <String>['f']);
152 expect( 154 expect(
153 converter.convertEditGetRefactoringResult( 155 converter.convertEditGetRefactoringResult(
154 plugin.RefactoringKind.MOVE_FILE, initial), 156 plugin.RefactoringKind.MOVE_FILE, initial),
155 expected); 157 expected);
156 } 158 }
157 159
158 void test_convertFoldingRegion() { 160 void test_convertFoldingRegion() {
159 plugin.FoldingRegion initial = 161 plugin.FoldingRegion initial = pluginFoldingRegion(1, 2);
160 new plugin.FoldingRegion(plugin.FoldingKind.COMMENT, 1, 2); 162 server.FoldingRegion expected = serverFoldingRegion(1, 2);
161 server.FoldingRegion expected =
162 new server.FoldingRegion(server.FoldingKind.COMMENT, 1, 2);
163 expect(converter.convertFoldingRegion(initial), expected); 163 expect(converter.convertFoldingRegion(initial), expected);
164 } 164 }
165 165
166 void test_convertHighlightRegion() { 166 void test_convertHighlightRegion() {
167 plugin.HighlightRegion initial = 167 plugin.HighlightRegion initial = pluginHighlightRegion(1, 2);
168 new plugin.HighlightRegion(plugin.HighlightRegionType.FIELD, 1, 2); 168 server.HighlightRegion expected = serverHighlightRegion(1, 2);
169 server.HighlightRegion expected =
170 new server.HighlightRegion(server.HighlightRegionType.FIELD, 1, 2);
171 expect(converter.convertHighlightRegion(initial), expected); 169 expect(converter.convertHighlightRegion(initial), expected);
172 } 170 }
173 171
174 void test_convertOccurrences() { 172 void test_convertOccurrences() {
175 plugin.Occurrences initial = 173 plugin.Occurrences initial = pluginOccurrences(1, 1);
176 new plugin.Occurrences(_pluginElement(1, 1), <int>[6, 7], 8); 174 server.Occurrences expected = serverOccurrences(1, 1);
177 server.Occurrences expected =
178 new server.Occurrences(_serverElement(1, 1), <int>[6, 7], 8);
179 expect(converter.convertOccurrences(initial), expected); 175 expect(converter.convertOccurrences(initial), expected);
180 } 176 }
181 177
182 void test_convertOutline() { 178 void test_convertOutline() {
183 plugin.Outline initial = new plugin.Outline(_pluginElement(1, 1), 6, 7, 179 plugin.Outline initial = new plugin.Outline(pluginElement(1, 1), 6, 7,
184 children: <plugin.Outline>[ 180 children: <plugin.Outline>[
185 new plugin.Outline(_pluginElement(6, 8), 14, 15) 181 new plugin.Outline(pluginElement(6, 8), 14, 15)
186 ]); 182 ]);
187 server.Outline expected = new server.Outline(_serverElement(1, 1), 6, 7, 183 server.Outline expected = new server.Outline(serverElement(1, 1), 6, 7,
188 children: <server.Outline>[ 184 children: <server.Outline>[
189 new server.Outline(_serverElement(6, 8), 14, 15) 185 new server.Outline(serverElement(6, 8), 14, 15)
190 ]); 186 ]);
191 expect(converter.convertOutline(initial), expected); 187 expect(converter.convertOutline(initial), expected);
192 } 188 }
193 189
194 void test_convertPrioritizedSourceChange() { 190 void test_convertPrioritizedSourceChange() {
195 plugin.PrioritizedSourceChange initial = 191 plugin.PrioritizedSourceChange initial =
196 new plugin.PrioritizedSourceChange(100, _pluginSourceChange()); 192 new plugin.PrioritizedSourceChange(100, pluginSourceChange(0, 0));
197 server.SourceChange expected = _serverSourceChange(); 193 server.SourceChange expected = serverSourceChange(0, 0);
198 expect(converter.convertPrioritizedSourceChange(initial), expected); 194 expect(converter.convertPrioritizedSourceChange(initial), expected);
199 } 195 }
200 196
201 void test_convertRefactoringFeedback_convertGetterToMethod() { 197 void test_convertRefactoringFeedback_convertGetterToMethod() {
202 plugin.ConvertGetterToMethodFeedback initial = 198 plugin.ConvertGetterToMethodFeedback initial =
203 new plugin.ConvertGetterToMethodFeedback(); 199 new plugin.ConvertGetterToMethodFeedback();
204 expect( 200 expect(
205 converter.convertRefactoringFeedback( 201 converter.convertRefactoringFeedback(
206 plugin.RefactoringKind.CONVERT_GETTER_TO_METHOD, initial), 202 plugin.RefactoringKind.CONVERT_GETTER_TO_METHOD, initial),
207 isNull); 203 isNull);
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
324 plugin.RefactoringKind.RENAME: server.RefactoringKind.RENAME, 320 plugin.RefactoringKind.RENAME: server.RefactoringKind.RENAME,
325 plugin.RefactoringKind.SORT_MEMBERS: server.RefactoringKind.SORT_MEMBERS, 321 plugin.RefactoringKind.SORT_MEMBERS: server.RefactoringKind.SORT_MEMBERS,
326 }; 322 };
327 kindMap.forEach( 323 kindMap.forEach(
328 (plugin.RefactoringKind pluginKind, server.RefactoringKind serverKind) { 324 (plugin.RefactoringKind pluginKind, server.RefactoringKind serverKind) {
329 expect(converter.convertRefactoringKind(pluginKind), serverKind); 325 expect(converter.convertRefactoringKind(pluginKind), serverKind);
330 }); 326 });
331 } 327 }
332 328
333 void test_convertSourceChange() { 329 void test_convertSourceChange() {
334 plugin.SourceChange initial = _pluginSourceChange(); 330 plugin.SourceChange initial = pluginSourceChange(0, 0);
335 server.SourceChange expected = _serverSourceChange(); 331 server.SourceChange expected = serverSourceChange(0, 0);
336 expect(converter.convertSourceChange(initial), expected); 332 expect(converter.convertSourceChange(initial), expected);
337 } 333 }
338
339 String _fileName(int index) => '${strings[index]}.dart';
340
341 plugin.AnalysisError _pluginAnalysisError() => new plugin.AnalysisError(
342 plugin.AnalysisErrorSeverity.ERROR,
343 plugin.AnalysisErrorType.COMPILE_TIME_ERROR,
344 new plugin.Location('a.dart', 1, 2, 3, 4),
345 'm',
346 'c',
347 correction: 'n',
348 hasFix: true);
349
350 /**
351 * On return, increment [stringIndex] by 5 and [intIndex] by 5.
352 */
353 plugin.Element _pluginElement(int stringIndex, int intIndex) =>
354 new plugin.Element(
355 plugin.ElementKind.CLASS, strings[stringIndex++], intIndex++,
356 location: new plugin.Location(_fileName(stringIndex++), intIndex++,
357 intIndex++, intIndex++, intIndex++),
358 parameters: strings[stringIndex++],
359 returnType: strings[stringIndex++],
360 typeParameters: strings[stringIndex++]);
361
362 plugin.Location _pluginLocation(String baseName, int index) =>
363 new plugin.Location(
364 '$baseName.dart', index, index + 1, index + 2, index + 3);
365
366 plugin.RefactoringProblem _pluginRefactoringProblem(
367 String baseName, int index) =>
368 new plugin.RefactoringProblem(
369 plugin.RefactoringProblemSeverity.FATAL, baseName,
370 location: _pluginLocation(baseName, index));
371
372 plugin.SourceChange _pluginSourceChange() => new plugin.SourceChange('m',
373 edits: <plugin.SourceFileEdit>[
374 new plugin.SourceFileEdit('a.dart', 1,
375 edits: <plugin.SourceEdit>[new plugin.SourceEdit(2, 3, 'r')])
376 ],
377 linkedEditGroups: <plugin.LinkedEditGroup>[
378 new plugin.LinkedEditGroup(
379 <plugin.Position>[new plugin.Position('b.dart', 4)],
380 5,
381 <plugin.LinkedEditSuggestion>[
382 new plugin.LinkedEditSuggestion(
383 'v', plugin.LinkedEditSuggestionKind.METHOD)
384 ])
385 ],
386 selection: new plugin.Position('c.dart', 6));
387
388 server.AnalysisError _serverAnalysisError() {
389 return new server.AnalysisError(
390 server.AnalysisErrorSeverity.ERROR,
391 server.AnalysisErrorType.COMPILE_TIME_ERROR,
392 new server.Location('a.dart', 1, 2, 3, 4),
393 'm',
394 'c',
395 correction: 'n',
396 hasFix: true);
397 }
398
399 /**
400 * On return, increment [stringIndex] by 5 and [intIndex] by 5.
401 */
402 server.Element _serverElement(int stringIndex, int intIndex) =>
403 new server.Element(
404 server.ElementKind.CLASS, strings[stringIndex++], intIndex++,
405 location: new server.Location(_fileName(stringIndex++), intIndex++,
406 intIndex++, intIndex++, intIndex++),
407 parameters: strings[stringIndex++],
408 returnType: strings[stringIndex++],
409 typeParameters: strings[stringIndex++]);
410
411 server.Location _serverLocation(String baseName, int index) =>
412 new server.Location(
413 '$baseName.dart', index, index + 1, index + 2, index + 3);
414
415 server.RefactoringProblem _serverRefactoringProblem(
416 String baseName, int index) =>
417 new server.RefactoringProblem(
418 server.RefactoringProblemSeverity.FATAL, baseName,
419 location: _serverLocation(baseName, index));
420
421 server.SourceChange _serverSourceChange() => new server.SourceChange('m',
422 edits: <server.SourceFileEdit>[
423 new server.SourceFileEdit('a.dart', 1,
424 edits: <server.SourceEdit>[new server.SourceEdit(2, 3, 'r')])
425 ],
426 linkedEditGroups: <server.LinkedEditGroup>[
427 new server.LinkedEditGroup(
428 <server.Position>[new server.Position('b.dart', 4)],
429 5,
430 <server.LinkedEditSuggestion>[
431 new server.LinkedEditSuggestion(
432 'v', server.LinkedEditSuggestionKind.METHOD)
433 ])
434 ],
435 selection: new server.Position('c.dart', 6));
436 } 334 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698