Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(409)

Side by Side Diff: pkg/analysis_server/test/services/search/search_engine2_test.dart

Issue 1770953002: Implement searchMemberDeclarations() / searchTopLevelDeclarations(). (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « pkg/analysis_server/test/services/index2/index2_test.dart ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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.services.src.search.search_engine2; 5 library test.services.src.search.search_engine2;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 8
9 import 'package:analysis_server/src/services/index2/index2.dart'; 9 import 'package:analysis_server/src/services/index2/index2.dart';
10 import 'package:analysis_server/src/services/search/search_engine.dart'; 10 import 'package:analysis_server/src/services/search/search_engine.dart';
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
86 // ClassElement elementC = findElement('C'); 86 // ClassElement elementC = findElement('C');
87 // var expected = [ 87 // var expected = [
88 // _expectId(elementA, MatchKind.DECLARATION, 'A extends T'), 88 // _expectId(elementA, MatchKind.DECLARATION, 'A extends T'),
89 // _expectId(elementB, MatchKind.DECLARATION, 'B extends A'), 89 // _expectId(elementB, MatchKind.DECLARATION, 'B extends A'),
90 // _expectId(elementC, MatchKind.DECLARATION, 'C implements B') 90 // _expectId(elementC, MatchKind.DECLARATION, 'C implements B')
91 // ]; 91 // ];
92 // return searchEngine.searchAllSubtypes(element).then((matches) { 92 // return searchEngine.searchAllSubtypes(element).then((matches) {
93 // _assertMatches(matches, expected); 93 // _assertMatches(matches, expected);
94 // }); 94 // });
95 // } 95 // }
96 // 96
97 // Future test_searchMemberDeclarations() { 97 test_searchMemberDeclarations() async {
98 // _indexTestUnit(''' 98 _indexTestUnit('''
99 //class A { 99 class A {
100 // test() {} 100 test() {}
101 //} 101 }
102 //class B { 102 class B {
103 // int test = 1; 103 int test = 1;
104 // main() { 104 main() {
105 // int test = 2; 105 int test = 2;
106 // } 106 }
107 //} 107 }
108 //'''); 108 ''');
109 // ClassElement elementA = findElement('A'); 109 ClassElement elementA = findElement('A');
110 // ClassElement elementB = findElement('B'); 110 ClassElement elementB = findElement('B');
111 // var expected = [ 111 var expected = [
112 // _expectId(elementA.methods[0], MatchKind.DECLARATION, 'test() {}'), 112 _expectId(elementA.methods[0], MatchKind.DECLARATION, 'test() {}'),
113 // _expectId(elementB.fields[0], MatchKind.DECLARATION, 'test = 1;') 113 _expectId(elementB.fields[0], MatchKind.DECLARATION, 'test = 1;')
114 // ]; 114 ];
115 // return searchEngine.searchMemberDeclarations('test').then((matches) { 115 List<SearchMatch> matches =
116 // _assertMatches(matches, expected); 116 await searchEngine.searchMemberDeclarations('test');
117 // }); 117 _assertMatches(matches, expected);
118 // } 118 }
119 // 119
120 // Future test_searchMemberReferences() { 120 // Future test_searchMemberReferences() {
121 // _indexTestUnit(''' 121 // _indexTestUnit('''
122 //class A { 122 //class A {
123 // var test; // A 123 // var test; // A
124 // mainA() { 124 // mainA() {
125 // test(); // a-inv-r-nq 125 // test(); // a-inv-r-nq
126 // test = 1; // a-write-r-nq 126 // test = 1; // a-write-r-nq
127 // test += 2; // a-read-write-r-nq 127 // test += 2; // a-read-write-r-nq
128 // print(test); // a-read-r-nq 128 // print(test); // a-read-r-nq
129 // } 129 // }
(...skipping 523 matching lines...) Expand 10 before | Expand all | Expand 10 after
653 // ClassElement elementC = findElement('C'); 653 // ClassElement elementC = findElement('C');
654 // var expected = [ 654 // var expected = [
655 // _expectId(elementA, MatchKind.REFERENCE, 'T {} // A'), 655 // _expectId(elementA, MatchKind.REFERENCE, 'T {} // A'),
656 // _expectId(elementB, MatchKind.REFERENCE, 'T; // B'), 656 // _expectId(elementB, MatchKind.REFERENCE, 'T; // B'),
657 // _expectId(elementC, MatchKind.REFERENCE, 'T {} // C') 657 // _expectId(elementC, MatchKind.REFERENCE, 'T {} // C')
658 // ]; 658 // ];
659 // return searchEngine.searchSubtypes(element).then((matches) { 659 // return searchEngine.searchSubtypes(element).then((matches) {
660 // _assertMatches(matches, expected); 660 // _assertMatches(matches, expected);
661 // }); 661 // });
662 // } 662 // }
663 // 663
664 // Future test_searchTopLevelDeclarations() { 664 test_searchTopLevelDeclarations() async {
665 // _indexTestUnit(''' 665 _indexTestUnit('''
666 //class A {} // A 666 class A {} // A
667 //class B = Object with A; 667 class B = Object with A;
668 //typedef C(); 668 typedef C();
669 //D() {} 669 D() {}
670 //var E = null; 670 var E = null;
671 //class NoMatchABCDE {} 671 class NoMatchABCDE {}
672 //'''); 672 ''');
673 // Element topA = findElement('A'); 673 Element topA = findElement('A');
674 // Element topB = findElement('B'); 674 Element topB = findElement('B');
675 // Element topC = findElement('C'); 675 Element topC = findElement('C');
676 // Element topD = findElement('D'); 676 Element topD = findElement('D');
677 // Element topE = findElement('E'); 677 Element topE = findElement('E');
678 // var expected = [ 678 var expected = [
679 // _expectId(topA, MatchKind.DECLARATION, 'A {} // A'), 679 _expectId(topA, MatchKind.DECLARATION, 'A {} // A'),
680 // _expectId(topB, MatchKind.DECLARATION, 'B ='), 680 _expectId(topB, MatchKind.DECLARATION, 'B ='),
681 // _expectId(topC, MatchKind.DECLARATION, 'C()'), 681 _expectId(topC, MatchKind.DECLARATION, 'C()'),
682 // _expectId(topD, MatchKind.DECLARATION, 'D() {}'), 682 _expectId(topD, MatchKind.DECLARATION, 'D() {}'),
683 // _expectId(topE, MatchKind.DECLARATION, 'E = null') 683 _expectId(topE, MatchKind.DECLARATION, 'E = null')
684 // ]; 684 ];
685 // return _verifyTopLevelDeclarations('^[A-E]\$', expected); 685 List<SearchMatch> matches =
686 // } 686 await searchEngine.searchTopLevelDeclarations(r'^[A-E]$');
687 _assertMatches(matches, expected);
688 }
687 689
688 ExpectedMatch _expectId(Element element, MatchKind kind, String search, 690 ExpectedMatch _expectId(Element element, MatchKind kind, String search,
689 {int length, bool isResolved: true, bool isQualified: false}) { 691 {int length, bool isResolved: true, bool isQualified: false}) {
690 int offset = findOffset(search); 692 int offset = findOffset(search);
691 if (length == null) { 693 if (length == null) {
692 length = getLeadingIdentifierLength(search); 694 length = getLeadingIdentifierLength(search);
693 } 695 }
694 return new ExpectedMatch(element, kind, offset, length, 696 return new ExpectedMatch(element, kind, offset, length,
695 isResolved: isResolved, isQualified: isQualified); 697 isResolved: isResolved, isQualified: isQualified);
696 } 698 }
(...skipping 12 matching lines...) Expand all
709 resolveTestUnit(code); 711 resolveTestUnit(code);
710 index.indexUnit(testUnit); 712 index.indexUnit(testUnit);
711 } 713 }
712 714
713 Future _verifyReferences( 715 Future _verifyReferences(
714 Element element, List<ExpectedMatch> expectedMatches) async { 716 Element element, List<ExpectedMatch> expectedMatches) async {
715 List<SearchMatch> matches = await searchEngine.searchReferences(element); 717 List<SearchMatch> matches = await searchEngine.searchReferences(element);
716 _assertMatches(matches, expectedMatches); 718 _assertMatches(matches, expectedMatches);
717 } 719 }
718 720
719 // Future _verifyTopLevelDeclarations(
720 // String pattern, List<ExpectedMatch> expectedMatches) {
721 // return searchEngine
722 // .searchTopLevelDeclarations(pattern)
723 // .then((List<SearchMatch> matches) {
724 // _assertMatches(matches, expectedMatches);
725 // });
726 // }
727
728 static void _assertMatches( 721 static void _assertMatches(
729 List<SearchMatch> matches, List<ExpectedMatch> expectedMatches) { 722 List<SearchMatch> matches, List<ExpectedMatch> expectedMatches) {
730 expect(matches, unorderedEquals(expectedMatches)); 723 expect(matches, unorderedEquals(expectedMatches));
731 } 724 }
732 } 725 }
OLDNEW
« no previous file with comments | « pkg/analysis_server/test/services/index2/index2_test.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698