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

Unified Diff: pkg/analysis_server/test/services/completion/invocation_computer_test.dart

Issue 628473002: cleanup/organize/improve completion tests (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: merge Created 6 years, 2 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/services/completion/invocation_computer_test.dart
diff --git a/pkg/analysis_server/test/services/completion/invocation_computer_test.dart b/pkg/analysis_server/test/services/completion/invocation_computer_test.dart
index 6afda09d3c4e26932b533dcf05d397098197f5d7..0eb91a53e9c67f8eac3022986155b0b1885b4bbf 100644
--- a/pkg/analysis_server/test/services/completion/invocation_computer_test.dart
+++ b/pkg/analysis_server/test/services/completion/invocation_computer_test.dart
@@ -5,10 +5,11 @@
library test.services.completion.invocation;
+import 'package:analysis_server/src/protocol.dart';
import 'package:analysis_server/src/services/completion/invocation_computer.dart';
-import '../../reflective_tests.dart';
import 'package:unittest/unittest.dart';
+import '../../reflective_tests.dart';
import 'completion_test_util.dart';
main() {
@@ -25,45 +26,52 @@ class InvocationComputerTest extends AbstractCompletionTest {
computer = new InvocationComputer();
}
- test_field() {
- addTestSource('class A {var b; X _c;} class X{} main() {A a; a.^}');
+ test_PrefixedIdentifier_field() {
+ // SimpleIdentifier PrefixedIdentifier ExpressionStatement
+ addTestSource('''
+ class A {var b; X _c;}
+ class X{}
+ main() {A a; a.^}''');
return computeFull().then((_) {
assertSuggestGetter('b', null);
assertSuggestGetter('_c', 'X');
});
}
- test_field_imported() {
- addSource('/testB.dart', 'lib B; class X {M y; var _z;} class M{}');
- addTestSource('import "/testB.dart"; main() {X x; x.^}');
- return computeFull().then((_) {
- assertSuggestGetter('y', 'M');
- assertNotSuggested('_z');
- });
- }
-
- test_field_superclass() {
- addTestSource(
- 'class A {X b; var _c;} class X{} class B extends A {} main() {B b; b.^}');
+ test_PrefixedIdentifier_field_imported() {
+ // SimpleIdentifier PrefixedIdentifier ExpressionStatement
+ addSource('/testB.dart', '''
+ lib B;
+ class X{}
+ class A {var b; X _c;}''');
+ addTestSource('''
+ import "/testB.dart";
+ main() {A a; a.^}''');
return computeFull().then((_) {
- assertSuggestGetter('b', 'X');
- assertSuggestGetter('_c', null);
+ assertSuggestGetter('b', null);
+ assertNotSuggested('_c');
});
}
- test_getter() {
- addTestSource(
- 'class A {X get b => new A();get _c => new A();} class X{} main() {A a; a.^}');
+ // TODO (danrubel) implement
+ test_PrefixedIdentifier_getter() {
+ // SimpleIdentifier PrefixedIdentifier ExpressionStatement
+ addTestSource('''
+ class A {X get b => new A();get _c => new A();}
+ class X{}
+ main() {A a; a.^}''');
return computeFull().then((_) {
assertSuggestGetter('b', 'X');
assertSuggestGetter('_c', null);
});
}
- test_getter_imported() {
- addSource(
- '/testB.dart',
- 'lib B; class S{} class X {S get y => new X(); X get _z => new X();}');
+ test_PrefixedIdentifier_getter_imported() {
+ // SimpleIdentifier PrefixedIdentifier ExpressionStatement
+ addSource('/testB.dart', '''
+ lib B;
+ class S{}
+ class X {S get y => new X(); X get _z => new X();}''');
addTestSource('import "/testB.dart"; main() {X x; x.^}');
return computeFull().then((_) {
assertSuggestGetter('y', 'S');
@@ -71,34 +79,51 @@ class InvocationComputerTest extends AbstractCompletionTest {
});
}
- test_getter_interface() {
- addTestSource('''class A {S get b => new A();A get _c => new A();}
- class B implements A {S get b => new A();} class S{}
- main() {B b; b.^}''');
+ test_PrefixedIdentifier_getter_interface() {
+ // SimpleIdentifier PrefixedIdentifier ExpressionStatement
+ addTestSource('''
+ class A {S get b => new A();A get _c => new A();}
+ class B implements A {S get b => new A();} class S{}
+ main() {B b; b.^}''');
return computeFull().then((_) {
assertSuggestGetter('b', 'S');
assertSuggestGetter('_c', 'A');
});
}
- test_library_prefix() {
- addSource('/testB.dart', 'lib B; class X { }');
- addTestSource('import "/testB.dart" as b; main() {b.^}');
+ test_PrefixedIdentifier_library() {
+ // SimpleIdentifier PrefixedIdentifier ExpressionStatement
+ addSource('/testB.dart', '''
+ lib B;
+ class X { }
+ class Y { }''');
+ addTestSource('''
+ import "/testB.dart" as b;
+ main() {b.^}''');
return computeFull().then((_) {
assertSuggestClass('X');
+ assertSuggestClass('Y');
});
}
- test_method() {
- addTestSource('class S{} class A {b(X x) {} S _c(X x) {}} main() {A a; a.^}');
+ test_PrefixedIdentifier_method() {
+ // SimpleIdentifier PrefixedIdentifier ExpressionStatement
+ addTestSource('''
+ class S{}
+ class A {b(X x) {} S _c(X x) {}}
+ main() {A a; a.^}''');
return computeFull().then((_) {
assertSuggestMethod('b', 'A', null);
assertSuggestMethod('_c', 'A', 'S');
});
}
- test_method_imported() {
- addSource('/testB.dart', 'lib B; class X {T y(X x) {} _z(X x) {}} class T{}');
+ test_PrefixedIdentifier_method_imported() {
+ // SimpleIdentifier PrefixedIdentifier ExpressionStatement
+ addSource('/testB.dart', '''
+ lib B;
+ class X {T y(X x) {} _z(X x) {}}
+ class T{}''');
addTestSource('import "/testB.dart"; main() {X x; x.^}');
return computeFull().then((_) {
assertSuggestMethod('y', 'X', 'T');
@@ -106,9 +131,14 @@ class InvocationComputerTest extends AbstractCompletionTest {
});
}
- test_method_imported_mixin() {
- addSource('/testB.dart', 'lib B; class X {T y(X x) {} _z(X x) {}} class T{}');
- addTestSource('''import "/testB.dart";
+ test_PrefixedIdentifier_method_imported_mixin() {
+ // SimpleIdentifier PrefixedIdentifier ExpressionStatement
+ addSource('/testB.dart', '''
+ lib B;
+ class X {T y(X x) {} _z(X x) {}}
+ class T{}''');
+ addTestSource('''
+ import "/testB.dart";
class A extends Object with X {}
main() {A a; a.^}''');
return computeFull().then((_) {
@@ -117,20 +147,60 @@ class InvocationComputerTest extends AbstractCompletionTest {
});
}
- test_setter() {
- addTestSource('class A {set b(X x) {} set _c(X x) {}} main() {A a; a.^}');
+ test_PrefixedIdentifier_parameter() {
+ // SimpleIdentifier PrefixedIdentifier ExpressionStatement
+ addSource('/testB.dart', '''
+ lib B;
+ class _W {M y; var _z;}
+ class X extends _W {}
+ class M{}''');
+ addTestSource('''
+ import "/testB.dart";
+ foo(X x) {x.^}''');
+ return computeFull().then((_) {
+ assertSuggestGetter('y', 'M');
+ assertNotSuggested('_z');
+ });
+ }
+
+ test_PrefixedIdentifier_setter() {
+ // SimpleIdentifier PrefixedIdentifier ExpressionStatement
+ addTestSource('''
+ class A {set b(X x) {} set _c(X x) {}}
+ main() {A a; a.^}''');
return computeFull().then((_) {
assertSuggestSetter('b');
assertSuggestSetter('_c');
});
}
- test_setter_imported() {
- addSource('/testB.dart', 'lib B; class X {set y(X x) {} set _z(X x) {}}');
- addTestSource('import "/testB.dart"; main() {X x; x.^}');
+ test_PrefixedIdentifier_setter_imported() {
+ // SimpleIdentifier PrefixedIdentifier ExpressionStatement
+ addSource('/testB.dart', '''
+ lib B;
+ class X {set y(X x) {} set _z(X x) {}}''');
+ addTestSource('''
+ import "/testB.dart";
+ main() {X x; x.^}''');
return computeFull().then((_) {
assertSuggestSetter('y');
assertNotSuggested('_z');
});
}
+
+ xtest_ConstructorName() {
+ // SimpleIdentifier PrefixedIdentifier TypeName ConstructorName
+ // InstanceCreationExpression
+ addSource('/testB.dart', '''
+ lib B;
+ class X {X.c(); X._d(); z() {}}''');
+ addTestSource('''
+ import "/testB.dart";
+ main() {new X.^}''');
+ return computeFull().then((_) {
+ assertSuggest(CompletionSuggestionKind.CONSTRUCTOR, 'c');
+ assertNotSuggested('_d');
+ assertNotSuggested('z');
+ });
+ }
}

Powered by Google App Engine
This is Rietveld 408576698