| 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 277 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 288 test_factoryRedirectingConstructor_named() { | 288 test_factoryRedirectingConstructor_named() { |
| 289 addTestFile(''' | 289 addTestFile(''' |
| 290 class A { | 290 class A { |
| 291 factory A() = B.named; | 291 factory A() = B.named; |
| 292 } | 292 } |
| 293 class B { | 293 class B { |
| 294 B.named(); | 294 B.named(); |
| 295 } | 295 } |
| 296 '''); | 296 '''); |
| 297 return prepareNavigation().then((_) { | 297 return prepareNavigation().then((_) { |
| 298 assertHasRegionString('B.named'); | 298 { |
| 299 assertHasTarget('named();'); | 299 assertHasRegionString('B.named;', 'B'.length); |
| 300 assertHasTarget('named();'); |
| 301 } |
| 302 { |
| 303 assertHasRegionString('named;', 'named'.length); |
| 304 assertHasTarget('named();'); |
| 305 } |
| 300 }); | 306 }); |
| 301 } | 307 } |
| 302 | 308 |
| 303 test_factoryRedirectingConstructor_named_withTypeArgument() { | 309 test_factoryRedirectingConstructor_named_withTypeArgument() { |
| 304 addTestFile(''' | 310 addTestFile(''' |
| 305 class A {} | 311 class A {} |
| 306 class B { | 312 class B { |
| 307 factory B.named() = C<A>.named; | 313 factory B.named() = C<A>.named; |
| 308 } | 314 } |
| 309 class C<T> { | 315 class C<T> { |
| 310 C.named() {} | 316 C.named() {} |
| 311 } | 317 } |
| 312 '''); | 318 '''); |
| 313 return prepareNavigation().then((_) { | 319 return prepareNavigation().then((_) { |
| 314 { | 320 { |
| 315 assertHasRegion('C<A>'); | 321 assertHasRegion('C<A>'); |
| 316 assertHasTarget('named() {}'); | 322 assertHasTarget('named() {}'); |
| 317 } | 323 } |
| 318 { | 324 { |
| 319 assertHasRegion('A>.named'); | 325 assertHasRegion('A>.named'); |
| 320 assertHasTarget('A {'); | 326 assertHasTarget('A {'); |
| 321 } | 327 } |
| 322 { | 328 { |
| 323 assertHasRegion('.named;', '.named'.length); | 329 assertHasRegion('named;', 'named'.length); |
| 324 assertHasTarget('named() {}'); | 330 assertHasTarget('named() {}'); |
| 325 } | 331 } |
| 326 }); | 332 }); |
| 327 } | 333 } |
| 328 | 334 |
| 329 test_factoryRedirectingConstructor_unnamed() { | 335 test_factoryRedirectingConstructor_unnamed() { |
| 330 addTestFile(''' | 336 addTestFile(''' |
| 331 class A { | 337 class A { |
| 332 factory A() = B; | 338 factory A() = B; |
| 333 } | 339 } |
| (...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 438 | 444 |
| 439 test_instanceCreation_implicit() { | 445 test_instanceCreation_implicit() { |
| 440 addTestFile(''' | 446 addTestFile(''' |
| 441 class A { | 447 class A { |
| 442 } | 448 } |
| 443 main() { | 449 main() { |
| 444 new A(); | 450 new A(); |
| 445 } | 451 } |
| 446 '''); | 452 '''); |
| 447 return prepareNavigation().then((_) { | 453 return prepareNavigation().then((_) { |
| 448 assertHasRegionString('new A'); | 454 assertHasRegionString('A()', 'A'.length); |
| 449 assertHasTarget('A {'); | 455 assertHasTarget('A {'); |
| 450 }); | 456 }); |
| 451 } | 457 } |
| 452 | 458 |
| 453 test_instanceCreation_implicit_withTypeArgument() { | 459 test_instanceCreation_implicit_withTypeArgument() { |
| 454 addTestFile(''' | 460 addTestFile(''' |
| 455 class A {} | 461 class A {} |
| 456 class B<T> {} | 462 class B<T> {} |
| 457 main() { | 463 main() { |
| 458 new B<A>(); | 464 new B<A>(); |
| 459 } | 465 } |
| 460 '''); | 466 '''); |
| 461 return prepareNavigation().then((_) { | 467 return prepareNavigation().then((_) { |
| 462 { | 468 { |
| 463 assertHasRegion('new B<A>', 'new B'.length); | 469 assertHasRegion('B<A>', 'B'.length); |
| 464 assertHasTarget('B<T> {'); | 470 assertHasTarget('B<T> {'); |
| 465 } | 471 } |
| 466 { | 472 { |
| 467 assertHasRegion('A>();', 'A'.length); | 473 assertHasRegion('A>();', 'A'.length); |
| 468 assertHasTarget('A {'); | 474 assertHasTarget('A {'); |
| 469 } | 475 } |
| 470 }); | 476 }); |
| 471 } | 477 } |
| 472 | 478 |
| 473 test_instanceCreation_named() { | 479 test_instanceCreation_named() { |
| 474 addTestFile(''' | 480 addTestFile(''' |
| 475 class A { | 481 class A { |
| 476 A.named() {} | 482 A.named() {} |
| 477 } | 483 } |
| 478 main() { | 484 main() { |
| 479 new A.named(); | 485 new A.named(); |
| 480 } | 486 } |
| 481 '''); | 487 '''); |
| 482 return prepareNavigation().then((_) { | 488 return prepareNavigation().then((_) { |
| 483 assertHasRegionString('new A.named'); | 489 { |
| 484 assertHasTarget('named() {}'); | 490 assertHasRegionString('A.named();', 'A'.length); |
| 491 assertHasTarget('named() {}'); |
| 492 } |
| 493 { |
| 494 assertHasRegionString('named();', 'named'.length); |
| 495 assertHasTarget('named() {}'); |
| 496 } |
| 485 }); | 497 }); |
| 486 } | 498 } |
| 487 | 499 |
| 488 test_instanceCreation_named_withTypeArgument() { | 500 test_instanceCreation_named_withTypeArgument() { |
| 489 addTestFile(''' | 501 addTestFile(''' |
| 490 class A {} | 502 class A {} |
| 491 class B<T> { | 503 class B<T> { |
| 492 B.named() {} | 504 B.named() {} |
| 493 } | 505 } |
| 494 main() { | 506 main() { |
| 495 new B<A>.named(); | 507 new B<A>.named(); |
| 496 } | 508 } |
| 497 '''); | 509 '''); |
| 498 return prepareNavigation().then((_) { | 510 return prepareNavigation().then((_) { |
| 499 { | 511 { |
| 500 assertHasRegionString('new B'); | 512 assertHasRegionString('B<A>', 'B'.length); |
| 501 assertHasTarget('named() {}'); | 513 assertHasTarget('named() {}'); |
| 502 } | 514 } |
| 503 { | 515 { |
| 504 assertHasRegion('A>.named'); | 516 assertHasRegion('A>.named'); |
| 505 assertHasTarget('A {'); | 517 assertHasTarget('A {'); |
| 506 } | 518 } |
| 507 { | 519 { |
| 508 assertHasRegion('.named();', '.named'.length); | 520 assertHasRegion('named();', 'named'.length); |
| 509 assertHasTarget('named() {}'); | 521 assertHasTarget('named() {}'); |
| 510 } | 522 } |
| 511 }); | 523 }); |
| 512 } | 524 } |
| 513 | 525 |
| 514 test_instanceCreation_unnamed() { | 526 test_instanceCreation_unnamed() { |
| 515 addTestFile(''' | 527 addTestFile(''' |
| 516 class A { | 528 class A { |
| 517 A() {} | 529 A() {} |
| 518 } | 530 } |
| 519 main() { | 531 main() { |
| 520 new A(); | 532 new A(); |
| 521 } | 533 } |
| 522 '''); | 534 '''); |
| 523 return prepareNavigation().then((_) { | 535 return prepareNavigation().then((_) { |
| 524 assertHasRegionString('new A'); | 536 assertHasRegionString('A();', 'A'.length); |
| 525 assertHasTarget('A() {}', 0); | 537 assertHasTarget('A() {}', 0); |
| 526 }); | 538 }); |
| 527 } | 539 } |
| 528 | 540 |
| 529 test_instanceCreation_unnamed_withTypeArgument() { | 541 test_instanceCreation_unnamed_withTypeArgument() { |
| 530 addTestFile(''' | 542 addTestFile(''' |
| 531 class A {} | 543 class A {} |
| 532 class B<T> { | 544 class B<T> { |
| 533 B() {} | 545 B() {} |
| 534 } | 546 } |
| 535 main() { | 547 main() { |
| 536 new B<A>(); | 548 new B<A>(); |
| 537 } | 549 } |
| 538 '''); | 550 '''); |
| 539 return prepareNavigation().then((_) { | 551 return prepareNavigation().then((_) { |
| 540 { | 552 { |
| 541 assertHasRegionString('new B'); | 553 assertHasRegionString('B<A>();', 'B'.length); |
| 542 assertHasTarget('B() {}', 0); | 554 assertHasTarget('B() {}', 0); |
| 543 } | 555 } |
| 544 { | 556 { |
| 545 assertHasRegion('A>();'); | 557 assertHasRegion('A>();'); |
| 546 assertHasTarget('A {'); | 558 assertHasTarget('A {'); |
| 547 } | 559 } |
| 548 }); | 560 }); |
| 549 } | 561 } |
| 550 | 562 |
| 551 test_multiplyDefinedElement() { | 563 test_multiplyDefinedElement() { |
| (...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 766 test_type_void() { | 778 test_type_void() { |
| 767 addTestFile(''' | 779 addTestFile(''' |
| 768 void main() { | 780 void main() { |
| 769 } | 781 } |
| 770 '''); | 782 '''); |
| 771 return prepareNavigation().then((_) { | 783 return prepareNavigation().then((_) { |
| 772 assertNoRegionAt('void'); | 784 assertNoRegionAt('void'); |
| 773 }); | 785 }); |
| 774 } | 786 } |
| 775 } | 787 } |
| OLD | NEW |