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

Unified Diff: pkg/analysis_server/test/edit/refactoring_test.dart

Issue 490923003: Make EXTRACT_LOCAL and EXTRACT_METHOD refactorings available when there is a selection. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 4 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pkg/analysis_server/lib/src/edit/edit_domain.dart ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/analysis_server/test/edit/refactoring_test.dart
diff --git a/pkg/analysis_server/test/edit/refactoring_test.dart b/pkg/analysis_server/test/edit/refactoring_test.dart
index 00c3e8f3dcef57215796959f2cfa3e61dd9a654e..aaeb2886dbd8fb39561f87e35ed2d607d28af475 100644
--- a/pkg/analysis_server/test/edit/refactoring_test.dart
+++ b/pkg/analysis_server/test/edit/refactoring_test.dart
@@ -31,23 +31,38 @@ class GetAvailableRefactoringsTest extends AbstractAnalysisTest {
Future assertHasRenameRefactoring(String code, String search) {
addTestFile(code);
return waitForTasksFinished().then((_) {
- List<RefactoringKind> kinds = getAvailableRefactorings(search);
+ List<RefactoringKind> kinds = getRefactoringsAtString(search);
expect(kinds, contains(RefactoringKind.RENAME));
});
}
/**
- * Returns the list of available refactorings of the offset of [search] with
- * [length] characters selected.
+ * Returns the list of available refactorings for the given [offset] and
+ * [length].
*/
- List<RefactoringKind> getAvailableRefactorings(String search, [int length = 0]) {
- Request request = new EditGetAvailableRefactoringsParams(testFile,
- findOffset(search), length).toRequest('0');
+ List<RefactoringKind> getRefactorings(int offset, int length) {
+ Request request = new EditGetAvailableRefactoringsParams(
+ testFile,
+ offset,
+ length).toRequest('0');
Response response = handleSuccessfulRequest(request);
var result = new EditGetAvailableRefactoringsResult.fromResponse(response);
return result.kinds;
}
+ /**
+ * Returns the list of available refactorings at the offset of [search].
+ */
+ List<RefactoringKind> getRefactoringsAtString(String search) {
+ int offset = findOffset(search);
+ return getRefactorings(offset, 0);
+ }
+
+ List<RefactoringKind> getRefactoringsForString(String search) {
+ int offset = findOffset(search);
+ return getRefactorings(offset, search.length);
+ }
+
@override
void setUp() {
super.setUp();
@@ -55,6 +70,20 @@ class GetAvailableRefactoringsTest extends AbstractAnalysisTest {
handler = new EditDomainHandler(server);
}
+ Future test_extractLocal() {
+ addTestFile('''
+main() {
+ var a = 1 + 2;
+}
+''');
+ return waitForTasksFinished().then((_) {
+ var search = '1 + 2';
+ List<RefactoringKind> kinds = getRefactoringsForString(search);
+ expect(kinds, contains(RefactoringKind.EXTRACT_LOCAL_VARIABLE));
+ expect(kinds, contains(RefactoringKind.EXTRACT_METHOD));
+ });
+ }
+
Future test_rename_hasElement_class() {
return assertHasRenameRefactoring('''
class Test {}
@@ -167,7 +196,8 @@ main() {
}
''');
return waitForTasksFinished().then((_) {
- List<RefactoringKind> kinds = getAvailableRefactorings('// not an element');
+ List<RefactoringKind> kinds =
+ getRefactoringsAtString('// not an element');
expect(kinds, isNot(contains(RefactoringKind.RENAME)));
});
}
« no previous file with comments | « pkg/analysis_server/lib/src/edit/edit_domain.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698