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

Side by Side Diff: pkg/analysis_server/test/services/correction/change_test.dart

Issue 479683005: Make more use of generated code in analysis server. (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.services.correction.change; 5 library test.services.correction.change;
6 6
7 import 'package:analysis_server/src/constants.dart'; 7 import 'package:analysis_server/src/constants.dart';
8 import 'package:analysis_server/src/protocol2.dart' show SourceEdit; 8 import 'package:analysis_server/src/protocol2.dart' show SourceEdit,
9 SourceFileEdit, Position;
9 import 'package:analysis_server/src/services/correction/change.dart'; 10 import 'package:analysis_server/src/services/correction/change.dart';
10 import 'package:analysis_testing/reflective_tests.dart'; 11 import 'package:analysis_testing/reflective_tests.dart';
11 import 'package:analyzer/src/generated/source.dart'; 12 import 'package:analyzer/src/generated/source.dart';
12 import 'package:unittest/unittest.dart'; 13 import 'package:unittest/unittest.dart';
13 14
14 15
15 main() { 16 main() {
16 groupSep = ' | '; 17 groupSep = ' | ';
17 runReflectiveTests(ChangeTest); 18 runReflectiveTests(ChangeTest);
18 runReflectiveTests(EditTest); 19 runReflectiveTests(EditTest);
19 runReflectiveTests(FileEditTest); 20 runReflectiveTests(FileEditTest);
20 runReflectiveTests(LinkedEditGroupTest); 21 runReflectiveTests(LinkedEditGroupTest);
21 runReflectiveTests(LinkedEditSuggestionTest); 22 runReflectiveTests(LinkedEditSuggestionTest);
22 runReflectiveTests(PositionTest); 23 runReflectiveTests(PositionTest);
23 } 24 }
24 25
25 26
26 @ReflectiveTestCase() 27 @ReflectiveTestCase()
27 class ChangeTest { 28 class ChangeTest {
28 void test_addEdit() { 29 void test_addEdit() {
29 Change change = new Change('msg'); 30 Change change = new Change('msg');
30 SourceEdit edit1 = new SourceEdit(1, 2, 'a'); 31 SourceEdit edit1 = new SourceEdit(1, 2, 'a');
31 SourceEdit edit2 = new SourceEdit(1, 2, 'b'); 32 SourceEdit edit2 = new SourceEdit(1, 2, 'b');
32 expect(change.fileEdits, hasLength(0)); 33 expect(change.fileEdits, hasLength(0));
33 change.addEdit('/a.dart', edit1); 34 change.addEdit('/a.dart', edit1);
34 expect(change.fileEdits, hasLength(1)); 35 expect(change.fileEdits, hasLength(1));
35 change.addEdit('/a.dart', edit2); 36 change.addEdit('/a.dart', edit2);
36 expect(change.fileEdits, hasLength(1)); 37 expect(change.fileEdits, hasLength(1));
37 { 38 {
38 FileEdit fileEdit = change.getFileEdit('/a.dart'); 39 SourceFileEdit fileEdit = change.getFileEdit('/a.dart');
39 expect(fileEdit, isNotNull); 40 expect(fileEdit, isNotNull);
40 expect(fileEdit.edits, unorderedEquals([edit1, edit2])); 41 expect(fileEdit.edits, unorderedEquals([edit1, edit2]));
41 } 42 }
42 } 43 }
43 44
44 void test_getFileEdit() { 45 void test_getFileEdit() {
45 Change change = new Change('msg'); 46 Change change = new Change('msg');
46 FileEdit fileEdit = new FileEdit('/a.dart'); 47 SourceFileEdit fileEdit = new SourceFileEdit('/a.dart', <SourceEdit>[]);
47 change.addFileEdit(fileEdit); 48 change.addFileEdit(fileEdit);
48 expect(change.getFileEdit('/a.dart'), fileEdit); 49 expect(change.getFileEdit('/a.dart'), fileEdit);
49 } 50 }
50 51
51 void test_getFileEdit_empty() { 52 void test_getFileEdit_empty() {
52 Change change = new Change('msg'); 53 Change change = new Change('msg');
53 expect(change.getFileEdit('/some.dart'), isNull); 54 expect(change.getFileEdit('/some.dart'), isNull);
54 } 55 }
55 56
56 void test_toJson() { 57 void test_toJson() {
57 Change change = new Change('msg'); 58 Change change = new Change('msg');
58 change.addFileEdit(new FileEdit('/a.dart') 59 change.addFileEdit(new SourceFileEdit('/a.dart', <SourceEdit>[])
59 ..add(new SourceEdit(1, 2, 'aaa')) 60 ..add(new SourceEdit(1, 2, 'aaa'))
60 ..add(new SourceEdit(10, 20, 'bbb'))); 61 ..add(new SourceEdit(10, 20, 'bbb')));
61 change.addFileEdit(new FileEdit('/b.dart') 62 change.addFileEdit(new SourceFileEdit('/b.dart', <SourceEdit>[])
62 ..add(new SourceEdit(21, 22, 'xxx')) 63 ..add(new SourceEdit(21, 22, 'xxx'))
63 ..add(new SourceEdit(210, 220, 'yyy'))); 64 ..add(new SourceEdit(210, 220, 'yyy')));
64 { 65 {
65 var group = new LinkedEditGroup(); 66 var group = new LinkedEditGroup();
66 change.addLinkedEditGroup(group 67 change.addLinkedEditGroup(group
67 ..addPosition(new Position('/ga.dart', 1), 2) 68 ..addPosition(new Position('/ga.dart', 1), 2)
68 ..addPosition(new Position('/ga.dart', 10), 2)); 69 ..addPosition(new Position('/ga.dart', 10), 2));
69 group.addSuggestion( 70 group.addSuggestion(
70 new LinkedEditSuggestion(LinkedEditSuggestionKind.TYPE, 'AA')); 71 new LinkedEditSuggestion(LinkedEditSuggestionKind.TYPE, 'AA'));
71 group.addSuggestion( 72 group.addSuggestion(
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
188 } 189 }
189 190
190 191
191 @ReflectiveTestCase() 192 @ReflectiveTestCase()
192 class FileEditTest { 193 class FileEditTest {
193 void test_addAll() { 194 void test_addAll() {
194 SourceEdit edit1a = new SourceEdit(1, 0, 'a1'); 195 SourceEdit edit1a = new SourceEdit(1, 0, 'a1');
195 SourceEdit edit1b = new SourceEdit(1, 0, 'a2'); 196 SourceEdit edit1b = new SourceEdit(1, 0, 'a2');
196 SourceEdit edit10 = new SourceEdit(10, 1, 'b'); 197 SourceEdit edit10 = new SourceEdit(10, 1, 'b');
197 SourceEdit edit100 = new SourceEdit(100, 2, 'c'); 198 SourceEdit edit100 = new SourceEdit(100, 2, 'c');
198 FileEdit fileEdit = new FileEdit('/test.dart'); 199 SourceFileEdit fileEdit = new SourceFileEdit('/test.dart', <SourceEdit>[]);
199 fileEdit.addAll([edit100, edit1a, edit10, edit1b]); 200 fileEdit.addAll([edit100, edit1a, edit10, edit1b]);
200 expect(fileEdit.edits, [edit100, edit10, edit1b, edit1a]); 201 expect(fileEdit.edits, [edit100, edit10, edit1b, edit1a]);
201 } 202 }
202 203
203 void test_add_sorts() { 204 void test_add_sorts() {
204 SourceEdit edit1a = new SourceEdit(1, 0, 'a1'); 205 SourceEdit edit1a = new SourceEdit(1, 0, 'a1');
205 SourceEdit edit1b = new SourceEdit(1, 0, 'a2'); 206 SourceEdit edit1b = new SourceEdit(1, 0, 'a2');
206 SourceEdit edit10 = new SourceEdit(10, 1, 'b'); 207 SourceEdit edit10 = new SourceEdit(10, 1, 'b');
207 SourceEdit edit100 = new SourceEdit(100, 2, 'c'); 208 SourceEdit edit100 = new SourceEdit(100, 2, 'c');
208 FileEdit fileEdit = new FileEdit('/test.dart'); 209 SourceFileEdit fileEdit = new SourceFileEdit('/test.dart', <SourceEdit>[]);
209 fileEdit.add(edit100); 210 fileEdit.add(edit100);
210 fileEdit.add(edit1a); 211 fileEdit.add(edit1a);
211 fileEdit.add(edit1b); 212 fileEdit.add(edit1b);
212 fileEdit.add(edit10); 213 fileEdit.add(edit10);
213 expect(fileEdit.edits, [edit100, edit10, edit1b, edit1a]); 214 expect(fileEdit.edits, [edit100, edit10, edit1b, edit1a]);
214 } 215 }
215 216
216 void test_new() { 217 void test_new() {
217 FileEdit fileEdit = new FileEdit('/test.dart'); 218 SourceFileEdit fileEdit = new SourceFileEdit('/test.dart', <SourceEdit>[]);
218 fileEdit.add(new SourceEdit(1, 2, 'aaa')); 219 fileEdit.add(new SourceEdit(1, 2, 'aaa'));
219 fileEdit.add(new SourceEdit(10, 20, 'bbb')); 220 fileEdit.add(new SourceEdit(10, 20, 'bbb'));
220 expect( 221 expect(
221 fileEdit.toString(), 222 fileEdit.toString(),
222 'FileEdit(file=/test.dart, edits=[' 223 '{"file":"/test.dart","edits":['
223 '{"offset":10,"length":20,"replacement":"bbb"}, ' 224 '{"offset":10,"length":20,"replacement":"bbb"},'
224 '{"offset":1,"length":2,"replacement":"aaa"}])'); 225 '{"offset":1,"length":2,"replacement":"aaa"}]}');
225 } 226 }
226 227
227 void test_toJson() { 228 void test_toJson() {
228 FileEdit fileEdit = new FileEdit('/test.dart'); 229 SourceFileEdit fileEdit = new SourceFileEdit('/test.dart', <SourceEdit>[]);
229 fileEdit.add(new SourceEdit(1, 2, 'aaa')); 230 fileEdit.add(new SourceEdit(1, 2, 'aaa'));
230 fileEdit.add(new SourceEdit(10, 20, 'bbb')); 231 fileEdit.add(new SourceEdit(10, 20, 'bbb'));
231 var expectedJson = { 232 var expectedJson = {
232 FILE: '/test.dart', 233 FILE: '/test.dart',
233 EDITS: [{ 234 EDITS: [{
234 OFFSET: 10, 235 OFFSET: 10,
235 LENGTH: 20, 236 LENGTH: 20,
236 REPLACEMENT: 'bbb' 237 REPLACEMENT: 'bbb'
237 }, { 238 }, {
238 OFFSET: 1, 239 OFFSET: 1,
239 LENGTH: 2, 240 LENGTH: 2,
240 REPLACEMENT: 'aaa' 241 REPLACEMENT: 'aaa'
241 },] 242 },]
242 }; 243 };
243 expect(fileEdit.toJson(), expectedJson); 244 expect(fileEdit.toJson(), expectedJson);
244 } 245 }
245 } 246 }
246 247
247 248
248 @ReflectiveTestCase() 249 @ReflectiveTestCase()
249 class LinkedEditGroupTest { 250 class LinkedEditGroupTest {
250 void test_new() { 251 void test_new() {
251 LinkedEditGroup group = new LinkedEditGroup(); 252 LinkedEditGroup group = new LinkedEditGroup();
252 group.addPosition(new Position('/a.dart', 1), 2); 253 group.addPosition(new Position('/a.dart', 1), 2);
253 group.addPosition(new Position('/b.dart', 10), 2); 254 group.addPosition(new Position('/b.dart', 10), 2);
254 expect( 255 expect(
255 group.toString(), 256 group.toString(),
256 'LinkedEditGroup(length=2, positions=[' 257 'LinkedEditGroup(length=2, positions=['
257 'Position(file=/a.dart, offset=1), ' 258 '{"file":"/a.dart","offset":1}, '
258 'Position(file=/b.dart, offset=10)], suggestions=[])'); 259 '{"file":"/b.dart","offset":10}], suggestions=[])');
259 } 260 }
260 261
261 void test_toJson() { 262 void test_toJson() {
262 LinkedEditGroup group = new LinkedEditGroup(); 263 LinkedEditGroup group = new LinkedEditGroup();
263 group.addPosition(new Position('/a.dart', 1), 2); 264 group.addPosition(new Position('/a.dart', 1), 2);
264 group.addPosition(new Position('/b.dart', 10), 2); 265 group.addPosition(new Position('/b.dart', 10), 2);
265 group.addSuggestion( 266 group.addSuggestion(
266 new LinkedEditSuggestion(LinkedEditSuggestionKind.TYPE, 'AA')); 267 new LinkedEditSuggestion(LinkedEditSuggestionKind.TYPE, 'AA'));
267 group.addSuggestion( 268 group.addSuggestion(
268 new LinkedEditSuggestion(LinkedEditSuggestionKind.TYPE, 'BB')); 269 new LinkedEditSuggestion(LinkedEditSuggestionKind.TYPE, 'BB'));
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
317 318
318 void test_hashCode() { 319 void test_hashCode() {
319 Position position = new Position('/test.dart', 1); 320 Position position = new Position('/test.dart', 1);
320 position.hashCode; 321 position.hashCode;
321 } 322 }
322 323
323 void test_new() { 324 void test_new() {
324 Position position = new Position('/test.dart', 1); 325 Position position = new Position('/test.dart', 1);
325 expect(position.file, '/test.dart'); 326 expect(position.file, '/test.dart');
326 expect(position.offset, 1); 327 expect(position.offset, 1);
327 expect(position.toString(), 'Position(file=/test.dart, offset=1)'); 328 expect(position.toString(), '{"file":"/test.dart","offset":1}');
328 } 329 }
329 330
330 void test_toJson() { 331 void test_toJson() {
331 Position position = new Position('/test.dart', 1); 332 Position position = new Position('/test.dart', 1);
332 var expectedJson = { 333 var expectedJson = {
333 FILE: '/test.dart', 334 FILE: '/test.dart',
334 OFFSET: 1 335 OFFSET: 1
335 }; 336 };
336 expect(position.toJson(), expectedJson); 337 expect(position.toJson(), expectedJson);
337 } 338 }
338 } 339 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698