| 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.search.element_references; | 5 library test.search.element_references; |
| 6 | 6 |
| 7 import 'dart:async'; | 7 import 'dart:async'; |
| 8 | 8 |
| 9 import 'package:analysis_server/src/protocol.dart'; | 9 import 'package:analysis_server/src/protocol.dart'; |
| 10 import 'package:analysis_server/src/services/index/index.dart'; | 10 import 'package:analysis_server/src/services/index/index.dart'; |
| 11 import 'package:test_reflective_loader/test_reflective_loader.dart'; | 11 import 'package:test_reflective_loader/test_reflective_loader.dart'; |
| 12 import 'package:unittest/unittest.dart'; | 12 import 'package:unittest/unittest.dart'; |
| 13 | 13 |
| 14 import '../utils.dart'; |
| 14 import 'abstract_search_domain.dart'; | 15 import 'abstract_search_domain.dart'; |
| 15 | 16 |
| 16 main() { | 17 main() { |
| 17 groupSep = ' | '; | 18 initializeTestEnvironment(); |
| 18 defineReflectiveTests(ElementReferencesTest); | 19 defineReflectiveTests(ElementReferencesTest); |
| 19 defineReflectiveTests(_NoSearchEngine); | 20 defineReflectiveTests(_NoSearchEngine); |
| 20 } | 21 } |
| 21 | 22 |
| 22 @reflectiveTest | 23 @reflectiveTest |
| 23 class ElementReferencesTest extends AbstractSearchDomainTest { | 24 class ElementReferencesTest extends AbstractSearchDomainTest { |
| 24 Element searchElement; | 25 Element searchElement; |
| 25 | 26 |
| 26 void assertHasRef(SearchResultKind kind, String search, bool isPotential) { | 27 void assertHasRef(SearchResultKind kind, String search, bool isPotential) { |
| 27 assertHasResult(kind, search); | 28 assertHasResult(kind, search); |
| (...skipping 418 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 446 library my_lib; | 447 library my_lib; |
| 447 class A {} | 448 class A {} |
| 448 class B { | 449 class B { |
| 449 B.named() { | 450 B.named() { |
| 450 A a = null; | 451 A a = null; |
| 451 } | 452 } |
| 452 } | 453 } |
| 453 '''); | 454 '''); |
| 454 await findElementReferences('A {}', false); | 455 await findElementReferences('A {}', false); |
| 455 assertHasResult(SearchResultKind.REFERENCE, 'A a = null;'); | 456 assertHasResult(SearchResultKind.REFERENCE, 'A a = null;'); |
| 456 expect(getPathString(result.path), ''' | 457 expect( |
| 458 getPathString(result.path), |
| 459 ''' |
| 457 LOCAL_VARIABLE a | 460 LOCAL_VARIABLE a |
| 458 CONSTRUCTOR named | 461 CONSTRUCTOR named |
| 459 CLASS B | 462 CLASS B |
| 460 COMPILATION_UNIT test.dart | 463 COMPILATION_UNIT test.dart |
| 461 LIBRARY my_lib'''); | 464 LIBRARY my_lib'''); |
| 462 } | 465 } |
| 463 | 466 |
| 464 test_path_inConstructor_unnamed() async { | 467 test_path_inConstructor_unnamed() async { |
| 465 addTestFile(''' | 468 addTestFile(''' |
| 466 library my_lib; | 469 library my_lib; |
| 467 class A {} | 470 class A {} |
| 468 class B { | 471 class B { |
| 469 B() { | 472 B() { |
| 470 A a = null; | 473 A a = null; |
| 471 } | 474 } |
| 472 } | 475 } |
| 473 '''); | 476 '''); |
| 474 await findElementReferences('A {}', false); | 477 await findElementReferences('A {}', false); |
| 475 assertHasResult(SearchResultKind.REFERENCE, 'A a = null;'); | 478 assertHasResult(SearchResultKind.REFERENCE, 'A a = null;'); |
| 476 expect(getPathString(result.path), ''' | 479 expect( |
| 480 getPathString(result.path), |
| 481 ''' |
| 477 LOCAL_VARIABLE a | 482 LOCAL_VARIABLE a |
| 478 CONSTRUCTOR | 483 CONSTRUCTOR |
| 479 CLASS B | 484 CLASS B |
| 480 COMPILATION_UNIT test.dart | 485 COMPILATION_UNIT test.dart |
| 481 LIBRARY my_lib'''); | 486 LIBRARY my_lib'''); |
| 482 } | 487 } |
| 483 | 488 |
| 484 test_path_inFunction() async { | 489 test_path_inFunction() async { |
| 485 addTestFile(''' | 490 addTestFile(''' |
| 486 library my_lib; | 491 library my_lib; |
| 487 class A {} | 492 class A {} |
| 488 main() { | 493 main() { |
| 489 A a = null; | 494 A a = null; |
| 490 } | 495 } |
| 491 '''); | 496 '''); |
| 492 await findElementReferences('A {}', false); | 497 await findElementReferences('A {}', false); |
| 493 assertHasResult(SearchResultKind.REFERENCE, 'A a = null;'); | 498 assertHasResult(SearchResultKind.REFERENCE, 'A a = null;'); |
| 494 expect(getPathString(result.path), ''' | 499 expect( |
| 500 getPathString(result.path), |
| 501 ''' |
| 495 LOCAL_VARIABLE a | 502 LOCAL_VARIABLE a |
| 496 FUNCTION main | 503 FUNCTION main |
| 497 COMPILATION_UNIT test.dart | 504 COMPILATION_UNIT test.dart |
| 498 LIBRARY my_lib'''); | 505 LIBRARY my_lib'''); |
| 499 } | 506 } |
| 500 | 507 |
| 501 test_potential_disabled() async { | 508 test_potential_disabled() async { |
| 502 addTestFile(''' | 509 addTestFile(''' |
| 503 class A { | 510 class A { |
| 504 test(p) {} | 511 test(p) {} |
| (...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 711 print(vvv); | 718 print(vvv); |
| 712 } | 719 } |
| 713 '''); | 720 '''); |
| 714 Request request = new SearchFindElementReferencesParams(testFile, 0, false) | 721 Request request = new SearchFindElementReferencesParams(testFile, 0, false) |
| 715 .toRequest('0'); | 722 .toRequest('0'); |
| 716 Response response = await waitResponse(request); | 723 Response response = await waitResponse(request); |
| 717 expect(response.error, isNotNull); | 724 expect(response.error, isNotNull); |
| 718 expect(response.error.code, RequestErrorCode.NO_INDEX_GENERATED); | 725 expect(response.error.code, RequestErrorCode.NO_INDEX_GENERATED); |
| 719 } | 726 } |
| 720 } | 727 } |
| OLD | NEW |