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'); |
+ }); |
+ } |
} |