OLD | NEW |
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.analysis.notification.highlights2; | 5 library test.analysis.notification.highlights2; |
6 | 6 |
7 import 'dart:async'; | 7 import 'dart:async'; |
8 | 8 |
9 import 'package:analysis_server/plugin/protocol/protocol.dart'; | 9 import 'package:analysis_server/plugin/protocol/protocol.dart'; |
10 import 'package:analysis_server/src/constants.dart'; | 10 import 'package:analysis_server/src/constants.dart'; |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
102 } | 102 } |
103 } | 103 } |
104 | 104 |
105 @override | 105 @override |
106 void setUp() { | 106 void setUp() { |
107 super.setUp(); | 107 super.setUp(); |
108 server.options.useAnalysisHighlight2 = true; | 108 server.options.useAnalysisHighlight2 = true; |
109 createProject(); | 109 createProject(); |
110 } | 110 } |
111 | 111 |
112 test_ANNOTATION_hasArguments() { | 112 test_ANNOTATION_hasArguments() async { |
113 addTestFile(''' | 113 addTestFile(''' |
114 class AAA { | 114 class AAA { |
115 const AAA(a, b, c); | 115 const AAA(a, b, c); |
116 } | 116 } |
117 @AAA(1, 2, 3) main() {} | 117 @AAA(1, 2, 3) main() {} |
118 '''); | 118 '''); |
119 return prepareHighlights().then((_) { | 119 await prepareHighlights(); |
120 assertHasRegion(HighlightRegionType.ANNOTATION, '@AAA(', '@AAA('.length); | 120 assertHasRegion(HighlightRegionType.ANNOTATION, '@AAA(', '@AAA('.length); |
121 assertHasRegion(HighlightRegionType.ANNOTATION, ') main', ')'.length); | 121 assertHasRegion(HighlightRegionType.ANNOTATION, ') main', ')'.length); |
122 }); | |
123 } | 122 } |
124 | 123 |
125 test_ANNOTATION_noArguments() { | 124 test_ANNOTATION_noArguments() async { |
126 addTestFile(''' | 125 addTestFile(''' |
127 const AAA = 42; | 126 const AAA = 42; |
128 @AAA main() {} | 127 @AAA main() {} |
129 '''); | 128 '''); |
130 return prepareHighlights().then((_) { | 129 await prepareHighlights(); |
131 assertHasRegion(HighlightRegionType.ANNOTATION, '@AAA'); | 130 assertHasRegion(HighlightRegionType.ANNOTATION, '@AAA'); |
132 }); | |
133 } | 131 } |
134 | 132 |
135 test_BUILT_IN_abstract() { | 133 test_BUILT_IN_abstract() async { |
136 addTestFile(''' | 134 addTestFile(''' |
137 abstract class A {}; | 135 abstract class A {}; |
138 abstract class B = Object with A; | 136 abstract class B = Object with A; |
139 main() { | 137 main() { |
140 var abstract = 42; | 138 var abstract = 42; |
141 }'''); | 139 }'''); |
142 return prepareHighlights().then((_) { | 140 await prepareHighlights(); |
143 assertHasRegion(HighlightRegionType.BUILT_IN, 'abstract class A'); | 141 assertHasRegion(HighlightRegionType.BUILT_IN, 'abstract class A'); |
144 assertHasRegion(HighlightRegionType.BUILT_IN, 'abstract class B'); | 142 assertHasRegion(HighlightRegionType.BUILT_IN, 'abstract class B'); |
145 assertNoRegion(HighlightRegionType.BUILT_IN, 'abstract = 42'); | 143 assertNoRegion(HighlightRegionType.BUILT_IN, 'abstract = 42'); |
146 }); | |
147 } | 144 } |
148 | 145 |
149 test_BUILT_IN_as() { | 146 test_BUILT_IN_as() async { |
150 addTestFile(''' | 147 addTestFile(''' |
151 import 'dart:math' as math; | 148 import 'dart:math' as math; |
152 main() { | 149 main() { |
153 p as int; | 150 p as int; |
154 var as = 42; | 151 var as = 42; |
155 }'''); | 152 }'''); |
156 return prepareHighlights().then((_) { | 153 await prepareHighlights(); |
157 assertHasRegion(HighlightRegionType.BUILT_IN, 'as math'); | 154 assertHasRegion(HighlightRegionType.BUILT_IN, 'as math'); |
158 assertHasRegion(HighlightRegionType.BUILT_IN, 'as int'); | 155 assertHasRegion(HighlightRegionType.BUILT_IN, 'as int'); |
159 assertNoRegion(HighlightRegionType.BUILT_IN, 'as = 42'); | 156 assertNoRegion(HighlightRegionType.BUILT_IN, 'as = 42'); |
160 }); | |
161 } | 157 } |
162 | 158 |
163 test_BUILT_IN_async() { | 159 test_BUILT_IN_async() async { |
164 addTestFile(''' | 160 addTestFile(''' |
165 fa() async {} | 161 fa() async {} |
166 fb() async* {} | 162 fb() async* {} |
167 main() { | 163 main() { |
168 bool async = false; | 164 bool async = false; |
169 } | 165 } |
170 '''); | 166 '''); |
171 return prepareHighlights().then((_) { | 167 await prepareHighlights(); |
172 assertHasStringRegion(HighlightRegionType.BUILT_IN, 'async'); | 168 assertHasStringRegion(HighlightRegionType.BUILT_IN, 'async'); |
173 assertHasStringRegion(HighlightRegionType.BUILT_IN, 'async*'); | 169 assertHasStringRegion(HighlightRegionType.BUILT_IN, 'async*'); |
174 assertNoRegion(HighlightRegionType.BUILT_IN, 'async = false'); | 170 assertNoRegion(HighlightRegionType.BUILT_IN, 'async = false'); |
175 }); | |
176 } | 171 } |
177 | 172 |
178 test_BUILT_IN_await() { | 173 test_BUILT_IN_await() async { |
179 addTestFile(''' | 174 addTestFile(''' |
180 main() async { | 175 main() async { |
181 await 42; | 176 await 42; |
182 await for (var item in []) { | 177 await for (var item in []) { |
183 print(item); | 178 print(item); |
184 } | 179 } |
185 } | 180 } |
186 '''); | 181 '''); |
187 return prepareHighlights().then((_) { | 182 await prepareHighlights(); |
188 assertHasRegion(HighlightRegionType.BUILT_IN, 'await 42'); | 183 assertHasRegion(HighlightRegionType.BUILT_IN, 'await 42'); |
189 assertHasRegion(HighlightRegionType.BUILT_IN, 'await for'); | 184 assertHasRegion(HighlightRegionType.BUILT_IN, 'await for'); |
190 }); | |
191 } | 185 } |
192 | 186 |
193 test_BUILT_IN_deferred() { | 187 test_BUILT_IN_deferred() async { |
194 addTestFile(''' | 188 addTestFile(''' |
195 import 'dart:math' deferred as math; | 189 import 'dart:math' deferred as math; |
196 main() { | 190 main() { |
197 var deferred = 42; | 191 var deferred = 42; |
198 }'''); | 192 }'''); |
199 return prepareHighlights().then((_) { | 193 await prepareHighlights(); |
200 assertHasRegion(HighlightRegionType.BUILT_IN, 'deferred as math'); | 194 assertHasRegion(HighlightRegionType.BUILT_IN, 'deferred as math'); |
201 assertNoRegion(HighlightRegionType.BUILT_IN, 'deferred = 42'); | 195 assertNoRegion(HighlightRegionType.BUILT_IN, 'deferred = 42'); |
202 }); | |
203 } | 196 } |
204 | 197 |
205 test_BUILT_IN_export() { | 198 test_BUILT_IN_export() async { |
206 addTestFile(''' | 199 addTestFile(''' |
207 export "dart:math"; | 200 export "dart:math"; |
208 main() { | 201 main() { |
209 var export = 42; | 202 var export = 42; |
210 }'''); | 203 }'''); |
211 return prepareHighlights().then((_) { | 204 await prepareHighlights(); |
212 assertHasRegion(HighlightRegionType.BUILT_IN, 'export "dart:'); | 205 assertHasRegion(HighlightRegionType.BUILT_IN, 'export "dart:'); |
213 assertNoRegion(HighlightRegionType.BUILT_IN, 'export = 42'); | 206 assertNoRegion(HighlightRegionType.BUILT_IN, 'export = 42'); |
214 }); | |
215 } | 207 } |
216 | 208 |
217 test_BUILT_IN_external() { | 209 test_BUILT_IN_external() async { |
218 addTestFile(''' | 210 addTestFile(''' |
219 class A { | 211 class A { |
220 external A(); | 212 external A(); |
221 external aaa(); | 213 external aaa(); |
222 } | 214 } |
223 external main() { | 215 external main() { |
224 var external = 42; | 216 var external = 42; |
225 }'''); | 217 }'''); |
226 return prepareHighlights().then((_) { | 218 await prepareHighlights(); |
227 assertHasRegion(HighlightRegionType.BUILT_IN, 'external A()'); | 219 assertHasRegion(HighlightRegionType.BUILT_IN, 'external A()'); |
228 assertHasRegion(HighlightRegionType.BUILT_IN, 'external aaa()'); | 220 assertHasRegion(HighlightRegionType.BUILT_IN, 'external aaa()'); |
229 assertHasRegion(HighlightRegionType.BUILT_IN, 'external main()'); | 221 assertHasRegion(HighlightRegionType.BUILT_IN, 'external main()'); |
230 assertNoRegion(HighlightRegionType.BUILT_IN, 'external = 42'); | 222 assertNoRegion(HighlightRegionType.BUILT_IN, 'external = 42'); |
231 }); | |
232 } | 223 } |
233 | 224 |
234 test_BUILT_IN_factory() { | 225 test_BUILT_IN_factory() async { |
235 addTestFile(''' | 226 addTestFile(''' |
236 class A { | 227 class A { |
237 factory A() => null; | 228 factory A() => null; |
238 } | 229 } |
239 main() { | 230 main() { |
240 var factory = 42; | 231 var factory = 42; |
241 }'''); | 232 }'''); |
242 return prepareHighlights().then((_) { | 233 await prepareHighlights(); |
243 assertHasRegion(HighlightRegionType.BUILT_IN, 'factory A()'); | 234 assertHasRegion(HighlightRegionType.BUILT_IN, 'factory A()'); |
244 assertNoRegion(HighlightRegionType.BUILT_IN, 'factory = 42'); | 235 assertNoRegion(HighlightRegionType.BUILT_IN, 'factory = 42'); |
245 }); | |
246 } | 236 } |
247 | 237 |
248 test_BUILT_IN_get() { | 238 test_BUILT_IN_get() async { |
249 addTestFile(''' | 239 addTestFile(''' |
250 get aaa => 1; | 240 get aaa => 1; |
251 class A { | 241 class A { |
252 get bbb => 2; | 242 get bbb => 2; |
253 } | 243 } |
254 main() { | 244 main() { |
255 var get = 42; | 245 var get = 42; |
256 }'''); | 246 }'''); |
257 return prepareHighlights().then((_) { | 247 await prepareHighlights(); |
258 assertHasRegion(HighlightRegionType.BUILT_IN, 'get aaa =>'); | 248 assertHasRegion(HighlightRegionType.BUILT_IN, 'get aaa =>'); |
259 assertHasRegion(HighlightRegionType.BUILT_IN, 'get bbb =>'); | 249 assertHasRegion(HighlightRegionType.BUILT_IN, 'get bbb =>'); |
260 assertNoRegion(HighlightRegionType.BUILT_IN, 'get = 42'); | 250 assertNoRegion(HighlightRegionType.BUILT_IN, 'get = 42'); |
261 }); | |
262 } | 251 } |
263 | 252 |
264 test_BUILT_IN_hide() { | 253 test_BUILT_IN_hide() async { |
265 addTestFile(''' | 254 addTestFile(''' |
266 import 'foo.dart' hide Foo; | 255 import 'foo.dart' hide Foo; |
267 main() { | 256 main() { |
268 var hide = 42; | 257 var hide = 42; |
269 }'''); | 258 }'''); |
270 return prepareHighlights().then((_) { | 259 await prepareHighlights(); |
271 assertHasRegion(HighlightRegionType.BUILT_IN, 'hide Foo'); | 260 assertHasRegion(HighlightRegionType.BUILT_IN, 'hide Foo'); |
272 assertNoRegion(HighlightRegionType.BUILT_IN, 'hide = 42'); | 261 assertNoRegion(HighlightRegionType.BUILT_IN, 'hide = 42'); |
273 }); | |
274 } | 262 } |
275 | 263 |
276 test_BUILT_IN_implements() { | 264 test_BUILT_IN_implements() async { |
277 addTestFile(''' | 265 addTestFile(''' |
278 class A {} | 266 class A {} |
279 class B implements A {} | 267 class B implements A {} |
280 main() { | 268 main() { |
281 var implements = 42; | 269 var implements = 42; |
282 }'''); | 270 }'''); |
283 return prepareHighlights().then((_) { | 271 await prepareHighlights(); |
284 assertHasRegion(HighlightRegionType.BUILT_IN, 'implements A {}'); | 272 assertHasRegion(HighlightRegionType.BUILT_IN, 'implements A {}'); |
285 assertNoRegion(HighlightRegionType.BUILT_IN, 'implements = 42'); | 273 assertNoRegion(HighlightRegionType.BUILT_IN, 'implements = 42'); |
286 }); | |
287 } | 274 } |
288 | 275 |
289 test_BUILT_IN_import() { | 276 test_BUILT_IN_import() async { |
290 addTestFile(''' | 277 addTestFile(''' |
291 import "foo.dart"; | 278 import "foo.dart"; |
292 main() { | 279 main() { |
293 var import = 42; | 280 var import = 42; |
294 }'''); | 281 }'''); |
295 return prepareHighlights().then((_) { | 282 await prepareHighlights(); |
296 assertHasRegion(HighlightRegionType.BUILT_IN, 'import "'); | 283 assertHasRegion(HighlightRegionType.BUILT_IN, 'import "'); |
297 assertNoRegion(HighlightRegionType.BUILT_IN, 'import = 42'); | 284 assertNoRegion(HighlightRegionType.BUILT_IN, 'import = 42'); |
298 }); | |
299 } | 285 } |
300 | 286 |
301 test_BUILT_IN_library() { | 287 test_BUILT_IN_library() async { |
302 addTestFile(''' | 288 addTestFile(''' |
303 library lib; | 289 library lib; |
304 main() { | 290 main() { |
305 var library = 42; | 291 var library = 42; |
306 }'''); | 292 }'''); |
307 return prepareHighlights().then((_) { | 293 await prepareHighlights(); |
308 assertHasRegion(HighlightRegionType.BUILT_IN, 'library lib;'); | 294 assertHasRegion(HighlightRegionType.BUILT_IN, 'library lib;'); |
309 assertNoRegion(HighlightRegionType.BUILT_IN, 'library = 42'); | 295 assertNoRegion(HighlightRegionType.BUILT_IN, 'library = 42'); |
310 }); | |
311 } | 296 } |
312 | 297 |
313 test_BUILT_IN_native() { | 298 test_BUILT_IN_native() async { |
314 addTestFile(''' | 299 addTestFile(''' |
315 class A native "A_native" {} | 300 class A native "A_native" {} |
316 class B { | 301 class B { |
317 bbb() native "bbb_native"; | 302 bbb() native "bbb_native"; |
318 } | 303 } |
319 main() { | 304 main() { |
320 var native = 42; | 305 var native = 42; |
321 }'''); | 306 }'''); |
322 return prepareHighlights().then((_) { | 307 await prepareHighlights(); |
323 assertHasRegion(HighlightRegionType.BUILT_IN, 'native "A_'); | 308 assertHasRegion(HighlightRegionType.BUILT_IN, 'native "A_'); |
324 assertHasRegion(HighlightRegionType.BUILT_IN, 'native "bbb_'); | 309 assertHasRegion(HighlightRegionType.BUILT_IN, 'native "bbb_'); |
325 assertNoRegion(HighlightRegionType.BUILT_IN, 'native = 42'); | 310 assertNoRegion(HighlightRegionType.BUILT_IN, 'native = 42'); |
326 }); | |
327 } | 311 } |
328 | 312 |
329 test_BUILT_IN_on() { | 313 test_BUILT_IN_on() async { |
330 addTestFile(''' | 314 addTestFile(''' |
331 main() { | 315 main() { |
332 try { | 316 try { |
333 } on int catch (e) { | 317 } on int catch (e) { |
334 } | 318 } |
335 var on = 42; | 319 var on = 42; |
336 }'''); | 320 }'''); |
337 return prepareHighlights().then((_) { | 321 await prepareHighlights(); |
338 assertHasRegion(HighlightRegionType.BUILT_IN, 'on int'); | 322 assertHasRegion(HighlightRegionType.BUILT_IN, 'on int'); |
339 assertNoRegion(HighlightRegionType.BUILT_IN, 'on = 42'); | 323 assertNoRegion(HighlightRegionType.BUILT_IN, 'on = 42'); |
340 }); | |
341 } | 324 } |
342 | 325 |
343 test_BUILT_IN_operator() { | 326 test_BUILT_IN_operator() async { |
344 addTestFile(''' | 327 addTestFile(''' |
345 class A { | 328 class A { |
346 operator +(x) => null; | 329 operator +(x) => null; |
347 } | 330 } |
348 main() { | 331 main() { |
349 var operator = 42; | 332 var operator = 42; |
350 }'''); | 333 }'''); |
351 return prepareHighlights().then((_) { | 334 await prepareHighlights(); |
352 assertHasRegion(HighlightRegionType.BUILT_IN, 'operator +('); | 335 assertHasRegion(HighlightRegionType.BUILT_IN, 'operator +('); |
353 assertNoRegion(HighlightRegionType.BUILT_IN, 'operator = 42'); | 336 assertNoRegion(HighlightRegionType.BUILT_IN, 'operator = 42'); |
354 }); | |
355 } | 337 } |
356 | 338 |
357 test_BUILT_IN_part() { | 339 test_BUILT_IN_part() async { |
358 addTestFile(''' | 340 addTestFile(''' |
359 part "my_part.dart"; | 341 part "my_part.dart"; |
360 main() { | 342 main() { |
361 var part = 42; | 343 var part = 42; |
362 }'''); | 344 }'''); |
363 addFile('/project/bin/my_part.dart', 'part of lib;'); | 345 addFile('/project/bin/my_part.dart', 'part of lib;'); |
364 return prepareHighlights().then((_) { | 346 await prepareHighlights(); |
365 assertHasRegion(HighlightRegionType.BUILT_IN, 'part "my_'); | 347 assertHasRegion(HighlightRegionType.BUILT_IN, 'part "my_'); |
366 assertNoRegion(HighlightRegionType.BUILT_IN, 'part = 42'); | 348 assertNoRegion(HighlightRegionType.BUILT_IN, 'part = 42'); |
367 }); | |
368 } | 349 } |
369 | 350 |
370 test_BUILT_IN_partOf() { | 351 test_BUILT_IN_partOf() async { |
371 addTestFile(''' | 352 addTestFile(''' |
372 part of lib; | 353 part of lib; |
373 main() { | 354 main() { |
374 var part = 1; | 355 var part = 1; |
375 var of = 2; | 356 var of = 2; |
376 }'''); | 357 }'''); |
377 _addLibraryForTestPart(); | 358 _addLibraryForTestPart(); |
378 return prepareHighlights().then((_) { | 359 await prepareHighlights(); |
379 assertHasRegion( | 360 assertHasRegion(HighlightRegionType.BUILT_IN, 'part of', 'part of'.length); |
380 HighlightRegionType.BUILT_IN, 'part of', 'part of'.length); | 361 assertNoRegion(HighlightRegionType.BUILT_IN, 'part = 1'); |
381 assertNoRegion(HighlightRegionType.BUILT_IN, 'part = 1'); | 362 assertNoRegion(HighlightRegionType.BUILT_IN, 'of = 2'); |
382 assertNoRegion(HighlightRegionType.BUILT_IN, 'of = 2'); | |
383 }); | |
384 } | 363 } |
385 | 364 |
386 test_BUILT_IN_set() { | 365 test_BUILT_IN_set() async { |
387 addTestFile(''' | 366 addTestFile(''' |
388 set aaa(x) {} | 367 set aaa(x) {} |
389 class A | 368 class A |
390 set bbb(x) {} | 369 set bbb(x) {} |
391 } | 370 } |
392 main() { | 371 main() { |
393 var set = 42; | 372 var set = 42; |
394 }'''); | 373 }'''); |
395 return prepareHighlights().then((_) { | 374 await prepareHighlights(); |
396 assertHasRegion(HighlightRegionType.BUILT_IN, 'set aaa('); | 375 assertHasRegion(HighlightRegionType.BUILT_IN, 'set aaa('); |
397 assertHasRegion(HighlightRegionType.BUILT_IN, 'set bbb('); | 376 assertHasRegion(HighlightRegionType.BUILT_IN, 'set bbb('); |
398 assertNoRegion(HighlightRegionType.BUILT_IN, 'set = 42'); | 377 assertNoRegion(HighlightRegionType.BUILT_IN, 'set = 42'); |
399 }); | |
400 } | 378 } |
401 | 379 |
402 test_BUILT_IN_show() { | 380 test_BUILT_IN_show() async { |
403 addTestFile(''' | 381 addTestFile(''' |
404 import 'foo.dart' show Foo; | 382 import 'foo.dart' show Foo; |
405 main() { | 383 main() { |
406 var show = 42; | 384 var show = 42; |
407 }'''); | 385 }'''); |
408 return prepareHighlights().then((_) { | 386 await prepareHighlights(); |
409 assertHasRegion(HighlightRegionType.BUILT_IN, 'show Foo'); | 387 assertHasRegion(HighlightRegionType.BUILT_IN, 'show Foo'); |
410 assertNoRegion(HighlightRegionType.BUILT_IN, 'show = 42'); | 388 assertNoRegion(HighlightRegionType.BUILT_IN, 'show = 42'); |
411 }); | |
412 } | 389 } |
413 | 390 |
414 test_BUILT_IN_static() { | 391 test_BUILT_IN_static() async { |
415 addTestFile(''' | 392 addTestFile(''' |
416 class A { | 393 class A { |
417 static aaa; | 394 static aaa; |
418 static bbb() {} | 395 static bbb() {} |
419 } | 396 } |
420 main() { | 397 main() { |
421 var static = 42; | 398 var static = 42; |
422 }'''); | 399 }'''); |
423 return prepareHighlights().then((_) { | 400 await prepareHighlights(); |
424 assertHasRegion(HighlightRegionType.BUILT_IN, 'static aaa;'); | 401 assertHasRegion(HighlightRegionType.BUILT_IN, 'static aaa;'); |
425 assertHasRegion(HighlightRegionType.BUILT_IN, 'static bbb()'); | 402 assertHasRegion(HighlightRegionType.BUILT_IN, 'static bbb()'); |
426 assertNoRegion(HighlightRegionType.BUILT_IN, 'static = 42'); | 403 assertNoRegion(HighlightRegionType.BUILT_IN, 'static = 42'); |
427 }); | |
428 } | 404 } |
429 | 405 |
430 test_BUILT_IN_sync() { | 406 test_BUILT_IN_sync() async { |
431 addTestFile(''' | 407 addTestFile(''' |
432 fa() sync {} | 408 fa() sync {} |
433 fb() sync* {} | 409 fb() sync* {} |
434 main() { | 410 main() { |
435 bool sync = false; | 411 bool sync = false; |
436 } | 412 } |
437 '''); | 413 '''); |
438 return prepareHighlights().then((_) { | 414 await prepareHighlights(); |
439 assertHasStringRegion(HighlightRegionType.BUILT_IN, 'sync'); | 415 assertHasStringRegion(HighlightRegionType.BUILT_IN, 'sync'); |
440 assertHasStringRegion(HighlightRegionType.BUILT_IN, 'sync*'); | 416 assertHasStringRegion(HighlightRegionType.BUILT_IN, 'sync*'); |
441 assertNoRegion(HighlightRegionType.BUILT_IN, 'sync = false'); | 417 assertNoRegion(HighlightRegionType.BUILT_IN, 'sync = false'); |
442 }); | |
443 } | 418 } |
444 | 419 |
445 test_BUILT_IN_typedef() { | 420 test_BUILT_IN_typedef() async { |
446 addTestFile(''' | 421 addTestFile(''' |
447 typedef A(); | 422 typedef A(); |
448 main() { | 423 main() { |
449 var typedef = 42; | 424 var typedef = 42; |
450 }'''); | 425 }'''); |
451 return prepareHighlights().then((_) { | 426 await prepareHighlights(); |
452 assertHasRegion(HighlightRegionType.BUILT_IN, 'typedef A();'); | 427 assertHasRegion(HighlightRegionType.BUILT_IN, 'typedef A();'); |
453 assertNoRegion(HighlightRegionType.BUILT_IN, 'typedef = 42'); | 428 assertNoRegion(HighlightRegionType.BUILT_IN, 'typedef = 42'); |
454 }); | |
455 } | 429 } |
456 | 430 |
457 test_BUILT_IN_yield() { | 431 test_BUILT_IN_yield() async { |
458 addTestFile(''' | 432 addTestFile(''' |
459 main() async* { | 433 main() async* { |
460 yield 42; | 434 yield 42; |
461 } | 435 } |
462 '''); | 436 '''); |
463 return prepareHighlights().then((_) { | 437 await prepareHighlights(); |
464 assertHasRegion(HighlightRegionType.BUILT_IN, 'yield 42'); | 438 assertHasRegion(HighlightRegionType.BUILT_IN, 'yield 42'); |
465 }); | |
466 } | 439 } |
467 | 440 |
468 test_BUILT_IN_yieldStar() { | 441 test_BUILT_IN_yieldStar() async { |
469 addTestFile(''' | 442 addTestFile(''' |
470 main() async* { | 443 main() async* { |
471 yield* []; | 444 yield* []; |
472 } | 445 } |
473 '''); | 446 '''); |
474 return prepareHighlights().then((_) { | 447 await prepareHighlights(); |
475 assertHasStringRegion(HighlightRegionType.BUILT_IN, 'yield*'); | 448 assertHasStringRegion(HighlightRegionType.BUILT_IN, 'yield*'); |
476 }); | |
477 } | 449 } |
478 | 450 |
479 test_CLASS() { | 451 test_CLASS() async { |
480 addTestFile(''' | 452 addTestFile(''' |
481 class AAA {} | 453 class AAA {} |
482 AAA aaa; | 454 AAA aaa; |
483 '''); | 455 '''); |
484 return prepareHighlights().then((_) { | 456 await prepareHighlights(); |
485 assertHasRegion(HighlightRegionType.CLASS, 'AAA {}'); | 457 assertHasRegion(HighlightRegionType.CLASS, 'AAA {}'); |
486 assertHasRegion(HighlightRegionType.CLASS, 'AAA aaa'); | 458 assertHasRegion(HighlightRegionType.CLASS, 'AAA aaa'); |
487 }); | |
488 } | 459 } |
489 | 460 |
490 test_CLASS_notDynamic() { | 461 test_CLASS_notDynamic() async { |
491 addTestFile(''' | 462 addTestFile(''' |
492 dynamic f() {} | 463 dynamic f() {} |
493 '''); | 464 '''); |
494 return prepareHighlights().then((_) { | 465 await prepareHighlights(); |
495 assertNoRegion(HighlightRegionType.CLASS, 'dynamic f()'); | 466 assertNoRegion(HighlightRegionType.CLASS, 'dynamic f()'); |
496 }); | |
497 } | 467 } |
498 | 468 |
499 test_CLASS_notVoid() { | 469 test_CLASS_notVoid() async { |
500 addTestFile(''' | 470 addTestFile(''' |
501 void f() {} | 471 void f() {} |
502 '''); | 472 '''); |
503 return prepareHighlights().then((_) { | 473 await prepareHighlights(); |
504 assertNoRegion(HighlightRegionType.CLASS, 'void f()'); | 474 assertNoRegion(HighlightRegionType.CLASS, 'void f()'); |
505 }); | |
506 } | 475 } |
507 | 476 |
508 test_COMMENT() { | 477 test_COMMENT() async { |
509 addTestFile(''' | 478 addTestFile(''' |
510 /** | 479 /** |
511 * documentation comment | 480 * documentation comment |
512 */ | 481 */ |
513 void main() { | 482 void main() { |
514 // end-of-line comment | 483 // end-of-line comment |
515 my_function(1); | 484 my_function(1); |
516 } | 485 } |
517 | 486 |
518 void my_function(String a) { | 487 void my_function(String a) { |
519 /* block comment */ | 488 /* block comment */ |
520 } | 489 } |
521 '''); | 490 '''); |
522 return prepareHighlights().then((_) { | 491 await prepareHighlights(); |
523 assertHasRegion(HighlightRegionType.COMMENT_DOCUMENTATION, '/**', 32); | 492 assertHasRegion(HighlightRegionType.COMMENT_DOCUMENTATION, '/**', 32); |
524 assertHasRegion(HighlightRegionType.COMMENT_END_OF_LINE, '//', 22); | 493 assertHasRegion(HighlightRegionType.COMMENT_END_OF_LINE, '//', 22); |
525 assertHasRegion(HighlightRegionType.COMMENT_BLOCK, '/* b', 19); | 494 assertHasRegion(HighlightRegionType.COMMENT_BLOCK, '/* b', 19); |
526 }); | |
527 } | 495 } |
528 | 496 |
529 test_CONSTRUCTOR() { | 497 test_CONSTRUCTOR() async { |
530 addTestFile(''' | 498 addTestFile(''' |
531 class AAA { | 499 class AAA { |
532 AAA() {} | 500 AAA() {} |
533 AAA.name(p) {} | 501 AAA.name(p) {} |
534 } | 502 } |
535 main() { | 503 main() { |
536 new AAA(); | 504 new AAA(); |
537 new AAA.name(42); | 505 new AAA.name(42); |
538 } | 506 } |
539 '''); | 507 '''); |
540 return prepareHighlights().then((_) { | 508 await prepareHighlights(); |
541 assertHasRegion(HighlightRegionType.CONSTRUCTOR, 'name(p)'); | 509 assertHasRegion(HighlightRegionType.CONSTRUCTOR, 'name(p)'); |
542 assertHasRegion(HighlightRegionType.CONSTRUCTOR, 'name(42)'); | 510 assertHasRegion(HighlightRegionType.CONSTRUCTOR, 'name(42)'); |
543 assertNoRegion(HighlightRegionType.CONSTRUCTOR, 'AAA() {}'); | 511 assertNoRegion(HighlightRegionType.CONSTRUCTOR, 'AAA() {}'); |
544 assertNoRegion(HighlightRegionType.CONSTRUCTOR, 'AAA();'); | 512 assertNoRegion(HighlightRegionType.CONSTRUCTOR, 'AAA();'); |
545 }); | |
546 } | 513 } |
547 | 514 |
548 test_DIRECTIVE() { | 515 test_DIRECTIVE() async { |
549 addTestFile(''' | 516 addTestFile(''' |
550 library lib; | 517 library lib; |
551 import 'dart:math'; | 518 import 'dart:math'; |
552 export 'dart:math'; | 519 export 'dart:math'; |
553 part 'part.dart'; | 520 part 'part.dart'; |
554 '''); | 521 '''); |
555 return prepareHighlights().then((_) { | 522 await prepareHighlights(); |
556 assertHasStringRegion(HighlightRegionType.DIRECTIVE, "library lib;"); | 523 assertHasStringRegion(HighlightRegionType.DIRECTIVE, "library lib;"); |
557 assertHasStringRegion( | 524 assertHasStringRegion(HighlightRegionType.DIRECTIVE, "import 'dart:math';"); |
558 HighlightRegionType.DIRECTIVE, "import 'dart:math';"); | 525 assertHasStringRegion(HighlightRegionType.DIRECTIVE, "export 'dart:math';"); |
559 assertHasStringRegion( | 526 assertHasStringRegion(HighlightRegionType.DIRECTIVE, "part 'part.dart';"); |
560 HighlightRegionType.DIRECTIVE, "export 'dart:math';"); | |
561 assertHasStringRegion(HighlightRegionType.DIRECTIVE, "part 'part.dart';"); | |
562 }); | |
563 } | 527 } |
564 | 528 |
565 test_DIRECTIVE_partOf() { | 529 test_DIRECTIVE_partOf() async { |
566 addTestFile(''' | 530 addTestFile(''' |
567 part of lib; | 531 part of lib; |
568 '''); | 532 '''); |
569 _addLibraryForTestPart(); | 533 _addLibraryForTestPart(); |
570 return prepareHighlights().then((_) { | 534 await prepareHighlights(); |
571 assertHasStringRegion(HighlightRegionType.DIRECTIVE, "part of lib;"); | 535 assertHasStringRegion(HighlightRegionType.DIRECTIVE, "part of lib;"); |
572 }); | |
573 } | 536 } |
574 | 537 |
575 test_DYNAMIC_LOCAL_VARIABLE() { | 538 test_DYNAMIC_LOCAL_VARIABLE() async { |
576 addTestFile(''' | 539 addTestFile(''' |
577 f() {} | 540 f() {} |
578 main(p) { | 541 main(p) { |
579 var v = f(); | 542 var v = f(); |
580 v; | 543 v; |
581 } | 544 } |
582 '''); | 545 '''); |
583 return prepareHighlights().then((_) { | 546 await prepareHighlights(); |
584 assertHasRegion( | 547 assertHasRegion( |
585 HighlightRegionType.DYNAMIC_LOCAL_VARIABLE_DECLARATION, 'v = f()'); | 548 HighlightRegionType.DYNAMIC_LOCAL_VARIABLE_DECLARATION, 'v = f()'); |
586 assertHasRegion( | 549 assertHasRegion(HighlightRegionType.DYNAMIC_LOCAL_VARIABLE_REFERENCE, 'v;'); |
587 HighlightRegionType.DYNAMIC_LOCAL_VARIABLE_REFERENCE, 'v;'); | |
588 }); | |
589 } | 550 } |
590 | 551 |
591 test_DYNAMIC_PARAMETER() { | 552 test_DYNAMIC_PARAMETER() async { |
592 addTestFile(''' | 553 addTestFile(''' |
593 main(p) { | 554 main(p) { |
594 print(p); | 555 print(p); |
595 } | 556 } |
596 '''); | 557 '''); |
597 return prepareHighlights().then((_) { | 558 await prepareHighlights(); |
598 assertHasRegion(HighlightRegionType.DYNAMIC_PARAMETER_DECLARATION, 'p)'); | 559 assertHasRegion(HighlightRegionType.DYNAMIC_PARAMETER_DECLARATION, 'p)'); |
599 assertHasRegion(HighlightRegionType.DYNAMIC_PARAMETER_REFERENCE, 'p);'); | 560 assertHasRegion(HighlightRegionType.DYNAMIC_PARAMETER_REFERENCE, 'p);'); |
600 }); | |
601 } | 561 } |
602 | 562 |
603 test_DYNAMIC_VARIABLE_field() { | 563 test_DYNAMIC_VARIABLE_field() async { |
604 addTestFile(''' | 564 addTestFile(''' |
605 class A { | 565 class A { |
606 var f; | 566 var f; |
607 m() { | 567 m() { |
608 f = 1; | 568 f = 1; |
609 } | 569 } |
610 } | 570 } |
611 '''); | 571 '''); |
612 return prepareHighlights().then((_) { | 572 await prepareHighlights(); |
613 assertHasRegion(HighlightRegionType.INSTANCE_FIELD_DECLARATION, 'f;'); | 573 assertHasRegion(HighlightRegionType.INSTANCE_FIELD_DECLARATION, 'f;'); |
614 assertHasRegion(HighlightRegionType.INSTANCE_SETTER_REFERENCE, 'f = 1'); | 574 assertHasRegion(HighlightRegionType.INSTANCE_SETTER_REFERENCE, 'f = 1'); |
615 }); | |
616 } | 575 } |
617 | 576 |
618 test_ENUM() { | 577 test_ENUM() async { |
619 addTestFile(''' | 578 addTestFile(''' |
620 enum MyEnum {A, B, C} | 579 enum MyEnum {A, B, C} |
621 MyEnum value; | 580 MyEnum value; |
622 '''); | 581 '''); |
623 return prepareHighlights().then((_) { | 582 await prepareHighlights(); |
624 assertHasRegion(HighlightRegionType.ENUM, 'MyEnum {'); | 583 assertHasRegion(HighlightRegionType.ENUM, 'MyEnum {'); |
625 assertHasRegion(HighlightRegionType.ENUM, 'MyEnum value;'); | 584 assertHasRegion(HighlightRegionType.ENUM, 'MyEnum value;'); |
626 }); | |
627 } | 585 } |
628 | 586 |
629 test_ENUM_CONSTANT() { | 587 test_ENUM_CONSTANT() async { |
630 addTestFile(''' | 588 addTestFile(''' |
631 enum MyEnum {AAA, BBB} | 589 enum MyEnum {AAA, BBB} |
632 main() { | 590 main() { |
633 print(MyEnum.AAA); | 591 print(MyEnum.AAA); |
634 print(MyEnum.BBB); | 592 print(MyEnum.BBB); |
635 } | 593 } |
636 '''); | 594 '''); |
637 return prepareHighlights().then((_) { | 595 await prepareHighlights(); |
638 assertHasRegion(HighlightRegionType.ENUM_CONSTANT, 'AAA, '); | 596 assertHasRegion(HighlightRegionType.ENUM_CONSTANT, 'AAA, '); |
639 assertHasRegion(HighlightRegionType.ENUM_CONSTANT, 'BBB}'); | 597 assertHasRegion(HighlightRegionType.ENUM_CONSTANT, 'BBB}'); |
640 assertHasRegion(HighlightRegionType.ENUM_CONSTANT, 'AAA);'); | 598 assertHasRegion(HighlightRegionType.ENUM_CONSTANT, 'AAA);'); |
641 assertHasRegion(HighlightRegionType.ENUM_CONSTANT, 'BBB);'); | 599 assertHasRegion(HighlightRegionType.ENUM_CONSTANT, 'BBB);'); |
642 }); | |
643 } | 600 } |
644 | 601 |
645 test_FUNCTION_TYPE_ALIAS() { | 602 test_FUNCTION_TYPE_ALIAS() async { |
646 addTestFile(''' | 603 addTestFile(''' |
647 typedef FFF(p); | 604 typedef FFF(p); |
648 main(FFF fff) { | 605 main(FFF fff) { |
649 } | 606 } |
650 '''); | 607 '''); |
651 return prepareHighlights().then((_) { | 608 await prepareHighlights(); |
652 assertHasRegion(HighlightRegionType.FUNCTION_TYPE_ALIAS, 'FFF(p)'); | 609 assertHasRegion(HighlightRegionType.FUNCTION_TYPE_ALIAS, 'FFF(p)'); |
653 assertHasRegion(HighlightRegionType.FUNCTION_TYPE_ALIAS, 'FFF fff)'); | 610 assertHasRegion(HighlightRegionType.FUNCTION_TYPE_ALIAS, 'FFF fff)'); |
654 }); | |
655 } | 611 } |
656 | 612 |
657 test_GETTER() { | 613 test_GETTER() async { |
658 addTestFile(''' | 614 addTestFile(''' |
659 get aaa => null; | 615 get aaa => null; |
660 class A { | 616 class A { |
661 get bbb => null; | 617 get bbb => null; |
662 static get ccc => null; | 618 static get ccc => null; |
663 } | 619 } |
664 main(A a) { | 620 main(A a) { |
665 aaa; | 621 aaa; |
666 a.bbb; | 622 a.bbb; |
667 A.ccc; | 623 A.ccc; |
668 } | 624 } |
669 '''); | 625 '''); |
670 return prepareHighlights().then((_) { | 626 await prepareHighlights(); |
671 assertHasRegion( | 627 assertHasRegion( |
672 HighlightRegionType.TOP_LEVEL_GETTER_DECLARATION, 'aaa => null'); | 628 HighlightRegionType.TOP_LEVEL_GETTER_DECLARATION, 'aaa => null'); |
673 assertHasRegion( | 629 assertHasRegion( |
674 HighlightRegionType.INSTANCE_GETTER_DECLARATION, 'bbb => null'); | 630 HighlightRegionType.INSTANCE_GETTER_DECLARATION, 'bbb => null'); |
675 assertHasRegion( | 631 assertHasRegion( |
676 HighlightRegionType.STATIC_GETTER_DECLARATION, 'ccc => null'); | 632 HighlightRegionType.STATIC_GETTER_DECLARATION, 'ccc => null'); |
677 assertHasRegion(HighlightRegionType.TOP_LEVEL_GETTER_REFERENCE, 'aaa;'); | 633 assertHasRegion(HighlightRegionType.TOP_LEVEL_GETTER_REFERENCE, 'aaa;'); |
678 assertHasRegion(HighlightRegionType.INSTANCE_GETTER_REFERENCE, 'bbb;'); | 634 assertHasRegion(HighlightRegionType.INSTANCE_GETTER_REFERENCE, 'bbb;'); |
679 assertHasRegion(HighlightRegionType.STATIC_GETTER_REFERENCE, 'ccc;'); | 635 assertHasRegion(HighlightRegionType.STATIC_GETTER_REFERENCE, 'ccc;'); |
680 }); | |
681 } | 636 } |
682 | 637 |
683 test_IDENTIFIER_DEFAULT() { | 638 test_IDENTIFIER_DEFAULT() async { |
684 addTestFile(''' | 639 addTestFile(''' |
685 main() { | 640 main() { |
686 aaa = 42; | 641 aaa = 42; |
687 bbb(84); | 642 bbb(84); |
688 CCC ccc; | 643 CCC ccc; |
689 } | 644 } |
690 '''); | 645 '''); |
691 return prepareHighlights().then((_) { | 646 await prepareHighlights(); |
692 assertHasRegion(HighlightRegionType.IDENTIFIER_DEFAULT, 'aaa = 42'); | 647 assertHasRegion(HighlightRegionType.IDENTIFIER_DEFAULT, 'aaa = 42'); |
693 assertHasRegion(HighlightRegionType.IDENTIFIER_DEFAULT, 'bbb(84)'); | 648 assertHasRegion(HighlightRegionType.IDENTIFIER_DEFAULT, 'bbb(84)'); |
694 assertHasRegion(HighlightRegionType.IDENTIFIER_DEFAULT, 'CCC ccc'); | 649 assertHasRegion(HighlightRegionType.IDENTIFIER_DEFAULT, 'CCC ccc'); |
695 }); | |
696 } | 650 } |
697 | 651 |
698 test_IMPORT_PREFIX() { | 652 test_IMPORT_PREFIX() async { |
699 addTestFile(''' | 653 addTestFile(''' |
700 import 'dart:math' as ma; | 654 import 'dart:math' as ma; |
701 main() { | 655 main() { |
702 ma.max(1, 2); | 656 ma.max(1, 2); |
703 } | 657 } |
704 '''); | 658 '''); |
705 return prepareHighlights().then((_) { | 659 await prepareHighlights(); |
706 assertHasRegion(HighlightRegionType.IMPORT_PREFIX, 'ma;'); | 660 assertHasRegion(HighlightRegionType.IMPORT_PREFIX, 'ma;'); |
707 assertHasRegion(HighlightRegionType.IMPORT_PREFIX, 'ma.max'); | 661 assertHasRegion(HighlightRegionType.IMPORT_PREFIX, 'ma.max'); |
708 }); | |
709 } | 662 } |
710 | 663 |
711 test_INSTANCE_FIELD() { | 664 test_INSTANCE_FIELD() async { |
712 addTestFile(''' | 665 addTestFile(''' |
713 class A { | 666 class A { |
714 int aaa = 1; | 667 int aaa = 1; |
715 int bbb = 2; | 668 int bbb = 2; |
716 A([this.bbb = 3]); | 669 A([this.bbb = 3]); |
717 } | 670 } |
718 main(A a) { | 671 main(A a) { |
719 a.aaa = 4; | 672 a.aaa = 4; |
720 a.bbb = 5; | 673 a.bbb = 5; |
721 } | 674 } |
722 '''); | 675 '''); |
723 return prepareHighlights().then((_) { | 676 await prepareHighlights(); |
724 assertHasRegion( | 677 assertHasRegion(HighlightRegionType.INSTANCE_FIELD_DECLARATION, 'aaa = 1'); |
725 HighlightRegionType.INSTANCE_FIELD_DECLARATION, 'aaa = 1'); | 678 assertHasRegion(HighlightRegionType.INSTANCE_FIELD_DECLARATION, 'bbb = 2'); |
726 assertHasRegion( | 679 assertHasRegion(HighlightRegionType.INSTANCE_FIELD_REFERENCE, 'bbb = 3'); |
727 HighlightRegionType.INSTANCE_FIELD_DECLARATION, 'bbb = 2'); | 680 assertHasRegion(HighlightRegionType.INSTANCE_SETTER_REFERENCE, 'aaa = 4'); |
728 assertHasRegion(HighlightRegionType.INSTANCE_FIELD_REFERENCE, 'bbb = 3'); | 681 assertHasRegion(HighlightRegionType.INSTANCE_SETTER_REFERENCE, 'bbb = 5'); |
729 assertHasRegion(HighlightRegionType.INSTANCE_SETTER_REFERENCE, 'aaa = 4'); | |
730 assertHasRegion(HighlightRegionType.INSTANCE_SETTER_REFERENCE, 'bbb = 5'); | |
731 }); | |
732 } | 682 } |
733 | 683 |
734 test_INSTANCE_FIELD_dynamic() { | 684 test_INSTANCE_FIELD_dynamic() async { |
735 addTestFile(''' | 685 addTestFile(''' |
736 class A { | 686 class A { |
737 var f; | 687 var f; |
738 A(this.f); | 688 A(this.f); |
739 } | 689 } |
740 '''); | 690 '''); |
741 return prepareHighlights().then((_) { | 691 await prepareHighlights(); |
742 assertHasRegion(HighlightRegionType.INSTANCE_FIELD_DECLARATION, 'f;'); | 692 assertHasRegion(HighlightRegionType.INSTANCE_FIELD_DECLARATION, 'f;'); |
743 assertHasRegion(HighlightRegionType.INSTANCE_FIELD_REFERENCE, 'f);'); | 693 assertHasRegion(HighlightRegionType.INSTANCE_FIELD_REFERENCE, 'f);'); |
744 }); | |
745 } | 694 } |
746 | 695 |
747 test_KEYWORD() { | 696 test_KEYWORD() async { |
748 addTestFile(''' | 697 addTestFile(''' |
749 main() { | 698 main() { |
750 assert(true); | 699 assert(true); |
751 for (;;) break; | 700 for (;;) break; |
752 switch (0) { | 701 switch (0) { |
753 case 0: break; | 702 case 0: break; |
754 default: break; | 703 default: break; |
755 } | 704 } |
756 try {} catch (e) {} | 705 try {} catch (e) {} |
757 const v1 = 0; | 706 const v1 = 0; |
(...skipping 12 matching lines...) Expand all Loading... |
770 } | 719 } |
771 class A {} | 720 class A {} |
772 class B extends A { | 721 class B extends A { |
773 B() : super(); | 722 B() : super(); |
774 m() { | 723 m() { |
775 return this; | 724 return this; |
776 } | 725 } |
777 } | 726 } |
778 class C = Object with A; | 727 class C = Object with A; |
779 '''); | 728 '''); |
780 return prepareHighlights().then((_) { | 729 await prepareHighlights(); |
781 assertHasRegion(HighlightRegionType.KEYWORD, 'assert(true)'); | 730 assertHasRegion(HighlightRegionType.KEYWORD, 'assert(true)'); |
782 assertHasRegion(HighlightRegionType.KEYWORD, 'for (;;)'); | 731 assertHasRegion(HighlightRegionType.KEYWORD, 'for (;;)'); |
783 assertHasRegion(HighlightRegionType.KEYWORD, 'for (var v4 in'); | 732 assertHasRegion(HighlightRegionType.KEYWORD, 'for (var v4 in'); |
784 assertHasRegion(HighlightRegionType.KEYWORD, 'break;'); | 733 assertHasRegion(HighlightRegionType.KEYWORD, 'break;'); |
785 assertHasRegion(HighlightRegionType.KEYWORD, 'case 0:'); | 734 assertHasRegion(HighlightRegionType.KEYWORD, 'case 0:'); |
786 assertHasRegion(HighlightRegionType.KEYWORD, 'catch (e) {}'); | 735 assertHasRegion(HighlightRegionType.KEYWORD, 'catch (e) {}'); |
787 assertHasRegion(HighlightRegionType.KEYWORD, 'class A {}'); | 736 assertHasRegion(HighlightRegionType.KEYWORD, 'class A {}'); |
788 assertHasRegion(HighlightRegionType.KEYWORD, 'const v1'); | 737 assertHasRegion(HighlightRegionType.KEYWORD, 'const v1'); |
789 assertHasRegion(HighlightRegionType.KEYWORD, 'continue;'); | 738 assertHasRegion(HighlightRegionType.KEYWORD, 'continue;'); |
790 assertHasRegion(HighlightRegionType.KEYWORD, 'default:'); | 739 assertHasRegion(HighlightRegionType.KEYWORD, 'default:'); |
791 assertHasRegion(HighlightRegionType.KEYWORD, 'do {} while'); | 740 assertHasRegion(HighlightRegionType.KEYWORD, 'do {} while'); |
792 assertHasRegion(HighlightRegionType.KEYWORD, 'if (true)'); | 741 assertHasRegion(HighlightRegionType.KEYWORD, 'if (true)'); |
793 assertHasRegion(HighlightRegionType.KEYWORD, 'false;'); | 742 assertHasRegion(HighlightRegionType.KEYWORD, 'false;'); |
794 assertHasRegion(HighlightRegionType.KEYWORD, 'final v3 ='); | 743 assertHasRegion(HighlightRegionType.KEYWORD, 'final v3 ='); |
795 assertHasRegion(HighlightRegionType.KEYWORD, 'finally {}'); | 744 assertHasRegion(HighlightRegionType.KEYWORD, 'finally {}'); |
796 assertHasRegion(HighlightRegionType.KEYWORD, 'in []'); | 745 assertHasRegion(HighlightRegionType.KEYWORD, 'in []'); |
797 assertHasRegion(HighlightRegionType.KEYWORD, 'is int'); | 746 assertHasRegion(HighlightRegionType.KEYWORD, 'is int'); |
798 assertHasRegion(HighlightRegionType.KEYWORD, 'new A();'); | 747 assertHasRegion(HighlightRegionType.KEYWORD, 'new A();'); |
799 assertHasRegion(HighlightRegionType.KEYWORD, 'rethrow;'); | 748 assertHasRegion(HighlightRegionType.KEYWORD, 'rethrow;'); |
800 assertHasRegion(HighlightRegionType.KEYWORD, 'return this'); | 749 assertHasRegion(HighlightRegionType.KEYWORD, 'return this'); |
801 assertHasRegion(HighlightRegionType.KEYWORD, 'super();'); | 750 assertHasRegion(HighlightRegionType.KEYWORD, 'super();'); |
802 assertHasRegion(HighlightRegionType.KEYWORD, 'switch (0)'); | 751 assertHasRegion(HighlightRegionType.KEYWORD, 'switch (0)'); |
803 assertHasRegion(HighlightRegionType.KEYWORD, 'this;'); | 752 assertHasRegion(HighlightRegionType.KEYWORD, 'this;'); |
804 assertHasRegion(HighlightRegionType.KEYWORD, 'true;'); | 753 assertHasRegion(HighlightRegionType.KEYWORD, 'true;'); |
805 assertHasRegion(HighlightRegionType.KEYWORD, 'try {'); | 754 assertHasRegion(HighlightRegionType.KEYWORD, 'try {'); |
806 assertHasRegion(HighlightRegionType.KEYWORD, 'while (true) {}'); | 755 assertHasRegion(HighlightRegionType.KEYWORD, 'while (true) {}'); |
807 assertHasRegion(HighlightRegionType.KEYWORD, 'while (true);'); | 756 assertHasRegion(HighlightRegionType.KEYWORD, 'while (true);'); |
808 assertHasRegion(HighlightRegionType.KEYWORD, 'with A;'); | 757 assertHasRegion(HighlightRegionType.KEYWORD, 'with A;'); |
809 }); | |
810 } | 758 } |
811 | 759 |
812 test_KEYWORD_void() { | 760 test_KEYWORD_void() async { |
813 addTestFile(''' | 761 addTestFile(''' |
814 void main() { | 762 void main() { |
815 } | 763 } |
816 '''); | 764 '''); |
817 return prepareHighlights().then((_) { | 765 await prepareHighlights(); |
818 assertHasRegion(HighlightRegionType.KEYWORD, 'void main()'); | 766 assertHasRegion(HighlightRegionType.KEYWORD, 'void main()'); |
819 }); | |
820 } | 767 } |
821 | 768 |
822 test_LABEL() { | 769 test_LABEL() async { |
823 addTestFile(''' | 770 addTestFile(''' |
824 main() { | 771 main() { |
825 myLabel: | 772 myLabel: |
826 while (true) { | 773 while (true) { |
827 break myLabel; | 774 break myLabel; |
828 } | 775 } |
829 } | 776 } |
830 '''); | 777 '''); |
831 return prepareHighlights().then((_) { | 778 await prepareHighlights(); |
832 assertHasRegion(HighlightRegionType.LABEL, 'myLabel:'); | 779 assertHasRegion(HighlightRegionType.LABEL, 'myLabel:'); |
833 assertHasRegion(HighlightRegionType.LABEL, 'myLabel;'); | 780 assertHasRegion(HighlightRegionType.LABEL, 'myLabel;'); |
834 }); | |
835 } | 781 } |
836 | 782 |
837 test_LIBRARY_NAME_libraryDirective() { | 783 test_LIBRARY_NAME_libraryDirective() async { |
838 addTestFile(''' | 784 addTestFile(''' |
839 library my.lib.name; | 785 library my.lib.name; |
840 '''); | 786 '''); |
841 return prepareHighlights().then((_) { | 787 await prepareHighlights(); |
842 assertHasStringRegion(HighlightRegionType.LIBRARY_NAME, 'my.lib.name'); | 788 assertHasStringRegion(HighlightRegionType.LIBRARY_NAME, 'my.lib.name'); |
843 }); | |
844 } | 789 } |
845 | 790 |
846 test_LIBRARY_NAME_partOfDirective() { | 791 test_LIBRARY_NAME_partOfDirective() async { |
847 _addLibraryForTestPart(); | 792 _addLibraryForTestPart(); |
848 addTestFile(''' | 793 addTestFile(''' |
849 part of my.lib.name; | 794 part of my.lib.name; |
850 '''); | 795 '''); |
851 return prepareHighlights().then((_) { | 796 await prepareHighlights(); |
852 assertHasStringRegion(HighlightRegionType.LIBRARY_NAME, 'my.lib.name'); | 797 assertHasStringRegion(HighlightRegionType.LIBRARY_NAME, 'my.lib.name'); |
853 }); | |
854 } | 798 } |
855 | 799 |
856 test_LITERAL_BOOLEAN() { | 800 test_LITERAL_BOOLEAN() async { |
857 addTestFile('var V = true;'); | 801 addTestFile('var V = true;'); |
858 return prepareHighlights().then((_) { | 802 await prepareHighlights(); |
859 assertHasRegion(HighlightRegionType.LITERAL_BOOLEAN, 'true;'); | 803 assertHasRegion(HighlightRegionType.LITERAL_BOOLEAN, 'true;'); |
860 }); | |
861 } | 804 } |
862 | 805 |
863 test_LITERAL_DOUBLE() { | 806 test_LITERAL_DOUBLE() async { |
864 addTestFile('var V = 4.2;'); | 807 addTestFile('var V = 4.2;'); |
865 return prepareHighlights().then((_) { | 808 await prepareHighlights(); |
866 assertHasRegion(HighlightRegionType.LITERAL_DOUBLE, '4.2;', '4.2'.length); | 809 assertHasRegion(HighlightRegionType.LITERAL_DOUBLE, '4.2;', '4.2'.length); |
867 }); | |
868 } | 810 } |
869 | 811 |
870 test_LITERAL_INTEGER() { | 812 test_LITERAL_INTEGER() async { |
871 addTestFile('var V = 42;'); | 813 addTestFile('var V = 42;'); |
872 return prepareHighlights().then((_) { | 814 await prepareHighlights(); |
873 assertHasRegion(HighlightRegionType.LITERAL_INTEGER, '42;'); | 815 assertHasRegion(HighlightRegionType.LITERAL_INTEGER, '42;'); |
874 }); | |
875 } | 816 } |
876 | 817 |
877 test_LITERAL_LIST() { | 818 test_LITERAL_LIST() async { |
878 addTestFile('var V = <int>[1, 2, 3];'); | 819 addTestFile('var V = <int>[1, 2, 3];'); |
879 return prepareHighlights().then((_) { | 820 await prepareHighlights(); |
880 assertHasStringRegion(HighlightRegionType.LITERAL_LIST, '<int>[1, 2, 3]'); | 821 assertHasStringRegion(HighlightRegionType.LITERAL_LIST, '<int>[1, 2, 3]'); |
881 }); | |
882 } | 822 } |
883 | 823 |
884 test_LITERAL_MAP() { | 824 test_LITERAL_MAP() async { |
885 addTestFile("var V = const <int, String>{1: 'a', 2: 'b', 3: 'c'};"); | 825 addTestFile("var V = const <int, String>{1: 'a', 2: 'b', 3: 'c'};"); |
886 return prepareHighlights().then((_) { | 826 await prepareHighlights(); |
887 assertHasStringRegion(HighlightRegionType.LITERAL_MAP, | 827 assertHasStringRegion(HighlightRegionType.LITERAL_MAP, |
888 "const <int, String>{1: 'a', 2: 'b', 3: 'c'}"); | 828 "const <int, String>{1: 'a', 2: 'b', 3: 'c'}"); |
889 }); | |
890 } | 829 } |
891 | 830 |
892 test_LITERAL_STRING() { | 831 test_LITERAL_STRING() async { |
893 addTestFile('var V = "abc";'); | 832 addTestFile('var V = "abc";'); |
894 return prepareHighlights().then((_) { | 833 await prepareHighlights(); |
895 assertHasRegion( | 834 assertHasRegion( |
896 HighlightRegionType.LITERAL_STRING, '"abc";', '"abc"'.length); | 835 HighlightRegionType.LITERAL_STRING, '"abc";', '"abc"'.length); |
897 }); | |
898 } | 836 } |
899 | 837 |
900 test_LOCAL_FUNCTION() { | 838 test_LOCAL_FUNCTION() async { |
901 addTestFile(''' | 839 addTestFile(''' |
902 main() { | 840 main() { |
903 fff() {} | 841 fff() {} |
904 fff(); | 842 fff(); |
905 fff; | 843 fff; |
906 } | 844 } |
907 '''); | 845 '''); |
908 return prepareHighlights().then((_) { | 846 await prepareHighlights(); |
909 assertHasRegion( | 847 assertHasRegion(HighlightRegionType.LOCAL_FUNCTION_DECLARATION, 'fff() {}'); |
910 HighlightRegionType.LOCAL_FUNCTION_DECLARATION, 'fff() {}'); | 848 assertHasRegion(HighlightRegionType.LOCAL_FUNCTION_REFERENCE, 'fff();'); |
911 assertHasRegion(HighlightRegionType.LOCAL_FUNCTION_REFERENCE, 'fff();'); | 849 assertHasRegion(HighlightRegionType.LOCAL_FUNCTION_REFERENCE, 'fff;'); |
912 assertHasRegion(HighlightRegionType.LOCAL_FUNCTION_REFERENCE, 'fff;'); | |
913 }); | |
914 } | 850 } |
915 | 851 |
916 test_LOCAL_VARIABLE() { | 852 test_LOCAL_VARIABLE() async { |
917 addTestFile(''' | 853 addTestFile(''' |
918 main() { | 854 main() { |
919 int vvv = 0; | 855 int vvv = 0; |
920 vvv; | 856 vvv; |
921 vvv = 1; | 857 vvv = 1; |
922 } | 858 } |
923 '''); | 859 '''); |
924 return prepareHighlights().then((_) { | 860 await prepareHighlights(); |
925 assertHasRegion( | 861 assertHasRegion(HighlightRegionType.LOCAL_VARIABLE_DECLARATION, 'vvv = 0'); |
926 HighlightRegionType.LOCAL_VARIABLE_DECLARATION, 'vvv = 0'); | 862 assertHasRegion(HighlightRegionType.LOCAL_VARIABLE_REFERENCE, 'vvv;'); |
927 assertHasRegion(HighlightRegionType.LOCAL_VARIABLE_REFERENCE, 'vvv;'); | 863 assertHasRegion(HighlightRegionType.LOCAL_VARIABLE_REFERENCE, 'vvv = 1;'); |
928 assertHasRegion(HighlightRegionType.LOCAL_VARIABLE_REFERENCE, 'vvv = 1;'); | |
929 }); | |
930 } | 864 } |
931 | 865 |
932 test_METHOD() { | 866 test_METHOD() async { |
933 addTestFile(''' | 867 addTestFile(''' |
934 class A { | 868 class A { |
935 aaa() {} | 869 aaa() {} |
936 static bbb() {} | 870 static bbb() {} |
937 } | 871 } |
938 main(A a) { | 872 main(A a) { |
939 a.aaa(); | 873 a.aaa(); |
940 a.aaa; | 874 a.aaa; |
941 A.bbb(); | 875 A.bbb(); |
942 A.bbb; | 876 A.bbb; |
943 } | 877 } |
944 '''); | 878 '''); |
945 return prepareHighlights().then((_) { | 879 await prepareHighlights(); |
946 assertHasRegion( | 880 assertHasRegion( |
947 HighlightRegionType.INSTANCE_METHOD_DECLARATION, 'aaa() {}'); | 881 HighlightRegionType.INSTANCE_METHOD_DECLARATION, 'aaa() {}'); |
948 assertHasRegion( | 882 assertHasRegion(HighlightRegionType.STATIC_METHOD_DECLARATION, 'bbb() {}'); |
949 HighlightRegionType.STATIC_METHOD_DECLARATION, 'bbb() {}'); | 883 assertHasRegion(HighlightRegionType.INSTANCE_METHOD_REFERENCE, 'aaa();'); |
950 assertHasRegion(HighlightRegionType.INSTANCE_METHOD_REFERENCE, 'aaa();'); | 884 assertHasRegion(HighlightRegionType.INSTANCE_METHOD_REFERENCE, 'aaa;'); |
951 assertHasRegion(HighlightRegionType.INSTANCE_METHOD_REFERENCE, 'aaa;'); | 885 assertHasRegion(HighlightRegionType.STATIC_METHOD_REFERENCE, 'bbb();'); |
952 assertHasRegion(HighlightRegionType.STATIC_METHOD_REFERENCE, 'bbb();'); | 886 assertHasRegion(HighlightRegionType.STATIC_METHOD_REFERENCE, 'bbb;'); |
953 assertHasRegion(HighlightRegionType.STATIC_METHOD_REFERENCE, 'bbb;'); | |
954 }); | |
955 } | 887 } |
956 | 888 |
957 test_METHOD_bestType() { | 889 test_METHOD_bestType() async { |
958 addTestFile(''' | 890 addTestFile(''' |
959 main(p) { | 891 main(p) { |
960 if (p is List) { | 892 if (p is List) { |
961 p.add(null); | 893 p.add(null); |
962 } | 894 } |
963 } | 895 } |
964 '''); | 896 '''); |
965 return prepareHighlights().then((_) { | 897 await prepareHighlights(); |
966 assertHasRegion( | 898 assertHasRegion(HighlightRegionType.INSTANCE_METHOD_REFERENCE, 'add(null)'); |
967 HighlightRegionType.INSTANCE_METHOD_REFERENCE, 'add(null)'); | |
968 }); | |
969 } | 899 } |
970 | 900 |
971 test_PARAMETER() { | 901 test_PARAMETER() async { |
972 addTestFile(''' | 902 addTestFile(''' |
973 main(int p) { | 903 main(int p) { |
974 p; | 904 p; |
975 p = 42; | 905 p = 42; |
976 } | 906 } |
977 '''); | 907 '''); |
978 return prepareHighlights().then((_) { | 908 await prepareHighlights(); |
979 assertHasRegion(HighlightRegionType.PARAMETER_DECLARATION, 'p) {'); | 909 assertHasRegion(HighlightRegionType.PARAMETER_DECLARATION, 'p) {'); |
980 assertHasRegion(HighlightRegionType.PARAMETER_REFERENCE, 'p;'); | 910 assertHasRegion(HighlightRegionType.PARAMETER_REFERENCE, 'p;'); |
981 assertHasRegion(HighlightRegionType.PARAMETER_REFERENCE, 'p = 42'); | 911 assertHasRegion(HighlightRegionType.PARAMETER_REFERENCE, 'p = 42'); |
982 }); | |
983 } | 912 } |
984 | 913 |
985 test_SETTER_DECLARATION() { | 914 test_SETTER_DECLARATION() async { |
986 addTestFile(''' | 915 addTestFile(''' |
987 set aaa(x) {} | 916 set aaa(x) {} |
988 class A { | 917 class A { |
989 set bbb(x) {} | 918 set bbb(x) {} |
990 static set ccc(x) {} | 919 static set ccc(x) {} |
991 } | 920 } |
992 main(A a) { | 921 main(A a) { |
993 aaa = 1; | 922 aaa = 1; |
994 a.bbb = 2; | 923 a.bbb = 2; |
995 A.ccc = 3; | 924 A.ccc = 3; |
996 } | 925 } |
997 '''); | 926 '''); |
998 return prepareHighlights().then((_) { | 927 await prepareHighlights(); |
999 assertHasRegion( | 928 assertHasRegion(HighlightRegionType.TOP_LEVEL_SETTER_DECLARATION, 'aaa(x)'); |
1000 HighlightRegionType.TOP_LEVEL_SETTER_DECLARATION, 'aaa(x)'); | 929 assertHasRegion(HighlightRegionType.INSTANCE_SETTER_DECLARATION, 'bbb(x)'); |
1001 assertHasRegion( | 930 assertHasRegion(HighlightRegionType.STATIC_SETTER_DECLARATION, 'ccc(x)'); |
1002 HighlightRegionType.INSTANCE_SETTER_DECLARATION, 'bbb(x)'); | 931 assertHasRegion(HighlightRegionType.TOP_LEVEL_SETTER_REFERENCE, 'aaa = 1'); |
1003 assertHasRegion(HighlightRegionType.STATIC_SETTER_DECLARATION, 'ccc(x)'); | 932 assertHasRegion(HighlightRegionType.INSTANCE_SETTER_REFERENCE, 'bbb = 2'); |
1004 assertHasRegion( | 933 assertHasRegion(HighlightRegionType.STATIC_SETTER_REFERENCE, 'ccc = 3'); |
1005 HighlightRegionType.TOP_LEVEL_SETTER_REFERENCE, 'aaa = 1'); | |
1006 assertHasRegion(HighlightRegionType.INSTANCE_SETTER_REFERENCE, 'bbb = 2'); | |
1007 assertHasRegion(HighlightRegionType.STATIC_SETTER_REFERENCE, 'ccc = 3'); | |
1008 }); | |
1009 } | 934 } |
1010 | 935 |
1011 test_STATIC_FIELD() { | 936 test_STATIC_FIELD() async { |
1012 addTestFile(''' | 937 addTestFile(''' |
1013 class A { | 938 class A { |
1014 static aaa = 1; | 939 static aaa = 1; |
1015 static get bbb => null; | 940 static get bbb => null; |
1016 static set ccc(x) {} | 941 static set ccc(x) {} |
1017 } | 942 } |
1018 main() { | 943 main() { |
1019 A.aaa = 2; | 944 A.aaa = 2; |
1020 A.bbb; | 945 A.bbb; |
1021 A.ccc = 3; | 946 A.ccc = 3; |
1022 } | 947 } |
1023 '''); | 948 '''); |
1024 return prepareHighlights().then((_) { | 949 await prepareHighlights(); |
1025 assertHasRegion(HighlightRegionType.STATIC_FIELD_DECLARATION, 'aaa = 1'); | 950 assertHasRegion(HighlightRegionType.STATIC_FIELD_DECLARATION, 'aaa = 1'); |
1026 assertHasRegion(HighlightRegionType.STATIC_SETTER_REFERENCE, 'aaa = 2'); | 951 assertHasRegion(HighlightRegionType.STATIC_SETTER_REFERENCE, 'aaa = 2'); |
1027 assertHasRegion(HighlightRegionType.STATIC_GETTER_REFERENCE, 'bbb;'); | 952 assertHasRegion(HighlightRegionType.STATIC_GETTER_REFERENCE, 'bbb;'); |
1028 assertHasRegion(HighlightRegionType.STATIC_SETTER_REFERENCE, 'ccc = 3'); | 953 assertHasRegion(HighlightRegionType.STATIC_SETTER_REFERENCE, 'ccc = 3'); |
1029 }); | |
1030 } | 954 } |
1031 | 955 |
1032 test_TOP_LEVEL_FUNCTION() { | 956 test_TOP_LEVEL_FUNCTION() async { |
1033 addTestFile(''' | 957 addTestFile(''' |
1034 fff(p) {} | 958 fff(p) {} |
1035 main() { | 959 main() { |
1036 fff(42); | 960 fff(42); |
1037 } | 961 } |
1038 '''); | 962 '''); |
1039 return prepareHighlights().then((_) { | 963 await prepareHighlights(); |
1040 assertHasRegion( | 964 assertHasRegion( |
1041 HighlightRegionType.TOP_LEVEL_FUNCTION_DECLARATION, 'fff(p) {}'); | 965 HighlightRegionType.TOP_LEVEL_FUNCTION_DECLARATION, 'fff(p) {}'); |
1042 assertHasRegion( | 966 assertHasRegion( |
1043 HighlightRegionType.TOP_LEVEL_FUNCTION_REFERENCE, 'fff(42)'); | 967 HighlightRegionType.TOP_LEVEL_FUNCTION_REFERENCE, 'fff(42)'); |
1044 }); | |
1045 } | 968 } |
1046 | 969 |
1047 test_TOP_LEVEL_VARIABLE() { | 970 test_TOP_LEVEL_VARIABLE() async { |
1048 addTestFile(''' | 971 addTestFile(''' |
1049 const V1 = 1; | 972 const V1 = 1; |
1050 var V2 = 2; | 973 var V2 = 2; |
1051 @V1 // annotation | 974 @V1 // annotation |
1052 main() { | 975 main() { |
1053 print(V1); | 976 print(V1); |
1054 V2 = 3; | 977 V2 = 3; |
1055 } | 978 } |
1056 '''); | 979 '''); |
1057 return prepareHighlights().then((_) { | 980 await prepareHighlights(); |
1058 assertHasRegion( | 981 assertHasRegion( |
1059 HighlightRegionType.TOP_LEVEL_VARIABLE_DECLARATION, 'V1 = 1'); | 982 HighlightRegionType.TOP_LEVEL_VARIABLE_DECLARATION, 'V1 = 1'); |
1060 assertHasRegion( | 983 assertHasRegion( |
1061 HighlightRegionType.TOP_LEVEL_VARIABLE_DECLARATION, 'V2 = 2'); | 984 HighlightRegionType.TOP_LEVEL_VARIABLE_DECLARATION, 'V2 = 2'); |
1062 assertHasRegion( | 985 assertHasRegion( |
1063 HighlightRegionType.TOP_LEVEL_GETTER_REFERENCE, 'V1 // annotation'); | 986 HighlightRegionType.TOP_LEVEL_GETTER_REFERENCE, 'V1 // annotation'); |
1064 assertHasRegion(HighlightRegionType.TOP_LEVEL_GETTER_REFERENCE, 'V1);'); | 987 assertHasRegion(HighlightRegionType.TOP_LEVEL_GETTER_REFERENCE, 'V1);'); |
1065 assertHasRegion(HighlightRegionType.TOP_LEVEL_SETTER_REFERENCE, 'V2 = 3'); | 988 assertHasRegion(HighlightRegionType.TOP_LEVEL_SETTER_REFERENCE, 'V2 = 3'); |
1066 }); | |
1067 } | 989 } |
1068 | 990 |
1069 test_TYPE_NAME_DYNAMIC() { | 991 test_TYPE_NAME_DYNAMIC() async { |
1070 addTestFile(''' | 992 addTestFile(''' |
1071 dynamic main() { | 993 dynamic main() { |
1072 dynamic = 42; | 994 dynamic = 42; |
1073 } | 995 } |
1074 '''); | 996 '''); |
1075 return prepareHighlights().then((_) { | 997 await prepareHighlights(); |
1076 assertHasRegion(HighlightRegionType.TYPE_NAME_DYNAMIC, 'dynamic main()'); | 998 assertHasRegion(HighlightRegionType.TYPE_NAME_DYNAMIC, 'dynamic main()'); |
1077 assertNoRegion(HighlightRegionType.IDENTIFIER_DEFAULT, 'dynamic main()'); | 999 assertNoRegion(HighlightRegionType.IDENTIFIER_DEFAULT, 'dynamic main()'); |
1078 assertNoRegion(HighlightRegionType.TYPE_NAME_DYNAMIC, 'dynamic = 42'); | 1000 assertNoRegion(HighlightRegionType.TYPE_NAME_DYNAMIC, 'dynamic = 42'); |
1079 }); | |
1080 } | 1001 } |
1081 | 1002 |
1082 test_TYPE_PARAMETER() { | 1003 test_TYPE_PARAMETER() async { |
1083 addTestFile(''' | 1004 addTestFile(''' |
1084 class A<T> { | 1005 class A<T> { |
1085 T fff; | 1006 T fff; |
1086 T mmm(T p) => null; | 1007 T mmm(T p) => null; |
1087 } | 1008 } |
1088 '''); | 1009 '''); |
1089 return prepareHighlights().then((_) { | 1010 await prepareHighlights(); |
1090 assertHasRegion(HighlightRegionType.TYPE_PARAMETER, 'T> {'); | 1011 assertHasRegion(HighlightRegionType.TYPE_PARAMETER, 'T> {'); |
1091 assertHasRegion(HighlightRegionType.TYPE_PARAMETER, 'T fff;'); | 1012 assertHasRegion(HighlightRegionType.TYPE_PARAMETER, 'T fff;'); |
1092 assertHasRegion(HighlightRegionType.TYPE_PARAMETER, 'T mmm('); | 1013 assertHasRegion(HighlightRegionType.TYPE_PARAMETER, 'T mmm('); |
1093 assertHasRegion(HighlightRegionType.TYPE_PARAMETER, 'T p)'); | 1014 assertHasRegion(HighlightRegionType.TYPE_PARAMETER, 'T p)'); |
1094 }); | |
1095 } | 1015 } |
1096 | 1016 |
1097 test_UNRESOLVED_INSTANCE_MEMBER_REFERENCE_dynamicVarTarget() { | 1017 test_UNRESOLVED_INSTANCE_MEMBER_REFERENCE_dynamicVarTarget() async { |
1098 addTestFile(''' | 1018 addTestFile(''' |
1099 main(p) { | 1019 main(p) { |
1100 p.aaa; | 1020 p.aaa; |
1101 p.aaa++; | 1021 p.aaa++; |
1102 p.aaa += 0; | 1022 p.aaa += 0; |
1103 ++p.aaa; // ++ | 1023 ++p.aaa; // ++ |
1104 p.aaa = 0; | 1024 p.aaa = 0; |
1105 p.bbb(0); | 1025 p.bbb(0); |
1106 ''.length.ccc().ddd(); | 1026 ''.length.ccc().ddd(); |
1107 } | 1027 } |
1108 '''); | 1028 '''); |
1109 return prepareHighlights().then((_) { | 1029 await prepareHighlights(); |
1110 HighlightRegionType type = | 1030 HighlightRegionType type = |
1111 HighlightRegionType.UNRESOLVED_INSTANCE_MEMBER_REFERENCE; | 1031 HighlightRegionType.UNRESOLVED_INSTANCE_MEMBER_REFERENCE; |
1112 assertHasRegion(type, 'aaa'); | 1032 assertHasRegion(type, 'aaa'); |
1113 assertHasRegion(type, 'aaa++'); | 1033 assertHasRegion(type, 'aaa++'); |
1114 assertHasRegion(type, 'aaa += 0'); | 1034 assertHasRegion(type, 'aaa += 0'); |
1115 assertHasRegion(type, 'aaa; // ++'); | 1035 assertHasRegion(type, 'aaa; // ++'); |
1116 assertHasRegion(type, 'aaa ='); | 1036 assertHasRegion(type, 'aaa ='); |
1117 assertHasRegion(type, 'bbb('); | 1037 assertHasRegion(type, 'bbb('); |
1118 assertHasRegion(type, 'ddd()'); | 1038 assertHasRegion(type, 'ddd()'); |
1119 }); | |
1120 } | 1039 } |
1121 | 1040 |
1122 test_UNRESOLVED_INSTANCE_MEMBER_REFERENCE_nonDynamicTarget() { | 1041 test_UNRESOLVED_INSTANCE_MEMBER_REFERENCE_nonDynamicTarget() async { |
1123 addTestFile(''' | 1042 addTestFile(''' |
1124 import 'dart:math' as math; | 1043 import 'dart:math' as math; |
1125 main(String str) { | 1044 main(String str) { |
1126 new Object().aaa(); | 1045 new Object().aaa(); |
1127 math.bbb(); | 1046 math.bbb(); |
1128 str.ccc(); | 1047 str.ccc(); |
1129 } | 1048 } |
1130 class A { | 1049 class A { |
1131 m() { | 1050 m() { |
1132 unresolved(1); | 1051 unresolved(1); |
1133 this.unresolved(2); | 1052 this.unresolved(2); |
1134 super.unresolved(3); | 1053 super.unresolved(3); |
1135 } | 1054 } |
1136 } | 1055 } |
1137 '''); | 1056 '''); |
1138 return prepareHighlights().then((_) { | 1057 await prepareHighlights(); |
1139 HighlightRegionType type = HighlightRegionType.IDENTIFIER_DEFAULT; | 1058 HighlightRegionType type = HighlightRegionType.IDENTIFIER_DEFAULT; |
1140 assertHasRegion(type, 'aaa()'); | 1059 assertHasRegion(type, 'aaa()'); |
1141 assertHasRegion(type, 'bbb()'); | 1060 assertHasRegion(type, 'bbb()'); |
1142 assertHasRegion(type, 'ccc()'); | 1061 assertHasRegion(type, 'ccc()'); |
1143 assertHasRegion(type, 'unresolved(1)'); | 1062 assertHasRegion(type, 'unresolved(1)'); |
1144 assertHasRegion(type, 'unresolved(2)'); | 1063 assertHasRegion(type, 'unresolved(2)'); |
1145 assertHasRegion(type, 'unresolved(3)'); | 1064 assertHasRegion(type, 'unresolved(3)'); |
1146 }); | |
1147 } | 1065 } |
1148 | 1066 |
1149 void _addLibraryForTestPart() { | 1067 void _addLibraryForTestPart() { |
1150 addFile( | 1068 addFile( |
1151 '$testFolder/my_lib.dart', | 1069 '$testFolder/my_lib.dart', |
1152 ''' | 1070 ''' |
1153 library lib; | 1071 library lib; |
1154 part 'test.dart'; | 1072 part 'test.dart'; |
1155 '''); | 1073 '''); |
1156 } | 1074 } |
1157 } | 1075 } |
1158 | 1076 |
1159 @reflectiveTest | 1077 @reflectiveTest |
1160 class HighlightTypeTest { | 1078 class HighlightTypeTest { |
1161 void test_constructor() { | 1079 void test_constructor() { |
1162 expect(HighlightRegionType.CLASS, | 1080 expect(HighlightRegionType.CLASS, |
1163 new HighlightRegionType(HighlightRegionType.CLASS.name)); | 1081 new HighlightRegionType(HighlightRegionType.CLASS.name)); |
1164 } | 1082 } |
1165 | 1083 |
1166 void test_toString() { | 1084 void test_toString() { |
1167 expect(HighlightRegionType.CLASS.toString(), 'HighlightRegionType.CLASS'); | 1085 expect(HighlightRegionType.CLASS.toString(), 'HighlightRegionType.CLASS'); |
1168 } | 1086 } |
1169 | 1087 |
1170 void test_valueOf_unknown() { | 1088 void test_valueOf_unknown() { |
1171 expect(() { | 1089 expect(() { |
1172 new HighlightRegionType('no-such-type'); | 1090 new HighlightRegionType('no-such-type'); |
1173 }, throws); | 1091 }, throws); |
1174 } | 1092 } |
1175 } | 1093 } |
OLD | NEW |