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

Side by Side Diff: pkg/analysis_server/test/analysis_notification_highlights_test.dart

Issue 406583002: Use futures uniformly rather than a mix of futures and CPS in tests. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 5 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | pkg/analysis_server/test/analysis_notification_navigation_test.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 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 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. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library test.domain.analysis.notification.highlights; 5 library test.domain.analysis.notification.highlights;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 8
9 import 'package:analysis_server/src/analysis_server.dart'; 9 import 'package:analysis_server/src/analysis_server.dart';
10 import 'package:analysis_server/src/computer/computer_highlights.dart'; 10 import 'package:analysis_server/src/computer/computer_highlights.dart';
(...skipping 14 matching lines...) Expand all
25 }); 25 });
26 } 26 }
27 27
28 28
29 @ReflectiveTestCase() 29 @ReflectiveTestCase()
30 class AnalysisNotificationHighlightsTest extends AbstractAnalysisTest { 30 class AnalysisNotificationHighlightsTest extends AbstractAnalysisTest {
31 List<HighlightRegion> regions; 31 List<HighlightRegion> regions;
32 32
33 void assertHasRawRegion(HighlightType type, int offset, int length) { 33 void assertHasRawRegion(HighlightType type, int offset, int length) {
34 for (HighlightRegion region in regions) { 34 for (HighlightRegion region in regions) {
35 if (region.offset == offset && region.length == length && region.type == 35 if (region.offset == offset &&
36 type) { 36 region.length == length &&
37 region.type == type) {
37 return; 38 return;
38 } 39 }
39 } 40 }
40 fail('Expected to find (offset=$offset; length=$length; type=$type) in\n' 41 fail(
Brian Wilkerson 2014/07/18 16:10:53 Not sure I agree that it's better to have this mov
41 '${regions.join('\n')}'); 42 'Expected to find (offset=$offset; length=$length; type=$type) in\n'
43 '${regions.join('\n')}');
42 } 44 }
43 45
44 void assertHasRegion(HighlightType type, String search, [int length = -1]) { 46 void assertHasRegion(HighlightType type, String search, [int length = -1]) {
45 int offset = findOffset(search); 47 int offset = findOffset(search);
46 length = findRegionLength(search, length); 48 length = findRegionLength(search, length);
47 assertHasRawRegion(type, offset, length); 49 assertHasRawRegion(type, offset, length);
48 } 50 }
49 51
50 void assertNoRawRegion(HighlightType type, int offset, int length) { 52 void assertNoRawRegion(HighlightType type, int offset, int length) {
51 for (HighlightRegion region in regions) { 53 for (HighlightRegion region in regions) {
52 if (region.offset == offset && region.length == length && region.type == 54 if (region.offset == offset &&
53 type) { 55 region.length == length &&
56 region.type == type) {
54 fail( 57 fail(
55 'Not expected to find (offset=$offset; length=$length; type=$type) i n\n' 58 'Not expected to find (offset=$offset; length=$length; type=$type) i n\n'
56 '${regions.join('\n')}'); 59 '${regions.join('\n')}');
57 } 60 }
58 } 61 }
59 } 62 }
60 63
61 64
62 void assertNoRegion(HighlightType type, String search, [int length = -1]) { 65 void assertNoRegion(HighlightType type, String search, [int length = -1]) {
63 int offset = findOffset(search); 66 int offset = findOffset(search);
64 length = findRegionLength(search, length); 67 length = findRegionLength(search, length);
65 assertNoRawRegion(type, offset, length); 68 assertNoRawRegion(type, offset, length);
66 } 69 }
67 70
68 int findRegionLength(String search, int length) { 71 int findRegionLength(String search, int length) {
69 if (length == -1) { 72 if (length == -1) {
70 length = 0; 73 length = 0;
71 while (length < search.length) { 74 while (length < search.length) {
72 int c = search.codeUnitAt(length); 75 int c = search.codeUnitAt(length);
73 if (length == 0 && c == '@'.codeUnitAt(0)) { 76 if (length == 0 && c == '@'.codeUnitAt(0)) {
74 length++; 77 length++;
75 continue; 78 continue;
76 } 79 }
77 if (!(c >= 'a'.codeUnitAt(0) && c <= 'z'.codeUnitAt(0) || c >= 80 if (!(c >= 'a'.codeUnitAt(0) && c <= 'z'.codeUnitAt(0) ||
78 'A'.codeUnitAt(0) && c <= 'Z'.codeUnitAt(0) || c >= '0'.codeUnitAt(0 ) && c <= 81 c >= 'A'.codeUnitAt(0) && c <= 'Z'.codeUnitAt(0) ||
79 '9'.codeUnitAt(0))) { 82 c >= '0'.codeUnitAt(0) && c <= '9'.codeUnitAt(0))) {
80 break; 83 break;
81 } 84 }
82 length++; 85 length++;
83 } 86 }
84 } 87 }
85 return length; 88 return length;
86 } 89 }
87 90
88 Future prepareHighlights(then()) { 91 Future prepareHighlights() {
89 addAnalysisSubscription(AnalysisService.HIGHLIGHTS, testFile); 92 addAnalysisSubscription(AnalysisService.HIGHLIGHTS, testFile);
90 return waitForTasksFinished().then((_) { 93 return waitForTasksFinished();
91 then();
92 });
93 } 94 }
94 95
95 void processNotification(Notification notification) { 96 void processNotification(Notification notification) {
96 if (notification.event == ANALYSIS_HIGHLIGHTS) { 97 if (notification.event == ANALYSIS_HIGHLIGHTS) {
97 String file = notification.getParameter(FILE); 98 String file = notification.getParameter(FILE);
98 if (file == testFile) { 99 if (file == testFile) {
99 regions = []; 100 regions = [];
100 List<Map<String, Object>> regionsJson = notification.getParameter( 101 List<Map<String, Object>> regionsJson =
101 REGIONS); 102 notification.getParameter(REGIONS);
102 for (Map<String, Object> regionJson in regionsJson) { 103 for (Map<String, Object> regionJson in regionsJson) {
103 regions.add(new HighlightRegion.fromJson(regionJson)); 104 regions.add(new HighlightRegion.fromJson(regionJson));
104 } 105 }
105 } 106 }
106 } 107 }
107 } 108 }
108 109
109 @override 110 @override
110 void setUp() { 111 void setUp() {
111 super.setUp(); 112 super.setUp();
112 createProject(); 113 createProject();
113 } 114 }
114 115
115 test_ANNOTATION_hasArguments() { 116 test_ANNOTATION_hasArguments() {
116 addTestFile(''' 117 addTestFile('''
117 class AAA { 118 class AAA {
118 const AAA(a, b, c); 119 const AAA(a, b, c);
119 } 120 }
120 @AAA(1, 2, 3) main() {} 121 @AAA(1, 2, 3) main() {}
121 '''); 122 ''');
122 return prepareHighlights(() { 123 return prepareHighlights().then((_) {
123 assertHasRegion(HighlightType.ANNOTATION, '@AAA(', '@AAA('.length); 124 assertHasRegion(HighlightType.ANNOTATION, '@AAA(', '@AAA('.length);
124 assertHasRegion(HighlightType.ANNOTATION, ') main', ')'.length); 125 assertHasRegion(HighlightType.ANNOTATION, ') main', ')'.length);
125 }); 126 });
126 } 127 }
127 128
128 test_ANNOTATION_noArguments() { 129 test_ANNOTATION_noArguments() {
129 addTestFile(''' 130 addTestFile('''
130 const AAA = 42; 131 const AAA = 42;
131 @AAA main() {} 132 @AAA main() {}
132 '''); 133 ''');
133 return prepareHighlights(() { 134 return prepareHighlights().then((_) {
134 assertHasRegion(HighlightType.ANNOTATION, '@AAA'); 135 assertHasRegion(HighlightType.ANNOTATION, '@AAA');
135 }); 136 });
136 } 137 }
137 138
138 test_BUILT_IN_abstract() { 139 test_BUILT_IN_abstract() {
139 addTestFile(''' 140 addTestFile('''
140 abstract class A {}; 141 abstract class A {};
141 main() { 142 main() {
142 var abstract = 42; 143 var abstract = 42;
143 }'''); 144 }''');
144 return prepareHighlights(() { 145 return prepareHighlights().then((_) {
145 assertHasRegion(HighlightType.BUILT_IN, 'abstract class'); 146 assertHasRegion(HighlightType.BUILT_IN, 'abstract class');
146 assertNoRegion(HighlightType.BUILT_IN, 'abstract = 42'); 147 assertNoRegion(HighlightType.BUILT_IN, 'abstract = 42');
147 }); 148 });
148 } 149 }
149 150
150 test_BUILT_IN_as() { 151 test_BUILT_IN_as() {
151 addTestFile(''' 152 addTestFile('''
152 import 'dart:math' as math; 153 import 'dart:math' as math;
153 main() { 154 main() {
154 p as int; 155 p as int;
155 var as = 42; 156 var as = 42;
156 }'''); 157 }''');
157 return prepareHighlights(() { 158 return prepareHighlights().then((_) {
158 assertHasRegion(HighlightType.BUILT_IN, 'as math'); 159 assertHasRegion(HighlightType.BUILT_IN, 'as math');
159 assertHasRegion(HighlightType.BUILT_IN, 'as int'); 160 assertHasRegion(HighlightType.BUILT_IN, 'as int');
160 assertNoRegion(HighlightType.BUILT_IN, 'as = 42'); 161 assertNoRegion(HighlightType.BUILT_IN, 'as = 42');
161 }); 162 });
162 } 163 }
163 164
164 test_BUILT_IN_deferred() { 165 test_BUILT_IN_deferred() {
165 addTestFile(''' 166 addTestFile('''
166 import 'dart:math' deferred as math; 167 import 'dart:math' deferred as math;
167 main() { 168 main() {
168 var deferred = 42; 169 var deferred = 42;
169 }'''); 170 }''');
170 return prepareHighlights(() { 171 return prepareHighlights().then((_) {
171 assertHasRegion(HighlightType.BUILT_IN, 'deferred as math'); 172 assertHasRegion(HighlightType.BUILT_IN, 'deferred as math');
172 assertNoRegion(HighlightType.BUILT_IN, 'deferred = 42'); 173 assertNoRegion(HighlightType.BUILT_IN, 'deferred = 42');
173 }); 174 });
174 } 175 }
175 176
176 test_BUILT_IN_export() { 177 test_BUILT_IN_export() {
177 addTestFile(''' 178 addTestFile('''
178 export "dart:math"; 179 export "dart:math";
179 main() { 180 main() {
180 var export = 42; 181 var export = 42;
181 }'''); 182 }''');
182 return prepareHighlights(() { 183 return prepareHighlights().then((_) {
183 assertHasRegion(HighlightType.BUILT_IN, 'export "dart:'); 184 assertHasRegion(HighlightType.BUILT_IN, 'export "dart:');
184 assertNoRegion(HighlightType.BUILT_IN, 'export = 42'); 185 assertNoRegion(HighlightType.BUILT_IN, 'export = 42');
185 }); 186 });
186 } 187 }
187 188
188 test_BUILT_IN_external() { 189 test_BUILT_IN_external() {
189 addTestFile(''' 190 addTestFile('''
190 class A { 191 class A {
191 external A(); 192 external A();
192 external aaa(); 193 external aaa();
193 } 194 }
194 external main() { 195 external main() {
195 var external = 42; 196 var external = 42;
196 }'''); 197 }''');
197 return prepareHighlights(() { 198 return prepareHighlights().then((_) {
198 assertHasRegion(HighlightType.BUILT_IN, 'external A()'); 199 assertHasRegion(HighlightType.BUILT_IN, 'external A()');
199 assertHasRegion(HighlightType.BUILT_IN, 'external aaa()'); 200 assertHasRegion(HighlightType.BUILT_IN, 'external aaa()');
200 assertHasRegion(HighlightType.BUILT_IN, 'external main()'); 201 assertHasRegion(HighlightType.BUILT_IN, 'external main()');
201 assertNoRegion(HighlightType.BUILT_IN, 'external = 42'); 202 assertNoRegion(HighlightType.BUILT_IN, 'external = 42');
202 }); 203 });
203 } 204 }
204 205
205 test_BUILT_IN_factory() { 206 test_BUILT_IN_factory() {
206 addTestFile(''' 207 addTestFile('''
207 class A { 208 class A {
208 factory A() => null; 209 factory A() => null;
209 } 210 }
210 main() { 211 main() {
211 var factory = 42; 212 var factory = 42;
212 }'''); 213 }''');
213 return prepareHighlights(() { 214 return prepareHighlights().then((_) {
214 assertHasRegion(HighlightType.BUILT_IN, 'factory A()'); 215 assertHasRegion(HighlightType.BUILT_IN, 'factory A()');
215 assertNoRegion(HighlightType.BUILT_IN, 'factory = 42'); 216 assertNoRegion(HighlightType.BUILT_IN, 'factory = 42');
216 }); 217 });
217 } 218 }
218 219
219 test_BUILT_IN_get() { 220 test_BUILT_IN_get() {
220 addTestFile(''' 221 addTestFile('''
221 get aaa => 1; 222 get aaa => 1;
222 class A { 223 class A {
223 get bbb => 2; 224 get bbb => 2;
224 } 225 }
225 main() { 226 main() {
226 var get = 42; 227 var get = 42;
227 }'''); 228 }''');
228 return prepareHighlights(() { 229 return prepareHighlights().then((_) {
229 assertHasRegion(HighlightType.BUILT_IN, 'get aaa =>'); 230 assertHasRegion(HighlightType.BUILT_IN, 'get aaa =>');
230 assertHasRegion(HighlightType.BUILT_IN, 'get bbb =>'); 231 assertHasRegion(HighlightType.BUILT_IN, 'get bbb =>');
231 assertNoRegion(HighlightType.BUILT_IN, 'get = 42'); 232 assertNoRegion(HighlightType.BUILT_IN, 'get = 42');
232 }); 233 });
233 } 234 }
234 235
235 test_BUILT_IN_hide() { 236 test_BUILT_IN_hide() {
236 addTestFile(''' 237 addTestFile('''
237 import 'foo.dart' hide Foo; 238 import 'foo.dart' hide Foo;
238 main() { 239 main() {
239 var hide = 42; 240 var hide = 42;
240 }'''); 241 }''');
241 return prepareHighlights(() { 242 return prepareHighlights().then((_) {
242 assertHasRegion(HighlightType.BUILT_IN, 'hide Foo'); 243 assertHasRegion(HighlightType.BUILT_IN, 'hide Foo');
243 assertNoRegion(HighlightType.BUILT_IN, 'hide = 42'); 244 assertNoRegion(HighlightType.BUILT_IN, 'hide = 42');
244 }); 245 });
245 } 246 }
246 247
247 test_BUILT_IN_implements() { 248 test_BUILT_IN_implements() {
248 addTestFile(''' 249 addTestFile('''
249 class A {} 250 class A {}
250 class B implements A {} 251 class B implements A {}
251 main() { 252 main() {
252 var implements = 42; 253 var implements = 42;
253 }'''); 254 }''');
254 return prepareHighlights(() { 255 return prepareHighlights().then((_) {
255 assertHasRegion(HighlightType.BUILT_IN, 'implements A {}'); 256 assertHasRegion(HighlightType.BUILT_IN, 'implements A {}');
256 assertNoRegion(HighlightType.BUILT_IN, 'implements = 42'); 257 assertNoRegion(HighlightType.BUILT_IN, 'implements = 42');
257 }); 258 });
258 } 259 }
259 260
260 test_BUILT_IN_import() { 261 test_BUILT_IN_import() {
261 addTestFile(''' 262 addTestFile('''
262 import "foo.dart"; 263 import "foo.dart";
263 main() { 264 main() {
264 var import = 42; 265 var import = 42;
265 }'''); 266 }''');
266 return prepareHighlights(() { 267 return prepareHighlights().then((_) {
267 assertHasRegion(HighlightType.BUILT_IN, 'import "'); 268 assertHasRegion(HighlightType.BUILT_IN, 'import "');
268 assertNoRegion(HighlightType.BUILT_IN, 'import = 42'); 269 assertNoRegion(HighlightType.BUILT_IN, 'import = 42');
269 }); 270 });
270 } 271 }
271 272
272 test_BUILT_IN_library() { 273 test_BUILT_IN_library() {
273 addTestFile(''' 274 addTestFile('''
274 library lib; 275 library lib;
275 main() { 276 main() {
276 var library = 42; 277 var library = 42;
277 }'''); 278 }''');
278 return prepareHighlights(() { 279 return prepareHighlights().then((_) {
279 assertHasRegion(HighlightType.BUILT_IN, 'library lib;'); 280 assertHasRegion(HighlightType.BUILT_IN, 'library lib;');
280 assertNoRegion(HighlightType.BUILT_IN, 'library = 42'); 281 assertNoRegion(HighlightType.BUILT_IN, 'library = 42');
281 }); 282 });
282 } 283 }
283 284
284 test_BUILT_IN_native() { 285 test_BUILT_IN_native() {
285 addTestFile(''' 286 addTestFile('''
286 class A native "A_native" {} 287 class A native "A_native" {}
287 class B { 288 class B {
288 bbb() native "bbb_native"; 289 bbb() native "bbb_native";
289 } 290 }
290 main() { 291 main() {
291 var native = 42; 292 var native = 42;
292 }'''); 293 }''');
293 return prepareHighlights(() { 294 return prepareHighlights().then((_) {
294 assertHasRegion(HighlightType.BUILT_IN, 'native "A_'); 295 assertHasRegion(HighlightType.BUILT_IN, 'native "A_');
295 assertHasRegion(HighlightType.BUILT_IN, 'native "bbb_'); 296 assertHasRegion(HighlightType.BUILT_IN, 'native "bbb_');
296 assertNoRegion(HighlightType.BUILT_IN, 'native = 42'); 297 assertNoRegion(HighlightType.BUILT_IN, 'native = 42');
297 }); 298 });
298 } 299 }
299 300
300 test_BUILT_IN_on() { 301 test_BUILT_IN_on() {
301 addTestFile(''' 302 addTestFile('''
302 main() { 303 main() {
303 try { 304 try {
304 } on int catch (e) { 305 } on int catch (e) {
305 } 306 }
306 var on = 42; 307 var on = 42;
307 }'''); 308 }''');
308 return prepareHighlights(() { 309 return prepareHighlights().then((_) {
309 assertHasRegion(HighlightType.BUILT_IN, 'on int'); 310 assertHasRegion(HighlightType.BUILT_IN, 'on int');
310 assertNoRegion(HighlightType.BUILT_IN, 'on = 42'); 311 assertNoRegion(HighlightType.BUILT_IN, 'on = 42');
311 }); 312 });
312 } 313 }
313 314
314 test_BUILT_IN_operator() { 315 test_BUILT_IN_operator() {
315 addTestFile(''' 316 addTestFile('''
316 class A { 317 class A {
317 operator +(x) => null; 318 operator +(x) => null;
318 } 319 }
319 main() { 320 main() {
320 var operator = 42; 321 var operator = 42;
321 }'''); 322 }''');
322 return prepareHighlights(() { 323 return prepareHighlights().then((_) {
323 assertHasRegion(HighlightType.BUILT_IN, 'operator +('); 324 assertHasRegion(HighlightType.BUILT_IN, 'operator +(');
324 assertNoRegion(HighlightType.BUILT_IN, 'operator = 42'); 325 assertNoRegion(HighlightType.BUILT_IN, 'operator = 42');
325 }); 326 });
326 } 327 }
327 328
328 test_BUILT_IN_part() { 329 test_BUILT_IN_part() {
329 addTestFile(''' 330 addTestFile('''
330 part "my_part.dart"; 331 part "my_part.dart";
331 main() { 332 main() {
332 var part = 42; 333 var part = 42;
333 }'''); 334 }''');
334 addFile('/project/bin/my_part.dart', 'part of lib;'); 335 addFile('/project/bin/my_part.dart', 'part of lib;');
335 return prepareHighlights(() { 336 return prepareHighlights().then((_) {
336 assertHasRegion(HighlightType.BUILT_IN, 'part "my_'); 337 assertHasRegion(HighlightType.BUILT_IN, 'part "my_');
337 assertNoRegion(HighlightType.BUILT_IN, 'part = 42'); 338 assertNoRegion(HighlightType.BUILT_IN, 'part = 42');
338 }); 339 });
339 } 340 }
340 341
341 test_BUILT_IN_partOf() { 342 test_BUILT_IN_partOf() {
342 addTestFile(''' 343 addTestFile('''
343 part of lib; 344 part of lib;
344 main() { 345 main() {
345 var part = 1; 346 var part = 1;
346 var of = 2; 347 var of = 2;
347 }'''); 348 }''');
348 addFile('/project/bin/my_lib.dart', ''' 349 addFile('/project/bin/my_lib.dart', '''
349 library lib; 350 library lib;
350 part 'test.dart'; 351 part 'test.dart';
351 '''); 352 ''');
352 return prepareHighlights(() { 353 return prepareHighlights().then((_) {
353 assertHasRegion(HighlightType.BUILT_IN, 'part of', 'part of'.length); 354 assertHasRegion(HighlightType.BUILT_IN, 'part of', 'part of'.length);
354 assertNoRegion(HighlightType.BUILT_IN, 'part = 1'); 355 assertNoRegion(HighlightType.BUILT_IN, 'part = 1');
355 assertNoRegion(HighlightType.BUILT_IN, 'of = 2'); 356 assertNoRegion(HighlightType.BUILT_IN, 'of = 2');
356 }); 357 });
357 } 358 }
358 359
359 test_BUILT_IN_set() { 360 test_BUILT_IN_set() {
360 addTestFile(''' 361 addTestFile('''
361 set aaa(x) {} 362 set aaa(x) {}
362 class A 363 class A
363 set bbb(x) {} 364 set bbb(x) {}
364 } 365 }
365 main() { 366 main() {
366 var set = 42; 367 var set = 42;
367 }'''); 368 }''');
368 return prepareHighlights(() { 369 return prepareHighlights().then((_) {
369 assertHasRegion(HighlightType.BUILT_IN, 'set aaa('); 370 assertHasRegion(HighlightType.BUILT_IN, 'set aaa(');
370 assertHasRegion(HighlightType.BUILT_IN, 'set bbb('); 371 assertHasRegion(HighlightType.BUILT_IN, 'set bbb(');
371 assertNoRegion(HighlightType.BUILT_IN, 'set = 42'); 372 assertNoRegion(HighlightType.BUILT_IN, 'set = 42');
372 }); 373 });
373 } 374 }
374 375
375 test_BUILT_IN_show() { 376 test_BUILT_IN_show() {
376 addTestFile(''' 377 addTestFile('''
377 import 'foo.dart' show Foo; 378 import 'foo.dart' show Foo;
378 main() { 379 main() {
379 var show = 42; 380 var show = 42;
380 }'''); 381 }''');
381 return prepareHighlights(() { 382 return prepareHighlights().then((_) {
382 assertHasRegion(HighlightType.BUILT_IN, 'show Foo'); 383 assertHasRegion(HighlightType.BUILT_IN, 'show Foo');
383 assertNoRegion(HighlightType.BUILT_IN, 'show = 42'); 384 assertNoRegion(HighlightType.BUILT_IN, 'show = 42');
384 }); 385 });
385 } 386 }
386 387
387 test_BUILT_IN_static() { 388 test_BUILT_IN_static() {
388 addTestFile(''' 389 addTestFile('''
389 class A { 390 class A {
390 static aaa; 391 static aaa;
391 static bbb() {} 392 static bbb() {}
392 } 393 }
393 main() { 394 main() {
394 var static = 42; 395 var static = 42;
395 }'''); 396 }''');
396 return prepareHighlights(() { 397 return prepareHighlights().then((_) {
397 assertHasRegion(HighlightType.BUILT_IN, 'static aaa;'); 398 assertHasRegion(HighlightType.BUILT_IN, 'static aaa;');
398 assertHasRegion(HighlightType.BUILT_IN, 'static bbb()'); 399 assertHasRegion(HighlightType.BUILT_IN, 'static bbb()');
399 assertNoRegion(HighlightType.BUILT_IN, 'static = 42'); 400 assertNoRegion(HighlightType.BUILT_IN, 'static = 42');
400 }); 401 });
401 } 402 }
402 403
403 test_BUILT_IN_typedef() { 404 test_BUILT_IN_typedef() {
404 addTestFile(''' 405 addTestFile('''
405 typedef A(); 406 typedef A();
406 main() { 407 main() {
407 var typedef = 42; 408 var typedef = 42;
408 }'''); 409 }''');
409 return prepareHighlights(() { 410 return prepareHighlights().then((_) {
410 assertHasRegion(HighlightType.BUILT_IN, 'typedef A();'); 411 assertHasRegion(HighlightType.BUILT_IN, 'typedef A();');
411 assertNoRegion(HighlightType.BUILT_IN, 'typedef = 42'); 412 assertNoRegion(HighlightType.BUILT_IN, 'typedef = 42');
412 }); 413 });
413 } 414 }
414 415
415 test_CLASS() { 416 test_CLASS() {
416 addTestFile(''' 417 addTestFile('''
417 class AAA {} 418 class AAA {}
418 AAA aaa; 419 AAA aaa;
419 '''); 420 ''');
420 return prepareHighlights(() { 421 return prepareHighlights().then((_) {
421 assertHasRegion(HighlightType.CLASS, 'AAA {}'); 422 assertHasRegion(HighlightType.CLASS, 'AAA {}');
422 assertHasRegion(HighlightType.CLASS, 'AAA aaa'); 423 assertHasRegion(HighlightType.CLASS, 'AAA aaa');
423 }); 424 });
424 } 425 }
425 426
426 test_CLASS_notDynamic() { 427 test_CLASS_notDynamic() {
427 addTestFile(''' 428 addTestFile('''
428 dynamic f() {} 429 dynamic f() {}
429 '''); 430 ''');
430 return prepareHighlights(() { 431 return prepareHighlights().then((_) {
431 assertNoRegion(HighlightType.CLASS, 'dynamic f()'); 432 assertNoRegion(HighlightType.CLASS, 'dynamic f()');
432 }); 433 });
433 } 434 }
434 435
435 test_CLASS_notVoid() { 436 test_CLASS_notVoid() {
436 addTestFile(''' 437 addTestFile('''
437 void f() {} 438 void f() {}
438 '''); 439 ''');
439 return prepareHighlights(() { 440 return prepareHighlights().then((_) {
440 assertNoRegion(HighlightType.CLASS, 'void f()'); 441 assertNoRegion(HighlightType.CLASS, 'void f()');
441 }); 442 });
442 } 443 }
443 444
444 test_COMMENT() { 445 test_COMMENT() {
445 addTestFile(''' 446 addTestFile('''
446 /** 447 /**
447 * documentation comment 448 * documentation comment
448 */ 449 */
449 void main() { 450 void main() {
450 // end-of-line comment 451 // end-of-line comment
451 my_function(1); 452 my_function(1);
452 } 453 }
453 454
454 void my_function(String a) { 455 void my_function(String a) {
455 /* block comment */ 456 /* block comment */
456 } 457 }
457 '''); 458 ''');
458 return prepareHighlights(() { 459 return prepareHighlights().then((_) {
459 assertHasRegion(HighlightType.COMMENT_DOCUMENTATION, '/**', 32); 460 assertHasRegion(HighlightType.COMMENT_DOCUMENTATION, '/**', 32);
460 assertHasRegion(HighlightType.COMMENT_END_OF_LINE, '//', 22); 461 assertHasRegion(HighlightType.COMMENT_END_OF_LINE, '//', 22);
461 assertHasRegion(HighlightType.COMMENT_BLOCK, '/* b', 19); 462 assertHasRegion(HighlightType.COMMENT_BLOCK, '/* b', 19);
462 }); 463 });
463 } 464 }
464 465
465 test_CONSTRUCTOR() { 466 test_CONSTRUCTOR() {
466 addTestFile(''' 467 addTestFile('''
467 class AAA { 468 class AAA {
468 AAA() {} 469 AAA() {}
469 AAA.name(p) {} 470 AAA.name(p) {}
470 } 471 }
471 main() { 472 main() {
472 new AAA(); 473 new AAA();
473 new AAA.name(42); 474 new AAA.name(42);
474 } 475 }
475 '''); 476 ''');
476 return prepareHighlights(() { 477 return prepareHighlights().then((_) {
477 assertHasRegion(HighlightType.CONSTRUCTOR, 'name(p)'); 478 assertHasRegion(HighlightType.CONSTRUCTOR, 'name(p)');
478 assertHasRegion(HighlightType.CONSTRUCTOR, 'name(42)'); 479 assertHasRegion(HighlightType.CONSTRUCTOR, 'name(42)');
479 assertNoRegion(HighlightType.CONSTRUCTOR, 'AAA() {}'); 480 assertNoRegion(HighlightType.CONSTRUCTOR, 'AAA() {}');
480 assertNoRegion(HighlightType.CONSTRUCTOR, 'AAA();'); 481 assertNoRegion(HighlightType.CONSTRUCTOR, 'AAA();');
481 }); 482 });
482 } 483 }
483 484
484 test_DYNAMIC_TYPE() { 485 test_DYNAMIC_TYPE() {
485 addTestFile(''' 486 addTestFile('''
486 f() {} 487 f() {}
487 main(p) { 488 main(p) {
488 print(p); 489 print(p);
489 var v1 = f(); 490 var v1 = f();
490 int v2; 491 int v2;
491 var v3 = v2; 492 var v3 = v2;
492 } 493 }
493 '''); 494 ''');
494 return prepareHighlights(() { 495 return prepareHighlights().then((_) {
495 assertHasRegion(HighlightType.DYNAMIC_TYPE, 'p)'); 496 assertHasRegion(HighlightType.DYNAMIC_TYPE, 'p)');
496 assertHasRegion(HighlightType.DYNAMIC_TYPE, 'v1 ='); 497 assertHasRegion(HighlightType.DYNAMIC_TYPE, 'v1 =');
497 assertNoRegion(HighlightType.DYNAMIC_TYPE, 'v2;'); 498 assertNoRegion(HighlightType.DYNAMIC_TYPE, 'v2;');
498 assertNoRegion(HighlightType.DYNAMIC_TYPE, 'v3 ='); 499 assertNoRegion(HighlightType.DYNAMIC_TYPE, 'v3 =');
499 }); 500 });
500 } 501 }
501 502
502 test_FIELD() { 503 test_FIELD() {
503 addTestFile(''' 504 addTestFile('''
504 class A { 505 class A {
505 int aaa = 1; 506 int aaa = 1;
506 int bbb = 2; 507 int bbb = 2;
507 A([this.bbb = 3]); 508 A([this.bbb = 3]);
508 } 509 }
509 main(A a) { 510 main(A a) {
510 a.aaa = 4; 511 a.aaa = 4;
511 a.bbb = 5; 512 a.bbb = 5;
512 } 513 }
513 '''); 514 ''');
514 return prepareHighlights(() { 515 return prepareHighlights().then((_) {
515 assertHasRegion(HighlightType.FIELD, 'aaa = 1'); 516 assertHasRegion(HighlightType.FIELD, 'aaa = 1');
516 assertHasRegion(HighlightType.FIELD, 'bbb = 2'); 517 assertHasRegion(HighlightType.FIELD, 'bbb = 2');
517 assertHasRegion(HighlightType.FIELD, 'bbb = 3'); 518 assertHasRegion(HighlightType.FIELD, 'bbb = 3');
518 assertHasRegion(HighlightType.FIELD, 'aaa = 4'); 519 assertHasRegion(HighlightType.FIELD, 'aaa = 4');
519 assertHasRegion(HighlightType.FIELD, 'bbb = 5'); 520 assertHasRegion(HighlightType.FIELD, 'bbb = 5');
520 }); 521 });
521 } 522 }
522 523
523 test_FIELD_STATIC() { 524 test_FIELD_STATIC() {
524 addTestFile(''' 525 addTestFile('''
525 class A { 526 class A {
526 static aaa = 1; 527 static aaa = 1;
527 static get bbb => null; 528 static get bbb => null;
528 static set ccc(x) {} 529 static set ccc(x) {}
529 } 530 }
530 main() { 531 main() {
531 A.aaa = 2; 532 A.aaa = 2;
532 A.bbb; 533 A.bbb;
533 A.ccc = 3; 534 A.ccc = 3;
534 } 535 }
535 '''); 536 ''');
536 return prepareHighlights(() { 537 return prepareHighlights().then((_) {
537 assertHasRegion(HighlightType.FIELD_STATIC, 'aaa = 1'); 538 assertHasRegion(HighlightType.FIELD_STATIC, 'aaa = 1');
538 assertHasRegion(HighlightType.FIELD_STATIC, 'aaa = 2'); 539 assertHasRegion(HighlightType.FIELD_STATIC, 'aaa = 2');
539 assertHasRegion(HighlightType.FIELD_STATIC, 'bbb;'); 540 assertHasRegion(HighlightType.FIELD_STATIC, 'bbb;');
540 assertHasRegion(HighlightType.FIELD_STATIC, 'ccc = 3'); 541 assertHasRegion(HighlightType.FIELD_STATIC, 'ccc = 3');
541 }); 542 });
542 } 543 }
543 544
544 test_FUNCTION() { 545 test_FUNCTION() {
545 addTestFile(''' 546 addTestFile('''
546 fff(p) {} 547 fff(p) {}
547 main() { 548 main() {
548 fff(42); 549 fff(42);
549 } 550 }
550 '''); 551 ''');
551 return prepareHighlights(() { 552 return prepareHighlights().then((_) {
552 assertHasRegion(HighlightType.FUNCTION_DECLARATION, 'fff(p) {}'); 553 assertHasRegion(HighlightType.FUNCTION_DECLARATION, 'fff(p) {}');
553 assertHasRegion(HighlightType.FUNCTION, 'fff(42)'); 554 assertHasRegion(HighlightType.FUNCTION, 'fff(42)');
554 }); 555 });
555 } 556 }
556 557
557 test_FUNCTION_TYPE_ALIAS() { 558 test_FUNCTION_TYPE_ALIAS() {
558 addTestFile(''' 559 addTestFile('''
559 typedef FFF(p); 560 typedef FFF(p);
560 main(FFF fff) { 561 main(FFF fff) {
561 } 562 }
562 '''); 563 ''');
563 return prepareHighlights(() { 564 return prepareHighlights().then((_) {
564 assertHasRegion(HighlightType.FUNCTION_TYPE_ALIAS, 'FFF(p)'); 565 assertHasRegion(HighlightType.FUNCTION_TYPE_ALIAS, 'FFF(p)');
565 assertHasRegion(HighlightType.FUNCTION_TYPE_ALIAS, 'FFF fff)'); 566 assertHasRegion(HighlightType.FUNCTION_TYPE_ALIAS, 'FFF fff)');
566 }); 567 });
567 } 568 }
568 569
569 test_GETTER_DECLARATION() { 570 test_GETTER_DECLARATION() {
570 addTestFile(''' 571 addTestFile('''
571 get aaa => null; 572 get aaa => null;
572 class A { 573 class A {
573 get bbb => null; 574 get bbb => null;
574 } 575 }
575 main(A a) { 576 main(A a) {
576 aaa; 577 aaa;
577 a.bbb; 578 a.bbb;
578 } 579 }
579 '''); 580 ''');
580 return prepareHighlights(() { 581 return prepareHighlights().then((_) {
581 assertHasRegion(HighlightType.GETTER_DECLARATION, 'aaa => null'); 582 assertHasRegion(HighlightType.GETTER_DECLARATION, 'aaa => null');
582 assertHasRegion(HighlightType.GETTER_DECLARATION, 'bbb => null'); 583 assertHasRegion(HighlightType.GETTER_DECLARATION, 'bbb => null');
583 assertHasRegion(HighlightType.FIELD_STATIC, 'aaa;'); 584 assertHasRegion(HighlightType.FIELD_STATIC, 'aaa;');
584 assertHasRegion(HighlightType.FIELD, 'bbb;'); 585 assertHasRegion(HighlightType.FIELD, 'bbb;');
585 }); 586 });
586 } 587 }
587 588
588 test_IDENTIFIER_DEFAULT() { 589 test_IDENTIFIER_DEFAULT() {
589 addTestFile(''' 590 addTestFile('''
590 main() { 591 main() {
591 aaa = 42; 592 aaa = 42;
592 bbb(84); 593 bbb(84);
593 CCC ccc; 594 CCC ccc;
594 } 595 }
595 '''); 596 ''');
596 return prepareHighlights(() { 597 return prepareHighlights().then((_) {
597 assertHasRegion(HighlightType.IDENTIFIER_DEFAULT, 'aaa = 42'); 598 assertHasRegion(HighlightType.IDENTIFIER_DEFAULT, 'aaa = 42');
598 assertHasRegion(HighlightType.IDENTIFIER_DEFAULT, 'bbb(84)'); 599 assertHasRegion(HighlightType.IDENTIFIER_DEFAULT, 'bbb(84)');
599 assertHasRegion(HighlightType.IDENTIFIER_DEFAULT, 'CCC ccc'); 600 assertHasRegion(HighlightType.IDENTIFIER_DEFAULT, 'CCC ccc');
600 }); 601 });
601 } 602 }
602 603
603 test_IMPORT_PREFIX() { 604 test_IMPORT_PREFIX() {
604 addTestFile(''' 605 addTestFile('''
605 import 'dart:math' as ma; 606 import 'dart:math' as ma;
606 main() { 607 main() {
607 ma.max(1, 2); 608 ma.max(1, 2);
608 } 609 }
609 '''); 610 ''');
610 return prepareHighlights(() { 611 return prepareHighlights().then((_) {
611 assertHasRegion(HighlightType.IMPORT_PREFIX, 'ma;'); 612 assertHasRegion(HighlightType.IMPORT_PREFIX, 'ma;');
612 assertHasRegion(HighlightType.IMPORT_PREFIX, 'ma.max'); 613 assertHasRegion(HighlightType.IMPORT_PREFIX, 'ma.max');
613 }); 614 });
614 } 615 }
615 616
616 test_KEYWORD_void() { 617 test_KEYWORD_void() {
617 addTestFile(''' 618 addTestFile('''
618 void main() { 619 void main() {
619 } 620 }
620 '''); 621 ''');
621 return prepareHighlights(() { 622 return prepareHighlights().then((_) {
622 assertHasRegion(HighlightType.KEYWORD, 'void main()'); 623 assertHasRegion(HighlightType.KEYWORD, 'void main()');
623 }); 624 });
624 } 625 }
625 626
626 test_LITERAL_BOOLEAN() { 627 test_LITERAL_BOOLEAN() {
627 addTestFile('var V = true;'); 628 addTestFile('var V = true;');
628 return prepareHighlights(() { 629 return prepareHighlights().then((_) {
629 assertHasRegion(HighlightType.LITERAL_BOOLEAN, 'true;'); 630 assertHasRegion(HighlightType.LITERAL_BOOLEAN, 'true;');
630 }); 631 });
631 } 632 }
632 633
633 test_LITERAL_DOUBLE() { 634 test_LITERAL_DOUBLE() {
634 addTestFile('var V = 4.2;'); 635 addTestFile('var V = 4.2;');
635 return prepareHighlights(() { 636 return prepareHighlights().then((_) {
636 assertHasRegion(HighlightType.LITERAL_DOUBLE, '4.2;', '4.2'.length); 637 assertHasRegion(HighlightType.LITERAL_DOUBLE, '4.2;', '4.2'.length);
637 }); 638 });
638 } 639 }
639 640
640 test_LITERAL_INTEGER() { 641 test_LITERAL_INTEGER() {
641 addTestFile('var V = 42;'); 642 addTestFile('var V = 42;');
642 return prepareHighlights(() { 643 return prepareHighlights().then((_) {
643 assertHasRegion(HighlightType.LITERAL_INTEGER, '42;'); 644 assertHasRegion(HighlightType.LITERAL_INTEGER, '42;');
644 }); 645 });
645 } 646 }
646 647
647 test_LITERAL_STRING() { 648 test_LITERAL_STRING() {
648 addTestFile('var V = "abc";'); 649 addTestFile('var V = "abc";');
649 return prepareHighlights(() { 650 return prepareHighlights().then((_) {
650 assertHasRegion(HighlightType.LITERAL_STRING, '"abc";', '"abc"'.length); 651 assertHasRegion(HighlightType.LITERAL_STRING, '"abc";', '"abc"'.length);
651 }); 652 });
652 } 653 }
653 654
654 test_LOCAL_VARIABLE() { 655 test_LOCAL_VARIABLE() {
655 addTestFile(''' 656 addTestFile('''
656 main() { 657 main() {
657 int vvv = 0; 658 int vvv = 0;
658 vvv; 659 vvv;
659 vvv = 1; 660 vvv = 1;
660 } 661 }
661 '''); 662 ''');
662 return prepareHighlights(() { 663 return prepareHighlights().then((_) {
663 assertHasRegion(HighlightType.LOCAL_VARIABLE_DECLARATION, 'vvv = 0'); 664 assertHasRegion(HighlightType.LOCAL_VARIABLE_DECLARATION, 'vvv = 0');
664 assertHasRegion(HighlightType.LOCAL_VARIABLE, 'vvv;'); 665 assertHasRegion(HighlightType.LOCAL_VARIABLE, 'vvv;');
665 assertHasRegion(HighlightType.LOCAL_VARIABLE, 'vvv = 1;'); 666 assertHasRegion(HighlightType.LOCAL_VARIABLE, 'vvv = 1;');
666 }); 667 });
667 } 668 }
668 669
669 test_METHOD() { 670 test_METHOD() {
670 addTestFile(''' 671 addTestFile('''
671 class A { 672 class A {
672 aaa() {} 673 aaa() {}
673 static bbb() {} 674 static bbb() {}
674 } 675 }
675 main(A a) { 676 main(A a) {
676 a.aaa(); 677 a.aaa();
677 a.aaa; 678 a.aaa;
678 A.bbb(); 679 A.bbb();
679 A.bbb; 680 A.bbb;
680 } 681 }
681 '''); 682 ''');
682 return prepareHighlights(() { 683 return prepareHighlights().then((_) {
683 assertHasRegion(HighlightType.METHOD_DECLARATION, 'aaa() {}'); 684 assertHasRegion(HighlightType.METHOD_DECLARATION, 'aaa() {}');
684 assertHasRegion(HighlightType.METHOD_DECLARATION_STATIC, 'bbb() {}'); 685 assertHasRegion(HighlightType.METHOD_DECLARATION_STATIC, 'bbb() {}');
685 assertHasRegion(HighlightType.METHOD, 'aaa();'); 686 assertHasRegion(HighlightType.METHOD, 'aaa();');
686 assertHasRegion(HighlightType.METHOD, 'aaa;'); 687 assertHasRegion(HighlightType.METHOD, 'aaa;');
687 assertHasRegion(HighlightType.METHOD_STATIC, 'bbb();'); 688 assertHasRegion(HighlightType.METHOD_STATIC, 'bbb();');
688 assertHasRegion(HighlightType.METHOD_STATIC, 'bbb;'); 689 assertHasRegion(HighlightType.METHOD_STATIC, 'bbb;');
689 }); 690 });
690 } 691 }
691 692
692 test_METHOD_bestType() { 693 test_METHOD_bestType() {
693 addTestFile(''' 694 addTestFile('''
694 main(p) { 695 main(p) {
695 if (p is List) { 696 if (p is List) {
696 p.add(null); 697 p.add(null);
697 } 698 }
698 } 699 }
699 '''); 700 ''');
700 return prepareHighlights(() { 701 return prepareHighlights().then((_) {
701 assertHasRegion(HighlightType.METHOD, 'add(null)'); 702 assertHasRegion(HighlightType.METHOD, 'add(null)');
702 }); 703 });
703 } 704 }
704 705
705 test_PARAMETER() { 706 test_PARAMETER() {
706 addTestFile(''' 707 addTestFile('''
707 main(int p) { 708 main(int p) {
708 p; 709 p;
709 p = 42; 710 p = 42;
710 } 711 }
711 '''); 712 ''');
712 return prepareHighlights(() { 713 return prepareHighlights().then((_) {
713 assertHasRegion(HighlightType.PARAMETER, 'p) {'); 714 assertHasRegion(HighlightType.PARAMETER, 'p) {');
714 assertHasRegion(HighlightType.PARAMETER, 'p;'); 715 assertHasRegion(HighlightType.PARAMETER, 'p;');
715 assertHasRegion(HighlightType.PARAMETER, 'p = 42'); 716 assertHasRegion(HighlightType.PARAMETER, 'p = 42');
716 }); 717 });
717 } 718 }
718 719
719 test_SETTER_DECLARATION() { 720 test_SETTER_DECLARATION() {
720 addTestFile(''' 721 addTestFile('''
721 set aaa(x) {} 722 set aaa(x) {}
722 class A { 723 class A {
723 set bbb(x) {} 724 set bbb(x) {}
724 } 725 }
725 main(A a) { 726 main(A a) {
726 aaa = 1; 727 aaa = 1;
727 a.bbb = 2; 728 a.bbb = 2;
728 } 729 }
729 '''); 730 ''');
730 return prepareHighlights(() { 731 return prepareHighlights().then((_) {
731 assertHasRegion(HighlightType.SETTER_DECLARATION, 'aaa(x)'); 732 assertHasRegion(HighlightType.SETTER_DECLARATION, 'aaa(x)');
732 assertHasRegion(HighlightType.SETTER_DECLARATION, 'bbb(x)'); 733 assertHasRegion(HighlightType.SETTER_DECLARATION, 'bbb(x)');
733 assertHasRegion(HighlightType.FIELD_STATIC, 'aaa = 1'); 734 assertHasRegion(HighlightType.FIELD_STATIC, 'aaa = 1');
734 assertHasRegion(HighlightType.FIELD, 'bbb = 2'); 735 assertHasRegion(HighlightType.FIELD, 'bbb = 2');
735 }); 736 });
736 } 737 }
737 738
738 test_TOP_LEVEL_VARIABLE() { 739 test_TOP_LEVEL_VARIABLE() {
739 addTestFile(''' 740 addTestFile('''
740 var VVV = 0; 741 var VVV = 0;
741 main() { 742 main() {
742 print(VVV); 743 print(VVV);
743 VVV = 1; 744 VVV = 1;
744 } 745 }
745 '''); 746 ''');
746 return prepareHighlights(() { 747 return prepareHighlights().then((_) {
747 assertHasRegion(HighlightType.TOP_LEVEL_VARIABLE, 'VVV = 0'); 748 assertHasRegion(HighlightType.TOP_LEVEL_VARIABLE, 'VVV = 0');
748 assertHasRegion(HighlightType.FIELD_STATIC, 'VVV);'); 749 assertHasRegion(HighlightType.FIELD_STATIC, 'VVV);');
749 assertHasRegion(HighlightType.FIELD_STATIC, 'VVV = 1'); 750 assertHasRegion(HighlightType.FIELD_STATIC, 'VVV = 1');
750 }); 751 });
751 } 752 }
752 753
753 test_TYPE_NAME_DYNAMIC() { 754 test_TYPE_NAME_DYNAMIC() {
754 addTestFile(''' 755 addTestFile('''
755 dynamic main() { 756 dynamic main() {
756 dynamic = 42; 757 dynamic = 42;
757 } 758 }
758 '''); 759 ''');
759 return prepareHighlights(() { 760 return prepareHighlights().then((_) {
760 assertHasRegion(HighlightType.TYPE_NAME_DYNAMIC, 'dynamic main()'); 761 assertHasRegion(HighlightType.TYPE_NAME_DYNAMIC, 'dynamic main()');
761 assertNoRegion(HighlightType.IDENTIFIER_DEFAULT, 'dynamic main()'); 762 assertNoRegion(HighlightType.IDENTIFIER_DEFAULT, 'dynamic main()');
762 assertNoRegion(HighlightType.TYPE_NAME_DYNAMIC, 'dynamic = 42'); 763 assertNoRegion(HighlightType.TYPE_NAME_DYNAMIC, 'dynamic = 42');
763 }); 764 });
764 } 765 }
765 766
766 test_TYPE_PARAMETER() { 767 test_TYPE_PARAMETER() {
767 addTestFile(''' 768 addTestFile('''
768 class A<T> { 769 class A<T> {
769 T fff; 770 T fff;
770 T mmm(T p) => null; 771 T mmm(T p) => null;
771 } 772 }
772 '''); 773 ''');
773 return prepareHighlights(() { 774 return prepareHighlights().then((_) {
774 assertHasRegion(HighlightType.TYPE_PARAMETER, 'T> {'); 775 assertHasRegion(HighlightType.TYPE_PARAMETER, 'T> {');
775 assertHasRegion(HighlightType.TYPE_PARAMETER, 'T fff;'); 776 assertHasRegion(HighlightType.TYPE_PARAMETER, 'T fff;');
776 assertHasRegion(HighlightType.TYPE_PARAMETER, 'T mmm('); 777 assertHasRegion(HighlightType.TYPE_PARAMETER, 'T mmm(');
777 assertHasRegion(HighlightType.TYPE_PARAMETER, 'T p)'); 778 assertHasRegion(HighlightType.TYPE_PARAMETER, 'T p)');
778 }); 779 });
779 } 780 }
780 } 781 }
781 782
782 783
783 @ReflectiveTestCase() 784 @ReflectiveTestCase()
784 class HighlightTypeTest { 785 class HighlightTypeTest {
785 void test_toString() { 786 void test_toString() {
786 expect(HighlightType.CLASS.toString(), HighlightType.CLASS.name); 787 expect(HighlightType.CLASS.toString(), HighlightType.CLASS.name);
787 } 788 }
788 789
789 void test_valueOf() { 790 void test_valueOf() {
790 expect(HighlightType.CLASS, HighlightType.valueOf( 791 expect(
791 HighlightType.CLASS.name)); 792 HighlightType.CLASS,
793 HighlightType.valueOf(HighlightType.CLASS.name));
792 } 794 }
793 795
794 void test_valueOf_unknown() { 796 void test_valueOf_unknown() {
795 expect(() { 797 expect(() {
796 HighlightType.valueOf('no-such-type'); 798 HighlightType.valueOf('no-such-type');
797 }, throws); 799 }, throws);
798 } 800 }
799 } 801 }
OLDNEW
« no previous file with comments | « no previous file | pkg/analysis_server/test/analysis_notification_navigation_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698