| 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.navigation; | 5 library test.analysis.notification.navigation; |
| 6 | 6 |
| 7 import 'dart:async'; | 7 import 'dart:async'; |
| 8 | 8 |
| 9 import 'package:analysis_server/src/constants.dart'; | 9 import 'package:analysis_server/src/constants.dart'; |
| 10 import 'package:analysis_server/src/protocol.dart'; | 10 import 'package:analysis_server/src/protocol.dart'; |
| (...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 208 class AAA {} | 208 class AAA {} |
| 209 AAA aaa; | 209 AAA aaa; |
| 210 '''); | 210 '''); |
| 211 return waitForTasksFinished().then((_) { | 211 return waitForTasksFinished().then((_) { |
| 212 return prepareNavigation().then((_) { | 212 return prepareNavigation().then((_) { |
| 213 assertHasRegionTarget('AAA aaa;', 'AAA {}'); | 213 assertHasRegionTarget('AAA aaa;', 'AAA {}'); |
| 214 }); | 214 }); |
| 215 }); | 215 }); |
| 216 } | 216 } |
| 217 | 217 |
| 218 test_annotationConstructor_implicit() async { |
| 219 addTestFile(''' |
| 220 class A { |
| 221 } |
| 222 @A() |
| 223 main() { |
| 224 } |
| 225 '''); |
| 226 await prepareNavigation(); |
| 227 assertHasRegionString('A()', 'A'.length); |
| 228 assertHasTarget('A {'); |
| 229 } |
| 230 |
| 231 test_annotationConstructor_importPrefix() async { |
| 232 addFile( |
| 233 '$testFolder/my_annotation.dart', |
| 234 r''' |
| 235 library an; |
| 236 class MyAnnotation { |
| 237 const MyAnnotation(); |
| 238 const MyAnnotation.named(); |
| 239 } |
| 240 '''); |
| 241 addTestFile(''' |
| 242 import 'my_annotation.dart' as man; |
| 243 @man.MyAnnotation() |
| 244 @man.MyAnnotation.named() |
| 245 main() { |
| 246 } |
| 247 '''); |
| 248 await prepareNavigation(); |
| 249 assertHasRegion('MyAnnotation()'); |
| 250 assertHasRegion('MyAnnotation.named()'); |
| 251 assertHasRegion('named()'); |
| 252 { |
| 253 assertHasRegion('man.MyAnnotation()'); |
| 254 assertHasTarget('man;'); |
| 255 } |
| 256 { |
| 257 assertHasRegion('man.MyAnnotation.named()'); |
| 258 assertHasTarget('man;'); |
| 259 } |
| 260 } |
| 261 |
| 262 test_annotationConstructor_named() async { |
| 263 addTestFile(''' |
| 264 class A { |
| 265 const A.named(p); |
| 266 } |
| 267 @A.named(0) |
| 268 main() { |
| 269 } |
| 270 '''); |
| 271 await prepareNavigation(); |
| 272 { |
| 273 assertHasRegion('A.named(0)'); |
| 274 assertHasTarget('named(p);'); |
| 275 } |
| 276 { |
| 277 assertHasRegion('named(0)'); |
| 278 assertHasTarget('named(p);'); |
| 279 } |
| 280 } |
| 281 |
| 282 test_annotationConstructor_unnamed() async { |
| 283 addTestFile(''' |
| 284 class A { |
| 285 const A(); |
| 286 } |
| 287 @A() |
| 288 main() { |
| 289 } |
| 290 '''); |
| 291 await prepareNavigation(); |
| 292 assertHasRegionString('A()', 'A'.length); |
| 293 assertHasTarget('A();', 0); |
| 294 } |
| 295 |
| 296 test_annotationField() async { |
| 297 addTestFile(''' |
| 298 const myan = new Object(); |
| 299 @myan // ref |
| 300 main() { |
| 301 } |
| 302 '''); |
| 303 await prepareNavigation(); |
| 304 assertHasRegion('myan // ref'); |
| 305 assertHasTarget('myan = new Object();'); |
| 306 } |
| 307 |
| 308 test_annotationField_importPrefix() async { |
| 309 addFile( |
| 310 '$testFolder/mayn.dart', |
| 311 r''' |
| 312 library an; |
| 313 const myan = new Object(); |
| 314 '''); |
| 315 addTestFile(''' |
| 316 import 'mayn.dart' as man; |
| 317 @man.myan // ref |
| 318 main() { |
| 319 } |
| 320 '''); |
| 321 await prepareNavigation(); |
| 322 assertHasRegion('myan // ref'); |
| 323 } |
| 324 |
| 218 test_class_fromSDK() { | 325 test_class_fromSDK() { |
| 219 addTestFile(''' | 326 addTestFile(''' |
| 220 int V = 42; | 327 int V = 42; |
| 221 '''); | 328 '''); |
| 222 return prepareNavigation().then((_) { | 329 return prepareNavigation().then((_) { |
| 223 assertHasRegion('int V'); | 330 assertHasRegion('int V'); |
| 224 int targetIndex = testTargetIndexes[0]; | 331 int targetIndex = testTargetIndexes[0]; |
| 225 NavigationTarget target = targets[targetIndex]; | 332 NavigationTarget target = targets[targetIndex]; |
| 226 expect(target.startLine, greaterThan(0)); | 333 expect(target.startLine, greaterThan(0)); |
| 227 expect(target.startColumn, greaterThan(0)); | 334 expect(target.startColumn, greaterThan(0)); |
| (...skipping 589 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 817 test_type_void() { | 924 test_type_void() { |
| 818 addTestFile(''' | 925 addTestFile(''' |
| 819 void main() { | 926 void main() { |
| 820 } | 927 } |
| 821 '''); | 928 '''); |
| 822 return prepareNavigation().then((_) { | 929 return prepareNavigation().then((_) { |
| 823 assertNoRegionAt('void'); | 930 assertNoRegionAt('void'); |
| 824 }); | 931 }); |
| 825 } | 932 } |
| 826 } | 933 } |
| OLD | NEW |