OLD | NEW |
| (Empty) |
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | |
2 // for details. All rights reserved. Use of this source code is governed by a | |
3 // BSD-style license that can be found in the LICENSE file. | |
4 | |
5 library test.services.completion.dart.combinator; | |
6 | |
7 import 'package:analysis_server/plugin/protocol/protocol.dart'; | |
8 import 'package:analysis_server/src/services/completion/combinator_contributor.d
art'; | |
9 import 'package:analysis_server/src/services/completion/dart_completion_manager.
dart'; | |
10 import 'package:test_reflective_loader/test_reflective_loader.dart'; | |
11 | |
12 import '../../utils.dart'; | |
13 import 'completion_test_util.dart'; | |
14 | |
15 main() { | |
16 initializeTestEnvironment(); | |
17 defineReflectiveTests(CombinatorContributorTest); | |
18 } | |
19 | |
20 @reflectiveTest | |
21 class CombinatorContributorTest extends AbstractCompletionTest { | |
22 @override | |
23 void setUpContributor() { | |
24 contributor = new CombinatorContributor(); | |
25 } | |
26 | |
27 test_Block_inherited_local() { | |
28 // Block BlockFunctionBody MethodDeclaration ClassDeclaration | |
29 addTestSource(''' | |
30 class F { var f1; f2() { } } | |
31 class E extends F { var e1; e2() { } } | |
32 class I { int i1; i2() { } } | |
33 class M { var m1; int m2() { } } | |
34 class A extends E implements I with M {a() {^}}'''); | |
35 computeFast(); | |
36 return computeFull((bool result) { | |
37 assertNoSuggestions(); | |
38 }); | |
39 } | |
40 | |
41 test_Combinator_hide() { | |
42 // SimpleIdentifier HideCombinator ImportDirective | |
43 addSource( | |
44 '/testAB.dart', | |
45 ''' | |
46 library libAB; | |
47 part '/partAB.dart'; | |
48 class A { } | |
49 class B { }'''); | |
50 addSource( | |
51 '/partAB.dart', | |
52 ''' | |
53 part of libAB; | |
54 var T1; | |
55 PB F1() => new PB(); | |
56 class PB { }'''); | |
57 addSource( | |
58 '/testCD.dart', | |
59 ''' | |
60 class C { } | |
61 class D { }'''); | |
62 addTestSource(''' | |
63 import "/testAB.dart" hide ^; | |
64 import "/testCD.dart"; | |
65 class X {}'''); | |
66 computeFast(); | |
67 return computeFull((bool result) { | |
68 assertSuggestClass('A', | |
69 relevance: DART_RELEVANCE_DEFAULT, | |
70 kind: CompletionSuggestionKind.IDENTIFIER); | |
71 assertSuggestClass('B', | |
72 relevance: DART_RELEVANCE_DEFAULT, | |
73 kind: CompletionSuggestionKind.IDENTIFIER); | |
74 assertSuggestClass('PB', | |
75 relevance: DART_RELEVANCE_DEFAULT, | |
76 kind: CompletionSuggestionKind.IDENTIFIER); | |
77 assertSuggestTopLevelVar('T1', null, DART_RELEVANCE_DEFAULT, | |
78 CompletionSuggestionKind.IDENTIFIER); | |
79 assertSuggestFunction('F1', 'PB', | |
80 kind: CompletionSuggestionKind.IDENTIFIER); | |
81 assertNotSuggested('C'); | |
82 assertNotSuggested('D'); | |
83 assertNotSuggested('X'); | |
84 assertNotSuggested('Object'); | |
85 }); | |
86 } | |
87 | |
88 test_Combinator_show() { | |
89 // SimpleIdentifier HideCombinator ImportDirective | |
90 addSource( | |
91 '/testAB.dart', | |
92 ''' | |
93 library libAB; | |
94 part '/partAB.dart'; | |
95 class A { } | |
96 class B { }'''); | |
97 addSource( | |
98 '/partAB.dart', | |
99 ''' | |
100 part of libAB; | |
101 var T1; | |
102 PB F1() => new PB(); | |
103 typedef PB2 F2(int blat); | |
104 class Clz = Object with Object; | |
105 class PB { }'''); | |
106 addSource( | |
107 '/testCD.dart', | |
108 ''' | |
109 class C { } | |
110 class D { }'''); | |
111 addTestSource(''' | |
112 import "/testAB.dart" show ^; | |
113 import "/testCD.dart"; | |
114 class X {}'''); | |
115 computeFast(); | |
116 return computeFull((bool result) { | |
117 assertSuggestClass('A', | |
118 relevance: DART_RELEVANCE_DEFAULT, | |
119 kind: CompletionSuggestionKind.IDENTIFIER); | |
120 assertSuggestClass('B', | |
121 relevance: DART_RELEVANCE_DEFAULT, | |
122 kind: CompletionSuggestionKind.IDENTIFIER); | |
123 assertSuggestClass('PB', | |
124 relevance: DART_RELEVANCE_DEFAULT, | |
125 kind: CompletionSuggestionKind.IDENTIFIER); | |
126 assertSuggestTopLevelVar('T1', null, DART_RELEVANCE_DEFAULT, | |
127 CompletionSuggestionKind.IDENTIFIER); | |
128 assertSuggestFunction('F1', 'PB', | |
129 kind: CompletionSuggestionKind.IDENTIFIER); | |
130 assertSuggestClass('Clz', | |
131 relevance: DART_RELEVANCE_DEFAULT, | |
132 kind: CompletionSuggestionKind.IDENTIFIER); | |
133 assertSuggestFunctionTypeAlias('F2', null, false, DART_RELEVANCE_DEFAULT, | |
134 CompletionSuggestionKind.IDENTIFIER); | |
135 assertNotSuggested('C'); | |
136 assertNotSuggested('D'); | |
137 assertNotSuggested('X'); | |
138 assertNotSuggested('Object'); | |
139 }); | |
140 } | |
141 } | |
OLD | NEW |