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

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

Issue 605063002: Integrate CONVERT_GETTER_TO_METHOD refactoring into 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 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 d23dff3f29ba6c3368facd573505b22d9e2edca5..0acf5e15e85b0fa702396b913f82bf4127de7a71 100644
--- a/pkg/analysis_server/test/edit/refactoring_test.dart
+++ b/pkg/analysis_server/test/edit/refactoring_test.dart
@@ -18,6 +18,7 @@ import '../reflective_tests.dart';
main() {
groupSep = ' | ';
+ runReflectiveTests(ConvertGetterMethodToMethodTest);
runReflectiveTests(ConvertMethodToGetterTest);
runReflectiveTests(ExtractLocalVariableTest);
runReflectiveTests(ExtractMethodTest);
@@ -30,6 +31,102 @@ main() {
@ReflectiveTestCase()
+class ConvertGetterMethodToMethodTest extends _AbstractGetRefactoring_Test {
+ test_function() {
+ addTestFile('''
+int get test => 42;
+main() {
+ var a = 1 + test;
+ var b = 2 + test;
+}
+''');
+ return assertSuccessfulRefactoring(() {
+ return _sendConvertRequest('test =>');
+ }, '''
+int test() => 42;
+main() {
+ var a = 1 + test();
+ var b = 2 + test();
+}
+''');
+ }
+
+ test_init_fatalError_notExplicit() {
+ addTestFile('''
+int test = 42;
+main() {
+ var v = test;
+}
+''');
+ return getRefactoringResult(() {
+ return _sendConvertRequest('test;');
+ }).then((result) {
+ assertResultProblemsFatal(
+ result.initialProblems,
+ 'Only explicit getters can be converted to methods.');
+ // ...there is no any change
+ expect(result.change, isNull);
+ });
+ }
+
+ test_method() {
+ addTestFile('''
+class A {
+ int get test => 1;
+}
+class B extends A {
+ int get test => 2;
+}
+class C extends B {
+ int get test => 3;
+}
+class D extends A {
+ int get test => 4;
+}
+main(A a, B b, C c, D d) {
+ var va = a.test;
+ var vb = b.test;
+ var vc = c.test;
+ var vd = d.test;
+}
+''');
+ return assertSuccessfulRefactoring(() {
+ return _sendConvertRequest('test => 2');
+ }, '''
+class A {
+ int test() => 1;
+}
+class B extends A {
+ int test() => 2;
+}
+class C extends B {
+ int test() => 3;
+}
+class D extends A {
+ int test() => 4;
+}
+main(A a, B b, C c, D d) {
+ var va = a.test();
+ var vb = b.test();
+ var vc = c.test();
+ var vd = d.test();
+}
+''');
+ }
+
+ Future<Response> _sendConvertRequest(String search) {
+ Request request = new EditGetRefactoringParams(
+ RefactoringKind.CONVERT_GETTER_TO_METHOD,
+ testFile,
+ findOffset(search),
+ 0,
+ false).toRequest('0');
+ return serverChannel.sendRequest(request);
+ }
+}
+
+
+@ReflectiveTestCase()
class ConvertMethodToGetterTest extends _AbstractGetRefactoring_Test {
test_function() {
addTestFile('''
« 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