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

Side by Side Diff: pkg/analysis_server/test/src/utilities/change_builder_dart_test.dart

Issue 1117183004: More source utilities (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 5 years, 7 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) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, 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 analysis_server.test.src.utilities.change_builder_dart_test; 5 library analysis_server.test.src.utilities.change_builder_dart_test;
6 6
7 import 'package:analysis_server/src/protocol.dart'; 7 import 'package:analysis_server/src/protocol.dart';
8 import 'package:analysis_server/src/utilities/change_builder_core.dart'; 8 import 'package:analysis_server/src/utilities/change_builder_core.dart';
9 import 'package:analysis_server/src/utilities/change_builder_dart.dart'; 9 import 'package:analysis_server/src/utilities/change_builder_dart.dart';
10 import 'package:analysis_server/utilities/change_builder_core.dart'; 10 import 'package:analysis_server/utilities/change_builder_core.dart';
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
47 expect(sourceChange, isNotNull); 47 expect(sourceChange, isNotNull);
48 List<SourceFileEdit> fileEdits = sourceChange.edits; 48 List<SourceFileEdit> fileEdits = sourceChange.edits;
49 expect(fileEdits, hasLength(1)); 49 expect(fileEdits, hasLength(1));
50 SourceFileEdit fileEdit = fileEdits[0]; 50 SourceFileEdit fileEdit = fileEdits[0];
51 expect(fileEdit, isNotNull); 51 expect(fileEdit, isNotNull);
52 List<SourceEdit> edits = fileEdit.edits; 52 List<SourceEdit> edits = fileEdit.edits;
53 expect(edits, hasLength(1)); 53 expect(edits, hasLength(1));
54 return edits[0]; 54 return edits[0];
55 } 55 }
56 56
57 void test_writeClassDeclaration_interfaces() {
58 Source source = addSource('/test.dart', 'class A {}');
59 CompilationUnit unit = resolveLibraryUnit(source);
60 ClassDeclaration declaration = unit.declarations[0];
61
62 DartChangeBuilderImpl builder = new DartChangeBuilderImpl(context);
63 builder.addFileEdit(source, 1, (DartFileEditBuilderImpl builder) {
64 builder.addInsertion(0, (DartEditBuilder builder) {
65 builder.writeClassDeclaration('C',
66 interfaces: [declaration.element.type]);
67 });
68 });
69 SourceEdit edit = getEdit(builder);
70 expect(
71 edit.replacement, equalsIgnoringWhitespace('class C implements A { }'));
72 }
73
57 void test_writeClassDeclaration_isAbstract() { 74 void test_writeClassDeclaration_isAbstract() {
58 Source source = addSource('/test.dart', ''); 75 Source source = addSource('/test.dart', '');
59 resolveLibraryUnit(source); 76 resolveLibraryUnit(source);
60 77
61 DartChangeBuilderImpl builder = new DartChangeBuilderImpl(context); 78 DartChangeBuilderImpl builder = new DartChangeBuilderImpl(context);
62 builder.addFileEdit(source, 1, (DartFileEditBuilderImpl builder) { 79 builder.addFileEdit(source, 1, (DartFileEditBuilderImpl builder) {
63 builder.addInsertion(0, (DartEditBuilder builder) { 80 builder.addInsertion(0, (DartEditBuilder builder) {
64 builder.writeClassDeclaration('C', isAbstract: true); 81 builder.writeClassDeclaration('C', isAbstract: true);
65 }); 82 });
66 }); 83 });
67 SourceEdit edit = getEdit(builder); 84 SourceEdit edit = getEdit(builder);
68 expect(edit.replacement, equalsIgnoringWhitespace('abstract class C { }')); 85 expect(edit.replacement, equalsIgnoringWhitespace('abstract class C { }'));
69 } 86 }
70 87
71 void test_writeClassDeclaration_nameOnly() { 88 void test_writeClassDeclaration_memberWriter() {
72 Source source = addSource('/test.dart', ''); 89 Source source = addSource('/test.dart', '');
73 resolveLibraryUnit(source); 90 resolveLibraryUnit(source);
74 91
75 DartChangeBuilderImpl builder = new DartChangeBuilderImpl(context); 92 DartChangeBuilderImpl builder = new DartChangeBuilderImpl(context);
76 builder.addFileEdit(source, 1, (DartFileEditBuilderImpl builder) { 93 builder.addFileEdit(source, 1, (DartFileEditBuilderImpl builder) {
77 builder.addInsertion(0, (DartEditBuilder builder) { 94 builder.addInsertion(0, (DartEditBuilder builder) {
78 builder.writeClassDeclaration('C'); 95 builder.writeClassDeclaration('C', memberWriter: () {
96 builder.write('/**/');
97 });
79 }); 98 });
80 }); 99 });
81 SourceEdit edit = getEdit(builder); 100 SourceEdit edit = getEdit(builder);
101 expect(edit.replacement, equalsIgnoringWhitespace('class C { /**/ }'));
102 }
103
104 void test_writeClassDeclaration_mixins_noSuperclass() {
105 Source source = addSource('/test.dart', 'class A {}');
106 CompilationUnit unit = resolveLibraryUnit(source);
107 ClassDeclaration classA = unit.declarations[0];
108
109 DartChangeBuilderImpl builder = new DartChangeBuilderImpl(context);
110 builder.addFileEdit(source, 1, (DartFileEditBuilderImpl builder) {
111 builder.addInsertion(0, (DartEditBuilder builder) {
112 builder.writeClassDeclaration('C', mixins: [classA.element.type]);
113 });
114 });
115 SourceEdit edit = getEdit(builder);
116 expect(edit.replacement,
117 equalsIgnoringWhitespace('class C extends Object with A { }'));
118 }
119
120 void test_writeClassDeclaration_mixins_superclass() {
121 Source source = addSource('/test.dart', 'class A {} class B {}');
122 CompilationUnit unit = resolveLibraryUnit(source);
123 ClassDeclaration classA = unit.declarations[0];
124 ClassDeclaration classB = unit.declarations[1];
125
126 DartChangeBuilderImpl builder = new DartChangeBuilderImpl(context);
127 builder.addFileEdit(source, 1, (DartFileEditBuilderImpl builder) {
128 builder.addInsertion(0, (DartEditBuilder builder) {
129 builder.writeClassDeclaration('C',
130 mixins: [classB.element.type], superclass: classA.element.type);
131 });
132 });
133 SourceEdit edit = getEdit(builder);
134 expect(edit.replacement,
135 equalsIgnoringWhitespace('class C extends A with B { }'));
136 }
137
138 void test_writeClassDeclaration_nameGroupName() {
139 Source source = addSource('/test.dart', '');
140 resolveLibraryUnit(source);
141
142 DartChangeBuilderImpl builder = new DartChangeBuilderImpl(context);
143 builder.addFileEdit(source, 1, (DartFileEditBuilderImpl builder) {
144 builder.addInsertion(0, (DartEditBuilder builder) {
145 builder.writeClassDeclaration('C', nameGroupName: 'name');
146 });
147 });
148 SourceEdit edit = getEdit(builder);
82 expect(edit.replacement, equalsIgnoringWhitespace('class C { }')); 149 expect(edit.replacement, equalsIgnoringWhitespace('class C { }'));
83 150
84 List<LinkedEditGroup> linkedEditGroups = 151 List<LinkedEditGroup> linkedEditGroups =
85 builder.sourceChange.linkedEditGroups; 152 builder.sourceChange.linkedEditGroups;
86 expect(linkedEditGroups, hasLength(1)); 153 expect(linkedEditGroups, hasLength(1));
87 LinkedEditGroup group = linkedEditGroups[0]; 154 LinkedEditGroup group = linkedEditGroups[0];
88 expect(group.length, 1); 155 expect(group.length, 1);
89 expect(group.positions, hasLength(1)); 156 expect(group.positions, hasLength(1));
90 } 157 }
91 158
92 void test_writeClassDeclaration_superclass() { 159 void test_writeClassDeclaration_superclass() {
93 Source source = addSource('/test.dart', 'class B {}'); 160 Source source = addSource('/test.dart', 'class B {}');
94 CompilationUnit unit = resolveLibraryUnit(source); 161 CompilationUnit unit = resolveLibraryUnit(source);
95 ClassDeclaration declaration = unit.declarations[0]; 162 ClassDeclaration declaration = unit.declarations[0];
96 163
97 DartChangeBuilderImpl builder = new DartChangeBuilderImpl(context); 164 DartChangeBuilderImpl builder = new DartChangeBuilderImpl(context);
98 builder.addFileEdit(source, 1, (DartFileEditBuilderImpl builder) { 165 builder.addFileEdit(source, 1, (DartFileEditBuilderImpl builder) {
99 builder.addInsertion(0, (DartEditBuilder builder) { 166 builder.addInsertion(0, (DartEditBuilder builder) {
100 builder.writeClassDeclaration('C', 167 builder.writeClassDeclaration('C',
101 superclass: declaration.element.type); 168 superclass: declaration.element.type);
102 }); 169 });
103 }); 170 });
104 SourceEdit edit = getEdit(builder); 171 SourceEdit edit = getEdit(builder);
105 expect(edit.replacement, equalsIgnoringWhitespace('class C extends B { }')); 172 expect(edit.replacement, equalsIgnoringWhitespace('class C extends B { }'));
106 } 173 }
107 174
175 void test_writeFieldDeclaration_initializerWriter() {
176 String content = 'class A {}';
177 Source source = addSource('/test.dart', content);
178 resolveLibraryUnit(source);
179
180 DartChangeBuilderImpl builder = new DartChangeBuilderImpl(context);
181 builder.addFileEdit(source, 1, (DartFileEditBuilderImpl builder) {
182 builder.addInsertion(content.length - 1, (DartEditBuilder builder) {
183 builder.writeFieldDeclaration('f', initializerWriter: () {
184 builder.write('e');
185 });
186 });
187 });
188 SourceEdit edit = getEdit(builder);
189 expect(edit.replacement, equalsIgnoringWhitespace('var f = e;'));
190 }
191
192 void test_writeFieldDeclaration_isConst() {
193 String content = 'class A {}';
194 Source source = addSource('/test.dart', content);
195 resolveLibraryUnit(source);
196
197 DartChangeBuilderImpl builder = new DartChangeBuilderImpl(context);
198 builder.addFileEdit(source, 1, (DartFileEditBuilderImpl builder) {
199 builder.addInsertion(content.length - 1, (DartEditBuilder builder) {
200 builder.writeFieldDeclaration('f', isConst: true);
201 });
202 });
203 SourceEdit edit = getEdit(builder);
204 expect(edit.replacement, equalsIgnoringWhitespace('const f;'));
205 }
206
207 void test_writeFieldDeclaration_isConst_isFinal() {
208 String content = 'class A {}';
209 Source source = addSource('/test.dart', content);
210 resolveLibraryUnit(source);
211
212 DartChangeBuilderImpl builder = new DartChangeBuilderImpl(context);
213 builder.addFileEdit(source, 1, (DartFileEditBuilderImpl builder) {
214 builder.addInsertion(content.length - 1, (DartEditBuilder builder) {
215 builder.writeFieldDeclaration('f', isConst: true, isFinal: true);
216 });
217 });
218 SourceEdit edit = getEdit(builder);
219 expect(edit.replacement, equalsIgnoringWhitespace('const f;'));
220 }
221
222 void test_writeFieldDeclaration_isFinal() {
223 String content = 'class A {}';
224 Source source = addSource('/test.dart', content);
225 resolveLibraryUnit(source);
226
227 DartChangeBuilderImpl builder = new DartChangeBuilderImpl(context);
228 builder.addFileEdit(source, 1, (DartFileEditBuilderImpl builder) {
229 builder.addInsertion(content.length - 1, (DartEditBuilder builder) {
230 builder.writeFieldDeclaration('f', isFinal: true);
231 });
232 });
233 SourceEdit edit = getEdit(builder);
234 expect(edit.replacement, equalsIgnoringWhitespace('final f;'));
235 }
236
237 void test_writeFieldDeclaration_isStatic() {
238 String content = 'class A {}';
239 Source source = addSource('/test.dart', content);
240 resolveLibraryUnit(source);
241
242 DartChangeBuilderImpl builder = new DartChangeBuilderImpl(context);
243 builder.addFileEdit(source, 1, (DartFileEditBuilderImpl builder) {
244 builder.addInsertion(content.length - 1, (DartEditBuilder builder) {
245 builder.writeFieldDeclaration('f', isStatic: true);
246 });
247 });
248 SourceEdit edit = getEdit(builder);
249 expect(edit.replacement, equalsIgnoringWhitespace('static var f;'));
250 }
251
252 void test_writeFieldDeclaration_nameGroupName() {
253 String content = 'class A {}';
254 Source source = addSource('/test.dart', content);
255 resolveLibraryUnit(source);
256
257 DartChangeBuilderImpl builder = new DartChangeBuilderImpl(context);
258 builder.addFileEdit(source, 1, (DartFileEditBuilderImpl builder) {
259 builder.addInsertion(content.length - 1, (DartEditBuilder builder) {
260 builder.writeFieldDeclaration('f', nameGroupName: 'name');
261 });
262 });
263 SourceEdit edit = getEdit(builder);
264 expect(edit.replacement, equalsIgnoringWhitespace('var f;'));
265
266 List<LinkedEditGroup> linkedEditGroups =
267 builder.sourceChange.linkedEditGroups;
268 expect(linkedEditGroups, hasLength(1));
269 LinkedEditGroup group = linkedEditGroups[0];
270 expect(group.length, 1);
271 expect(group.positions, hasLength(1));
272 Position position = group.positions[0];
273 expect(position.offset, equals(13));
274 }
275
276 void test_writeFieldDeclaration_type_typeGroupName() {
277 String content = 'class A {} class B {}';
278 Source source = addSource('/test.dart', content);
279 CompilationUnit unit = resolveLibraryUnit(source);
280 ClassDeclaration declaration = unit.declarations[0];
281
282 DartChangeBuilderImpl builder = new DartChangeBuilderImpl(context);
283 builder.addFileEdit(source, 1, (DartFileEditBuilderImpl builder) {
284 builder.addInsertion(content.length - 1, (DartEditBuilder builder) {
285 builder.writeFieldDeclaration('f',
286 type: declaration.element.type, typeGroupName: 'type');
287 });
288 });
289 SourceEdit edit = getEdit(builder);
290 expect(edit.replacement, equalsIgnoringWhitespace('A f;'));
291
292 List<LinkedEditGroup> linkedEditGroups =
293 builder.sourceChange.linkedEditGroups;
294 expect(linkedEditGroups, hasLength(1));
295 LinkedEditGroup group = linkedEditGroups[0];
296 expect(group.length, 1);
297 expect(group.positions, hasLength(1));
298 Position position = group.positions[0];
299 expect(position.offset, equals(20));
300 }
301
302 void test_writeGetterDeclaration_bodyWriter() {
303 String content = 'class A {}';
304 Source source = addSource('/test.dart', content);
305 resolveLibraryUnit(source);
306
307 DartChangeBuilderImpl builder = new DartChangeBuilderImpl(context);
308 builder.addFileEdit(source, 1, (DartFileEditBuilderImpl builder) {
309 builder.addInsertion(content.length - 1, (DartEditBuilderImpl builder) {
310 builder.writeGetterDeclaration('g', bodyWriter: () {
311 builder.write('{}');
312 });
313 });
314 });
315 SourceEdit edit = getEdit(builder);
316 expect(edit.replacement, equalsIgnoringWhitespace('get g {}'));
317 }
318
319 void test_writeGetterDeclaration_isStatic() {
320 String content = 'class A {}';
321 Source source = addSource('/test.dart', content);
322 resolveLibraryUnit(source);
323
324 DartChangeBuilderImpl builder = new DartChangeBuilderImpl(context);
325 builder.addFileEdit(source, 1, (DartFileEditBuilderImpl builder) {
326 builder.addInsertion(content.length - 1, (DartEditBuilderImpl builder) {
327 builder.writeGetterDeclaration('g', isStatic: true);
328 });
329 });
330 SourceEdit edit = getEdit(builder);
331 expect(edit.replacement, equalsIgnoringWhitespace('static get g => null;'));
332 }
333
334 void test_writeGetterDeclaration_nameGroupName() {
335 String content = 'class A {}';
336 Source source = addSource('/test.dart', content);
337 resolveLibraryUnit(source);
338
339 DartChangeBuilderImpl builder = new DartChangeBuilderImpl(context);
340 builder.addFileEdit(source, 1, (DartFileEditBuilderImpl builder) {
341 builder.addInsertion(content.length - 1, (DartEditBuilderImpl builder) {
342 builder.writeGetterDeclaration('g', nameGroupName: 'name');
343 });
344 });
345 SourceEdit edit = getEdit(builder);
346 expect(edit.replacement, equalsIgnoringWhitespace('get g => null;'));
347
348 List<LinkedEditGroup> linkedEditGroups =
349 builder.sourceChange.linkedEditGroups;
350 expect(linkedEditGroups, hasLength(1));
351 LinkedEditGroup group = linkedEditGroups[0];
352 expect(group.length, 1);
353 expect(group.positions, hasLength(1));
354 Position position = group.positions[0];
355 expect(position.offset, equals(13));
356 }
357
358 void test_writeGetterDeclaration_returnType() {
359 String content = 'class A {} class B {}';
360 Source source = addSource('/test.dart', content);
361 CompilationUnit unit = resolveLibraryUnit(source);
362 ClassDeclaration classA = unit.declarations[0];
363
364 DartChangeBuilderImpl builder = new DartChangeBuilderImpl(context);
365 builder.addFileEdit(source, 1, (DartFileEditBuilderImpl builder) {
366 builder.addInsertion(content.length - 1, (DartEditBuilderImpl builder) {
367 builder.writeGetterDeclaration('g', returnType: classA.element.type, ret urnTypeGroupName: 'returnType');
368 });
369 });
370 SourceEdit edit = getEdit(builder);
371 expect(edit.replacement, equalsIgnoringWhitespace('A get g => null;'));
372
373 List<LinkedEditGroup> linkedEditGroups =
374 builder.sourceChange.linkedEditGroups;
375 expect(linkedEditGroups, hasLength(1));
376 LinkedEditGroup group = linkedEditGroups[0];
377 expect(group.length, 1);
378 expect(group.positions, hasLength(1));
379 Position position = group.positions[0];
380 expect(position.offset, equals(20));
381 }
382
108 void test_writeOverrideOfInheritedMember() { 383 void test_writeOverrideOfInheritedMember() {
109 String content = ''' 384 String content = '''
110 class A { 385 class A {
111 A add(A a) => null; 386 A add(A a) => null;
112 } 387 }
113 class B extends A { 388 class B extends A {
114 }'''; 389 }''';
115 Source source = addSource('/test.dart', content); 390 Source source = addSource('/test.dart', content);
116 CompilationUnit unit = resolveLibraryUnit(source); 391 CompilationUnit unit = resolveLibraryUnit(source);
117 ClassDeclaration declaration = unit.declarations[0]; 392 ClassDeclaration declaration = unit.declarations[0];
(...skipping 289 matching lines...) Expand 10 before | Expand all | Expand 10 after
407 682
408 DartChangeBuilderImpl builder = new DartChangeBuilderImpl(context); 683 DartChangeBuilderImpl builder = new DartChangeBuilderImpl(context);
409 builder.addFileEdit(source, 1, (DartFileEditBuilderImpl builder) { 684 builder.addFileEdit(source, 1, (DartFileEditBuilderImpl builder) {
410 builder.addInsertion(content.length - 1, (DartEditBuilder builder) { 685 builder.addInsertion(content.length - 1, (DartEditBuilder builder) {
411 builder.writeType(classA.element.type); 686 builder.writeType(classA.element.type);
412 }); 687 });
413 }); 688 });
414 SourceEdit edit = getEdit(builder); 689 SourceEdit edit = getEdit(builder);
415 expect(edit.replacement, equalsIgnoringWhitespace('A')); 690 expect(edit.replacement, equalsIgnoringWhitespace('A'));
416 } 691 }
692
693 void test_writeTypes_empty() {
694 String content = 'class A {}';
695 Source source = addSource('/test.dart', content);
696 resolveLibraryUnit(source);
697
698 DartChangeBuilderImpl builder = new DartChangeBuilderImpl(context);
699 builder.addFileEdit(source, 1, (DartFileEditBuilderImpl builder) {
700 builder.addInsertion(content.length - 1, (DartEditBuilder builder) {
701 (builder as DartEditBuilderImpl).writeTypes([]);
702 });
703 });
704 SourceEdit edit = getEdit(builder);
705 expect(edit.replacement, isEmpty);
706 }
707
708 void test_writeTypes_noPrefix() {
709 String content = 'class A {} class B {}';
710 Source source = addSource('/test.dart', content);
711 CompilationUnit unit = resolveLibraryUnit(source);
712 ClassDeclaration classA = unit.declarations[0];
713 ClassDeclaration classB = unit.declarations[1];
714
715 DartChangeBuilderImpl builder = new DartChangeBuilderImpl(context);
716 builder.addFileEdit(source, 1, (DartFileEditBuilderImpl builder) {
717 builder.addInsertion(content.length - 1, (DartEditBuilder builder) {
718 (builder as DartEditBuilderImpl)
719 .writeTypes([classA.element.type, classB.element.type]);
720 });
721 });
722 SourceEdit edit = getEdit(builder);
723 expect(edit.replacement, equalsIgnoringWhitespace('A, B'));
724 }
725
726 void test_writeTypes_null() {
727 String content = 'class A {}';
728 Source source = addSource('/test.dart', content);
729 resolveLibraryUnit(source);
730
731 DartChangeBuilderImpl builder = new DartChangeBuilderImpl(context);
732 builder.addFileEdit(source, 1, (DartFileEditBuilderImpl builder) {
733 builder.addInsertion(content.length - 1, (DartEditBuilder builder) {
734 (builder as DartEditBuilderImpl).writeTypes(null);
735 });
736 });
737 SourceEdit edit = getEdit(builder);
738 expect(edit.replacement, isEmpty);
739 }
740
741 void test_writeTypes_prefix() {
742 String content = 'class A {} class B {}';
743 Source source = addSource('/test.dart', content);
744 CompilationUnit unit = resolveLibraryUnit(source);
745 ClassDeclaration classA = unit.declarations[0];
746 ClassDeclaration classB = unit.declarations[1];
747
748 DartChangeBuilderImpl builder = new DartChangeBuilderImpl(context);
749 builder.addFileEdit(source, 1, (DartFileEditBuilderImpl builder) {
750 builder.addInsertion(content.length - 1, (DartEditBuilder builder) {
751 (builder as DartEditBuilderImpl).writeTypes(
752 [classA.element.type, classB.element.type], prefix: 'implements ');
753 });
754 });
755 SourceEdit edit = getEdit(builder);
756 expect(edit.replacement, equalsIgnoringWhitespace('implements A, B'));
757 }
417 } 758 }
418 759
419 @reflectiveTest 760 @reflectiveTest
420 class DartFileEditBuilderImplTest extends AbstractContextTest { 761 class DartFileEditBuilderImplTest extends AbstractContextTest {
421 void test_createEditBuilder() { 762 void test_createEditBuilder() {
422 Source source = addSource('/test.dart', 'library test;'); 763 Source source = addSource('/test.dart', 'library test;');
423 resolveLibraryUnit(source); 764 resolveLibraryUnit(source);
424 int timeStamp = 65; 765 int timeStamp = 65;
425 DartChangeBuilderImpl builder = new DartChangeBuilderImpl(context); 766 DartChangeBuilderImpl builder = new DartChangeBuilderImpl(context);
426 builder.addFileEdit(source, timeStamp, (DartFileEditBuilderImpl builder) { 767 builder.addFileEdit(source, timeStamp, (DartFileEditBuilderImpl builder) {
427 int offset = 4; 768 int offset = 4;
428 int length = 5; 769 int length = 5;
429 DartEditBuilderImpl editBuilder = 770 DartEditBuilderImpl editBuilder =
430 builder.createEditBuilder(offset, length); 771 builder.createEditBuilder(offset, length);
431 expect(editBuilder, new isInstanceOf<DartEditBuilder>()); 772 expect(editBuilder, new isInstanceOf<DartEditBuilder>());
432 SourceEdit sourceEdit = editBuilder.sourceEdit; 773 SourceEdit sourceEdit = editBuilder.sourceEdit;
433 expect(sourceEdit.length, length); 774 expect(sourceEdit.length, length);
434 expect(sourceEdit.offset, offset); 775 expect(sourceEdit.offset, offset);
435 expect(sourceEdit.replacement, isEmpty); 776 expect(sourceEdit.replacement, isEmpty);
436 }); 777 });
437 } 778 }
438 } 779 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698