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

Side by Side Diff: pkg/analysis_server/test/edit/assists_test.dart

Issue 497393002: 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, 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.edit.assists; 5 library test.edit.assists;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 8
9 import 'package:analysis_server/src/edit/edit_domain.dart'; 9 import 'package:analysis_server/src/edit/edit_domain.dart';
10 import 'package:analysis_server/src/protocol.dart'; 10 import 'package:analysis_server/src/protocol.dart';
11 import 'package:analysis_server/src/protocol2.dart'; 11 import 'package:analysis_server/src/protocol2.dart';
12 import 'package:analysis_server/src/services/correction/change.dart';
13 import 'package:analysis_testing/reflective_tests.dart'; 12 import 'package:analysis_testing/reflective_tests.dart';
14 import 'package:unittest/unittest.dart' hide ERROR; 13 import 'package:unittest/unittest.dart' hide ERROR;
15 14
16 import '../analysis_abstract.dart'; 15 import '../analysis_abstract.dart';
17 16
18 17
19 main() { 18 main() {
20 groupSep = ' | '; 19 groupSep = ' | ';
21 runReflectiveTests(AssistsTest); 20 runReflectiveTests(AssistsTest);
22 } 21 }
23 22
24 23
25 @ReflectiveTestCase() 24 @ReflectiveTestCase()
26 class AssistsTest extends AbstractAnalysisTest { 25 class AssistsTest extends AbstractAnalysisTest {
27 List<Change> changes; 26 List<SourceChange> changes;
28 27
29 void prepareAssists(String search, [int length = 0]) { 28 void prepareAssists(String search, [int length = 0]) {
30 int offset = findOffset(search); 29 int offset = findOffset(search);
31 prepareAssistsAt(offset, length); 30 prepareAssistsAt(offset, length);
32 } 31 }
33 32
34 void prepareAssistsAt(int offset, int length) { 33 void prepareAssistsAt(int offset, int length) {
35 Request request = new EditGetAssistsParams(testFile, offset, 34 Request request = new EditGetAssistsParams(testFile, offset,
36 length).toRequest('0'); 35 length).toRequest('0');
37 Response response = handleSuccessfulRequest(request); 36 Response response = handleSuccessfulRequest(request);
38 var result = new EditGetAssistsResult.fromResponse(response); 37 var result = new EditGetAssistsResult.fromResponse(response);
39 List<SourceChange> sourceChangeList = result.assists; 38 List<SourceChange> sourceChangeList = result.assists;
40 // TODO(scheglov) consider using generated classes and decoders 39 // TODO(scheglov) consider using generated classes and decoders
41 changes = sourceChangeList.map((SourceChange sourceChange) { 40 changes = sourceChangeList.map((SourceChange sourceChange) {
42 Change change = new Change(sourceChange.message); 41 SourceChange change = new SourceChange(sourceChange.message);
43 sourceChange.edits.forEach((SourceFileEdit sourceFileEdit) { 42 sourceChange.edits.forEach((SourceFileEdit sourceFileEdit) {
44 SourceFileEdit fileEdit = new SourceFileEdit(sourceFileEdit.file); 43 SourceFileEdit fileEdit = new SourceFileEdit(sourceFileEdit.file);
45 change.fileEdits.add(fileEdit); 44 change.edits.add(fileEdit);
46 fileEdit.edits.addAll(sourceFileEdit.edits); 45 fileEdit.edits.addAll(sourceFileEdit.edits);
47 }); 46 });
48 return change; 47 return change;
49 }).toList(); 48 }).toList();
50 } 49 }
51 50
52 @override 51 @override
53 void setUp() { 52 void setUp() {
54 super.setUp(); 53 super.setUp();
55 createProject(); 54 createProject();
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
105 if (condition) { 104 if (condition) {
106 print(1); 105 print(1);
107 print(2); 106 print(2);
108 } 107 }
109 } 108 }
110 '''); 109 ''');
111 }); 110 });
112 } 111 }
113 112
114 void _assertHasChange(String message, String expectedCode) { 113 void _assertHasChange(String message, String expectedCode) {
115 for (Change change in changes) { 114 for (SourceChange change in changes) {
116 if (change.message == message) { 115 if (change.message == message) {
117 String resultCode = 116 String resultCode =
118 SourceEdit.applySequence(testCode, change.fileEdits[0].edits); 117 SourceEdit.applySequence(testCode, change.edits[0].edits);
119 expect(resultCode, expectedCode); 118 expect(resultCode, expectedCode);
120 return; 119 return;
121 } 120 }
122 } 121 }
123 fail("Expected to find |$message| in\n" + changes.join('\n')); 122 fail("Expected to find |$message| in\n" + changes.join('\n'));
124 } 123 }
125 } 124 }
OLDNEW
« no previous file with comments | « pkg/analysis_server/test/domain_completion_test.dart ('k') | pkg/analysis_server/test/protocol_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698