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:unittest/unittest.dart'; | 11 import 'package:unittest/unittest.dart'; |
11 | 12 |
12 import '../reflective_tests.dart'; | 13 import '../reflective_tests.dart'; |
13 import 'abstract_search_domain.dart'; | 14 import 'abstract_search_domain.dart'; |
14 | 15 |
15 | 16 |
16 main() { | 17 main() { |
17 groupSep = ' | '; | 18 groupSep = ' | '; |
18 runReflectiveTests(ElementReferencesTest); | 19 runReflectiveTests(ElementReferencesTest); |
| 20 runReflectiveTests(_NoSearchEngine); |
19 } | 21 } |
20 | 22 |
21 | 23 |
22 @reflectiveTest | 24 @reflectiveTest |
23 class ElementReferencesTest extends AbstractSearchDomainTest { | 25 class ElementReferencesTest extends AbstractSearchDomainTest { |
24 Element searchElement; | 26 Element searchElement; |
25 | 27 |
26 void assertHasRef(SearchResultKind kind, String search, bool isPotential) { | 28 void assertHasRef(SearchResultKind kind, String search, bool isPotential) { |
27 assertHasResult(kind, search); | 29 assertHasResult(kind, search); |
28 expect(result.isPotential, isPotential); | 30 expect(result.isPotential, isPotential); |
(...skipping 668 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
697 T m() => null; | 699 T m() => null; |
698 } | 700 } |
699 '''); | 701 '''); |
700 await findElementReferences('T> {', false); | 702 await findElementReferences('T> {', false); |
701 expect(searchElement.kind, ElementKind.TYPE_PARAMETER); | 703 expect(searchElement.kind, ElementKind.TYPE_PARAMETER); |
702 expect(results, hasLength(2)); | 704 expect(results, hasLength(2)); |
703 assertHasResult(SearchResultKind.REFERENCE, 'T f;'); | 705 assertHasResult(SearchResultKind.REFERENCE, 'T f;'); |
704 assertHasResult(SearchResultKind.REFERENCE, 'T m()'); | 706 assertHasResult(SearchResultKind.REFERENCE, 'T m()'); |
705 } | 707 } |
706 } | 708 } |
| 709 |
| 710 |
| 711 @reflectiveTest |
| 712 class _NoSearchEngine extends AbstractSearchDomainTest { |
| 713 @override |
| 714 Index createIndex() { |
| 715 return null; |
| 716 } |
| 717 |
| 718 test_requestError_noSearchEngine() async { |
| 719 addTestFile(''' |
| 720 main() { |
| 721 var vvv = 1; |
| 722 print(vvv); |
| 723 } |
| 724 '''); |
| 725 Request request = |
| 726 new SearchFindElementReferencesParams(testFile, 0, false).toRequest('0')
; |
| 727 Response response = await waitResponse(request); |
| 728 expect(response.error, isNotNull); |
| 729 expect(response.error.code, RequestErrorCode.NO_INDEX_GENERATED); |
| 730 } |
| 731 } |
OLD | NEW |