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

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

Issue 945113002: Add 'Convert Method to Getter' proposal only if it is an available refactoring. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 5 years, 10 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
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 7d5f12057d2d5ab3b679437f5b4135efa606ddd4..ad3ff9016e23008789af5393239ca1cabe406b97 100644
--- a/pkg/analysis_server/test/edit/refactoring_test.dart
+++ b/pkg/analysis_server/test/edit/refactoring_test.dart
@@ -628,15 +628,30 @@ void res(int a, int b) {
@reflectiveTest
class GetAvailableRefactoringsTest extends AbstractAnalysisTest {
+ List<RefactoringKind> kinds;
+
/**
* Tests that there is a RENAME refactoring available at the [search] offset.
*/
- Future assertHasRenameRefactoring(String code, String search) {
+ Future assertHasRenameRefactoring(String code, String search) async {
+ return assertHasKind(code, search, RefactoringKind.RENAME, true);
+ }
+
+ /**
+ * Tests that there is refactoring of the given [kind] is available at the
+ * [search] offset.
+ */
+ Future assertHasKind(String code, String search, RefactoringKind kind,
+ bool expected) async {
addTestFile(code);
- return waitForTasksFinished().then((_) {
- List<RefactoringKind> kinds = getRefactoringsAtString(search);
- expect(kinds, contains(RefactoringKind.RENAME));
- });
+ await waitForTasksFinished();
+ await getRefactoringsAtString(search);
+ // verify
+ Matcher matcher = contains(kind);
+ if (!expected) {
+ matcher = isNot(matcher);
+ }
+ expect(kinds, matcher);
}
@override
@@ -648,25 +663,26 @@ class GetAvailableRefactoringsTest extends AbstractAnalysisTest {
* Returns the list of available refactorings for the given [offset] and
* [length].
*/
- List<RefactoringKind> getRefactorings(int offset, int length) {
+ Future getRefactorings(int offset, int length) async {
Request request = new EditGetAvailableRefactoringsParams(
testFile,
offset,
length).toRequest('0');
- Response response = handleSuccessfulRequest(request);
+ serverChannel.sendRequest(request);
+ var response = await serverChannel.waitForResponse(request);
var result = new EditGetAvailableRefactoringsResult.fromResponse(response);
- return result.kinds;
+ kinds = result.kinds;
}
/**
* Returns the list of available refactorings at the offset of [search].
*/
- List<RefactoringKind> getRefactoringsAtString(String search) {
+ Future getRefactoringsAtString(String search) {
int offset = findOffset(search);
return getRefactorings(offset, 0);
}
- List<RefactoringKind> getRefactoringsForString(String search) {
+ Future getRefactoringsForString(String search) {
int offset = findOffset(search);
return getRefactorings(offset, search.length);
}
@@ -676,20 +692,25 @@ class GetAvailableRefactoringsTest extends AbstractAnalysisTest {
super.setUp();
createProject();
handler = new EditDomainHandler(server);
+ server.handlers = [handler];
}
- Future test_extractLocal() {
+ Future test_extractLocal() async {
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));
- });
+ await waitForTasksFinished();
+ await getRefactoringsForString('1 + 2');
+ expect(kinds, contains(RefactoringKind.EXTRACT_LOCAL_VARIABLE));
+ expect(kinds, contains(RefactoringKind.EXTRACT_METHOD));
+ }
+
+ Future test_convertMethodToGetter_hasElement() {
+ return assertHasKind('''
+int getValue() => 42;
+''', 'getValue', RefactoringKind.CONVERT_METHOD_TO_GETTER, true);
}
Future test_rename_hasElement_class() {
@@ -797,17 +818,15 @@ main(A a) {
''', 'test();');
}
- Future test_rename_noElement() {
+ Future test_rename_noElement() async {
addTestFile('''
main() {
// not an element
}
''');
- return waitForTasksFinished().then((_) {
- List<RefactoringKind> kinds =
- getRefactoringsAtString('// not an element');
- expect(kinds, isNot(contains(RefactoringKind.RENAME)));
- });
+ await waitForTasksFinished();
+ await getRefactoringsAtString('// not an element');
+ expect(kinds, isNot(contains(RefactoringKind.RENAME)));
}
}

Powered by Google App Engine
This is Rietveld 408576698