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

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

Issue 574573002: Add SourceFileEdit.time field. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: tweak Created 6 years, 3 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/protocol.dart'; 8 import 'package:analysis_server/src/protocol.dart';
9 import '../../reflective_tests.dart'; 9 import '../../reflective_tests.dart';
10 import 'package:analyzer/src/generated/source.dart'; 10 import 'package:analyzer/src/generated/source.dart';
(...skipping 11 matching lines...) Expand all
22 } 22 }
23 23
24 24
25 @ReflectiveTestCase() 25 @ReflectiveTestCase()
26 class ChangeTest { 26 class ChangeTest {
27 void test_addEdit() { 27 void test_addEdit() {
28 SourceChange change = new SourceChange('msg'); 28 SourceChange change = new SourceChange('msg');
29 SourceEdit edit1 = new SourceEdit(1, 2, 'a'); 29 SourceEdit edit1 = new SourceEdit(1, 2, 'a');
30 SourceEdit edit2 = new SourceEdit(1, 2, 'b'); 30 SourceEdit edit2 = new SourceEdit(1, 2, 'b');
31 expect(change.edits, hasLength(0)); 31 expect(change.edits, hasLength(0));
32 change.addEdit('/a.dart', edit1); 32 change.addEdit('/a.dart', 0, edit1);
33 expect(change.edits, hasLength(1)); 33 expect(change.edits, hasLength(1));
34 change.addEdit('/a.dart', edit2); 34 change.addEdit('/a.dart', 0, edit2);
35 expect(change.edits, hasLength(1)); 35 expect(change.edits, hasLength(1));
36 { 36 {
37 SourceFileEdit fileEdit = change.getFileEdit('/a.dart'); 37 SourceFileEdit fileEdit = change.getFileEdit('/a.dart');
38 expect(fileEdit, isNotNull); 38 expect(fileEdit, isNotNull);
39 expect(fileEdit.edits, unorderedEquals([edit1, edit2])); 39 expect(fileEdit.edits, unorderedEquals([edit1, edit2]));
40 } 40 }
41 } 41 }
42 42
43 void test_getFileEdit() { 43 void test_getFileEdit() {
44 SourceChange change = new SourceChange('msg'); 44 SourceChange change = new SourceChange('msg');
45 SourceFileEdit fileEdit = new SourceFileEdit('/a.dart'); 45 SourceFileEdit fileEdit = new SourceFileEdit('/a.dart', 0);
46 change.addFileEdit(fileEdit); 46 change.addFileEdit(fileEdit);
47 expect(change.getFileEdit('/a.dart'), fileEdit); 47 expect(change.getFileEdit('/a.dart'), fileEdit);
48 } 48 }
49 49
50 void test_getFileEdit_empty() { 50 void test_getFileEdit_empty() {
51 SourceChange change = new SourceChange('msg'); 51 SourceChange change = new SourceChange('msg');
52 expect(change.getFileEdit('/some.dart'), isNull); 52 expect(change.getFileEdit('/some.dart'), isNull);
53 } 53 }
54 54
55 void test_toJson() { 55 void test_toJson() {
56 SourceChange change = new SourceChange('msg'); 56 SourceChange change = new SourceChange('msg');
57 change.addFileEdit(new SourceFileEdit('/a.dart') 57 change.addFileEdit(new SourceFileEdit('/a.dart', 1)
58 ..add(new SourceEdit(1, 2, 'aaa')) 58 ..add(new SourceEdit(1, 2, 'aaa'))
59 ..add(new SourceEdit(10, 20, 'bbb'))); 59 ..add(new SourceEdit(10, 20, 'bbb')));
60 change.addFileEdit(new SourceFileEdit('/b.dart') 60 change.addFileEdit(new SourceFileEdit('/b.dart', 2)
61 ..add(new SourceEdit(21, 22, 'xxx')) 61 ..add(new SourceEdit(21, 22, 'xxx'))
62 ..add(new SourceEdit(210, 220, 'yyy'))); 62 ..add(new SourceEdit(210, 220, 'yyy')));
63 { 63 {
64 var group = new LinkedEditGroup.empty(); 64 var group = new LinkedEditGroup.empty();
65 change.addLinkedEditGroup(group 65 change.addLinkedEditGroup(group
66 ..addPosition(new Position('/ga.dart', 1), 2) 66 ..addPosition(new Position('/ga.dart', 1), 2)
67 ..addPosition(new Position('/ga.dart', 10), 2)); 67 ..addPosition(new Position('/ga.dart', 10), 2));
68 group.addSuggestion( 68 group.addSuggestion(
69 new LinkedEditSuggestion('AA', LinkedEditSuggestionKind.TYPE)); 69 new LinkedEditSuggestion('AA', LinkedEditSuggestionKind.TYPE));
70 group.addSuggestion( 70 group.addSuggestion(
71 new LinkedEditSuggestion('BB', LinkedEditSuggestionKind.TYPE)); 71 new LinkedEditSuggestion('BB', LinkedEditSuggestionKind.TYPE));
72 } 72 }
73 change.addLinkedEditGroup(new LinkedEditGroup.empty() 73 change.addLinkedEditGroup(new LinkedEditGroup.empty()
74 ..addPosition(new Position('/gb.dart', 10), 5) 74 ..addPosition(new Position('/gb.dart', 10), 5)
75 ..addPosition(new Position('/gb.dart', 100), 5)); 75 ..addPosition(new Position('/gb.dart', 100), 5));
76 change.selection = new Position('/selection.dart', 42); 76 change.selection = new Position('/selection.dart', 42);
77 var expectedJson = { 77 var expectedJson = {
78 'message': 'msg', 78 'message': 'msg',
79 'edits': [{ 79 'edits': [{
80 'file': '/a.dart', 80 'file': '/a.dart',
81 'fileStamp': 1,
81 'edits': [{ 82 'edits': [{
82 'offset': 10, 83 'offset': 10,
83 'length': 20, 84 'length': 20,
84 'replacement': 'bbb' 85 'replacement': 'bbb'
85 }, { 86 }, {
86 'offset': 1, 87 'offset': 1,
87 'length': 2, 88 'length': 2,
88 'replacement': 'aaa' 89 'replacement': 'aaa'
89 }] 90 }]
90 }, { 91 }, {
91 'file': '/b.dart', 92 'file': '/b.dart',
93 'fileStamp': 2,
92 'edits': [{ 94 'edits': [{
93 'offset': 210, 95 'offset': 210,
94 'length': 220, 96 'length': 220,
95 'replacement': 'yyy' 97 'replacement': 'yyy'
96 }, { 98 }, {
97 'offset': 21, 99 'offset': 21,
98 'length': 22, 100 'length': 22,
99 'replacement': 'xxx' 101 'replacement': 'xxx'
100 }] 102 }]
101 }], 103 }],
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
187 } 189 }
188 190
189 191
190 @ReflectiveTestCase() 192 @ReflectiveTestCase()
191 class FileEditTest { 193 class FileEditTest {
192 void test_addAll() { 194 void test_addAll() {
193 SourceEdit edit1a = new SourceEdit(1, 0, 'a1'); 195 SourceEdit edit1a = new SourceEdit(1, 0, 'a1');
194 SourceEdit edit1b = new SourceEdit(1, 0, 'a2'); 196 SourceEdit edit1b = new SourceEdit(1, 0, 'a2');
195 SourceEdit edit10 = new SourceEdit(10, 1, 'b'); 197 SourceEdit edit10 = new SourceEdit(10, 1, 'b');
196 SourceEdit edit100 = new SourceEdit(100, 2, 'c'); 198 SourceEdit edit100 = new SourceEdit(100, 2, 'c');
197 SourceFileEdit fileEdit = new SourceFileEdit('/test.dart'); 199 SourceFileEdit fileEdit = new SourceFileEdit('/test.dart', 0);
198 fileEdit.addAll([edit100, edit1a, edit10, edit1b]); 200 fileEdit.addAll([edit100, edit1a, edit10, edit1b]);
199 expect(fileEdit.edits, [edit100, edit10, edit1b, edit1a]); 201 expect(fileEdit.edits, [edit100, edit10, edit1b, edit1a]);
200 } 202 }
201 203
202 void test_add_sorts() { 204 void test_add_sorts() {
203 SourceEdit edit1a = new SourceEdit(1, 0, 'a1'); 205 SourceEdit edit1a = new SourceEdit(1, 0, 'a1');
204 SourceEdit edit1b = new SourceEdit(1, 0, 'a2'); 206 SourceEdit edit1b = new SourceEdit(1, 0, 'a2');
205 SourceEdit edit10 = new SourceEdit(10, 1, 'b'); 207 SourceEdit edit10 = new SourceEdit(10, 1, 'b');
206 SourceEdit edit100 = new SourceEdit(100, 2, 'c'); 208 SourceEdit edit100 = new SourceEdit(100, 2, 'c');
207 SourceFileEdit fileEdit = new SourceFileEdit('/test.dart'); 209 SourceFileEdit fileEdit = new SourceFileEdit('/test.dart', 0);
208 fileEdit.add(edit100); 210 fileEdit.add(edit100);
209 fileEdit.add(edit1a); 211 fileEdit.add(edit1a);
210 fileEdit.add(edit1b); 212 fileEdit.add(edit1b);
211 fileEdit.add(edit10); 213 fileEdit.add(edit10);
212 expect(fileEdit.edits, [edit100, edit10, edit1b, edit1a]); 214 expect(fileEdit.edits, [edit100, edit10, edit1b, edit1a]);
213 } 215 }
214 216
215 void test_new() { 217 void test_new() {
216 SourceFileEdit fileEdit = new SourceFileEdit('/test.dart'); 218 SourceFileEdit fileEdit = new SourceFileEdit('/test.dart', 100);
217 fileEdit.add(new SourceEdit(1, 2, 'aaa')); 219 fileEdit.add(new SourceEdit(1, 2, 'aaa'));
218 fileEdit.add(new SourceEdit(10, 20, 'bbb')); 220 fileEdit.add(new SourceEdit(10, 20, 'bbb'));
219 expect( 221 expect(
220 fileEdit.toString(), 222 fileEdit.toString(),
221 '{"file":"/test.dart","edits":[' 223 '{"file":"/test.dart","fileStamp":100,"edits":['
222 '{"offset":10,"length":20,"replacement":"bbb"},' 224 '{"offset":10,"length":20,"replacement":"bbb"},'
223 '{"offset":1,"length":2,"replacement":"aaa"}]}'); 225 '{"offset":1,"length":2,"replacement":"aaa"}]}');
224 } 226 }
225 227
226 void test_toJson() { 228 void test_toJson() {
227 SourceFileEdit fileEdit = new SourceFileEdit('/test.dart'); 229 SourceFileEdit fileEdit = new SourceFileEdit('/test.dart', 100);
228 fileEdit.add(new SourceEdit(1, 2, 'aaa')); 230 fileEdit.add(new SourceEdit(1, 2, 'aaa'));
229 fileEdit.add(new SourceEdit(10, 20, 'bbb')); 231 fileEdit.add(new SourceEdit(10, 20, 'bbb'));
230 var expectedJson = { 232 var expectedJson = {
231 FILE: '/test.dart', 233 FILE: '/test.dart',
234 FILE_STAMP: 100,
232 EDITS: [{ 235 EDITS: [{
233 OFFSET: 10, 236 OFFSET: 10,
234 LENGTH: 20, 237 LENGTH: 20,
235 REPLACEMENT: 'bbb' 238 REPLACEMENT: 'bbb'
236 }, { 239 }, {
237 OFFSET: 1, 240 OFFSET: 1,
238 LENGTH: 2, 241 LENGTH: 2,
239 REPLACEMENT: 'aaa' 242 REPLACEMENT: 'aaa'
240 },] 243 },]
241 }; 244 };
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
328 331
329 void test_toJson() { 332 void test_toJson() {
330 Position position = new Position('/test.dart', 1); 333 Position position = new Position('/test.dart', 1);
331 var expectedJson = { 334 var expectedJson = {
332 FILE: '/test.dart', 335 FILE: '/test.dart',
333 OFFSET: 1 336 OFFSET: 1
334 }; 337 };
335 expect(position.toJson(), expectedJson); 338 expect(position.toJson(), expectedJson);
336 } 339 }
337 } 340 }
OLDNEW
« no previous file with comments | « pkg/analysis_server/test/integration/protocol_matchers.dart ('k') | pkg/analysis_server/tool/spec/codegen_dart_protocol.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698