| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 } |
| OLD | NEW |