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

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

Issue 530033002: Use a more precise type for "object" in analysis server API. (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.refactoring; 5 library test.edit.refactoring;
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';
(...skipping 11 matching lines...) Expand all
22 runReflectiveTests(GetAvailableRefactoringsTest); 22 runReflectiveTests(GetAvailableRefactoringsTest);
23 runReflectiveTests(RenameTest); 23 runReflectiveTests(RenameTest);
24 } 24 }
25 25
26 26
27 @ReflectiveTestCase() 27 @ReflectiveTestCase()
28 class ExtractLocalVariableTest extends _AbstractGetRefactoring_Test { 28 class ExtractLocalVariableTest extends _AbstractGetRefactoring_Test {
29 Future<Response> sendExtractRequest(int offset, int length, String name, 29 Future<Response> sendExtractRequest(int offset, int length, String name,
30 bool extractAll) { 30 bool extractAll) {
31 RefactoringKind kind = RefactoringKind.EXTRACT_LOCAL_VARIABLE; 31 RefactoringKind kind = RefactoringKind.EXTRACT_LOCAL_VARIABLE;
32 Object options = new ExtractLocalVariableOptions(name, extractAll); 32 Map options = name != null ? new ExtractLocalVariableOptions(name,
33 extractAll).toJson() : null;
33 return sendRequest(kind, offset, length, options, false); 34 return sendRequest(kind, offset, length, options, false);
34 } 35 }
35 36
36 Future<Response> sendStringRequest(String search, String name, 37 Future<Response> sendStringRequest(String search, String name,
37 bool extractAll) { 38 bool extractAll) {
38 int offset = findOffset(search); 39 int offset = findOffset(search);
39 int length = search.length; 40 int length = search.length;
40 return sendExtractRequest(offset, length, name, extractAll); 41 return sendExtractRequest(offset, length, name, extractAll);
41 } 42 }
42 43
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
109 addTestFile(''' 110 addTestFile('''
110 class TreeItem {} 111 class TreeItem {}
111 TreeItem getSelectedItem() => null; 112 TreeItem getSelectedItem() => null;
112 main() { 113 main() {
113 var a = getSelectedItem(); 114 var a = getSelectedItem();
114 } 115 }
115 '''); 116 ''');
116 return getRefactoringResult(() { 117 return getRefactoringResult(() {
117 return sendStringSuffixRequest('getSelectedItem()', ';', null, true); 118 return sendStringSuffixRequest('getSelectedItem()', ';', null, true);
118 }).then((result) { 119 }).then((result) {
119 ExtractLocalVariableFeedback feedback = result.feedback; 120 ExtractLocalVariableFeedback feedback =
121 new ExtractLocalVariableFeedback.fromRefactoringResult(result);
120 expect( 122 expect(
121 feedback.names, 123 feedback.names,
122 unorderedEquals(['treeItem', 'item', 'selectedItem'])); 124 unorderedEquals(['treeItem', 'item', 'selectedItem']));
123 expect(result.change, isNull); 125 expect(result.change, isNull);
124 }); 126 });
125 } 127 }
126 128
127 test_offsetsLengths() { 129 test_offsetsLengths() {
128 addTestFile(''' 130 addTestFile('''
129 main() { 131 main() {
130 print(1 + 2); 132 print(1 + 2);
131 print(1 + 2); 133 print(1 + 2);
132 } 134 }
133 '''); 135 ''');
134 return getRefactoringResult(() { 136 return getRefactoringResult(() {
135 return sendStringRequest('1 + 2', 'res', true); 137 return sendStringRequest('1 + 2', 'res', true);
136 }).then((result) { 138 }).then((result) {
137 ExtractLocalVariableFeedback feedback = result.feedback; 139 ExtractLocalVariableFeedback feedback =
140 new ExtractLocalVariableFeedback.fromRefactoringResult(result);
138 expect(feedback.offsets, [findOffset('1 + 2'), findOffset('1 + 2')]); 141 expect(feedback.offsets, [findOffset('1 + 2'), findOffset('1 + 2')]);
139 expect(feedback.lengths, [5, 6]); 142 expect(feedback.lengths, [5, 6]);
140 }); 143 });
141 } 144 }
142 } 145 }
143 146
144 147
145 @ReflectiveTestCase() 148 @ReflectiveTestCase()
146 class GetAvailableRefactoringsTest extends AbstractAnalysisTest { 149 class GetAvailableRefactoringsTest extends AbstractAnalysisTest {
147 /** 150 /**
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after
326 @ReflectiveTestCase() 329 @ReflectiveTestCase()
327 class RenameTest extends _AbstractGetRefactoring_Test { 330 class RenameTest extends _AbstractGetRefactoring_Test {
328 Future<Response> sendRenameRequest(String search, String newName, 331 Future<Response> sendRenameRequest(String search, String newName,
329 [bool validateOnly = false]) { 332 [bool validateOnly = false]) {
330 Request request = new EditGetRefactoringParams( 333 Request request = new EditGetRefactoringParams(
331 RefactoringKind.RENAME, 334 RefactoringKind.RENAME,
332 testFile, 335 testFile,
333 findOffset(search), 336 findOffset(search),
334 0, 337 0,
335 validateOnly, 338 validateOnly,
336 options: new RenameOptions(newName)).toRequest('0'); 339 options: new RenameOptions(newName).toJson()).toRequest('0');
337 return serverChannel.sendRequest(request); 340 return serverChannel.sendRequest(request);
338 } 341 }
339 342
340 test_class() { 343 test_class() {
341 addTestFile(''' 344 addTestFile('''
342 class Test {} 345 class Test {}
343 main() { 346 main() {
344 Test v; 347 Test v;
345 } 348 }
346 '''); 349 ''');
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after
511 test_feedback() { 514 test_feedback() {
512 addTestFile(''' 515 addTestFile('''
513 class Test {} 516 class Test {}
514 main() { 517 main() {
515 Test v; 518 Test v;
516 } 519 }
517 '''); 520 ''');
518 return getRefactoringResult(() { 521 return getRefactoringResult(() {
519 return sendRenameRequest('st v;', 'NewName'); 522 return sendRenameRequest('st v;', 'NewName');
520 }).then((result) { 523 }).then((result) {
521 RenameFeedback feedback = result.feedback; 524 RenameFeedback feedback =
525 new RenameFeedback.fromRefactoringResult(result);
522 expect(feedback, isNotNull); 526 expect(feedback, isNotNull);
523 expect(feedback.offset, findOffset('Test v;')); 527 expect(feedback.offset, findOffset('Test v;'));
524 expect(feedback.length, 'Test'.length); 528 expect(feedback.length, 'Test'.length);
525 }); 529 });
526 } 530 }
527 531
528 test_function() { 532 test_function() {
529 addTestFile(''' 533 addTestFile('''
530 test() {} 534 test() {}
531 main() { 535 main() {
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after
687 Future<EditGetRefactoringResult> getRefactoringResult(Future<Response> 691 Future<EditGetRefactoringResult> getRefactoringResult(Future<Response>
688 requestSender()) { 692 requestSender()) {
689 return waitForTasksFinished().then((_) { 693 return waitForTasksFinished().then((_) {
690 return requestSender().then((Response response) { 694 return requestSender().then((Response response) {
691 return new EditGetRefactoringResult.fromResponse(response); 695 return new EditGetRefactoringResult.fromResponse(response);
692 }); 696 });
693 }); 697 });
694 } 698 }
695 699
696 Future<Response> sendRequest(RefactoringKind kind, int offset, int length, 700 Future<Response> sendRequest(RefactoringKind kind, int offset, int length,
697 Object options, [bool validateOnly = false]) { 701 Map options, [bool validateOnly = false]) {
698 Request request = new EditGetRefactoringParams( 702 Request request = new EditGetRefactoringParams(
699 kind, 703 kind,
700 testFile, 704 testFile,
701 offset, 705 offset,
702 length, 706 length,
703 validateOnly, 707 validateOnly,
704 options: options).toRequest('0'); 708 options: options).toRequest('0');
705 return serverChannel.sendRequest(request); 709 return serverChannel.sendRequest(request);
706 } 710 }
707 711
708 @override 712 @override
709 void setUp() { 713 void setUp() {
710 super.setUp(); 714 super.setUp();
711 server.handlers = [new EditDomainHandler(server),]; 715 server.handlers = [new EditDomainHandler(server),];
712 createProject(); 716 createProject();
713 handler = new EditDomainHandler(server); 717 handler = new EditDomainHandler(server);
714 } 718 }
715 } 719 }
OLDNEW
« no previous file with comments | « pkg/analysis_server/lib/src/services/json.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