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

Side by Side Diff: pkg/analysis_server/test/search/element_references_test.dart

Issue 536563002: Test for 'search.findElementReferences' for the case when there is no element. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 3 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 | Annotate | Revision Log
« no previous file with comments | « pkg/analysis_server/lib/src/search/search_domain.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.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_testing/reflective_tests.dart'; 10 import 'package:analysis_testing/reflective_tests.dart';
11 import 'package:unittest/unittest.dart'; 11 import 'package:unittest/unittest.dart';
12 12
13 import 'abstract_search_domain.dart'; 13 import 'abstract_search_domain.dart';
14 14
15 15
16 main() { 16 main() {
17 groupSep = ' | '; 17 groupSep = ' | ';
18 runReflectiveTests(ElementReferencesTest); 18 runReflectiveTests(ElementReferencesTest);
19 } 19 }
20 20
21 21
22 @ReflectiveTestCase() 22 @ReflectiveTestCase()
23 class ElementReferencesTest extends AbstractSearchDomainTest { 23 class ElementReferencesTest extends AbstractSearchDomainTest {
24 Element searchElement; 24 Element searchElement;
25 25
26 Future findElementReferences(String search, bool includePotential) { 26 Future findElementReferences(String search, bool includePotential) {
27 int offset = findOffset(search); 27 int offset = findOffset(search);
28 return waitForTasksFinished().then((_) { 28 return waitForTasksFinished().then((_) {
29 Request request = new SearchFindElementReferencesParams(testFile, offset, 29 Request request = new SearchFindElementReferencesParams(
30 testFile,
31 offset,
30 includePotential).toRequest('0'); 32 includePotential).toRequest('0');
31 Response response = handleSuccessfulRequest(request); 33 Response response = handleSuccessfulRequest(request);
32 var result = new SearchFindElementReferencesResult.fromResponse(response); 34 var result = new SearchFindElementReferencesResult.fromResponse(response);
33 searchId = result.id; 35 searchId = result.id;
34 searchElement = result.element; 36 searchElement = result.element;
35 results.clear(); 37 results.clear();
36 if (searchId == null) { 38 if (searchId == null) {
37 return null; 39 return null;
38 } else { 40 } else {
39 return waitForSearchResults(); 41 return waitForSearchResults();
(...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after
292 } 294 }
293 '''); 295 ''');
294 return findElementReferences('mmm(p) {}', false).then((_) { 296 return findElementReferences('mmm(p) {}', false).then((_) {
295 expect(searchElement.kind, ElementKind.METHOD); 297 expect(searchElement.kind, ElementKind.METHOD);
296 expect(results, hasLength(2)); 298 expect(results, hasLength(2));
297 assertHasResult(SearchResultKind.INVOCATION, 'mmm(10);'); 299 assertHasResult(SearchResultKind.INVOCATION, 'mmm(10);');
298 assertHasResult(SearchResultKind.REFERENCE, 'mmm);'); 300 assertHasResult(SearchResultKind.REFERENCE, 'mmm);');
299 }); 301 });
300 } 302 }
301 303
304 test_noElement() {
305 addTestFile('''
306 main() {
307 print(noElement);
308 }
309 ''');
310 return findElementReferences('noElement', false).then((_) {
311 expect(searchId, isNull);
312 });
313 }
314
302 test_oneUnit_twoLibraries() { 315 test_oneUnit_twoLibraries() {
303 var pathA = '/project/bin/libA.dart'; 316 var pathA = '/project/bin/libA.dart';
304 var pathB = '/project/bin/libB.dart'; 317 var pathB = '/project/bin/libB.dart';
305 var codeA = ''' 318 var codeA = '''
306 library lib; 319 library lib;
307 part 'test.dart'; 320 part 'test.dart';
308 main() { 321 main() {
309 fff(1); 322 fff(1);
310 } 323 }
311 '''; 324 ''';
(...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after
577 } 590 }
578 '''); 591 ''');
579 return findElementReferences('T> {', false).then((_) { 592 return findElementReferences('T> {', false).then((_) {
580 expect(searchElement.kind, ElementKind.TYPE_PARAMETER); 593 expect(searchElement.kind, ElementKind.TYPE_PARAMETER);
581 expect(results, hasLength(2)); 594 expect(results, hasLength(2));
582 assertHasResult(SearchResultKind.REFERENCE, 'T f;'); 595 assertHasResult(SearchResultKind.REFERENCE, 'T f;');
583 assertHasResult(SearchResultKind.REFERENCE, 'T m()'); 596 assertHasResult(SearchResultKind.REFERENCE, 'T m()');
584 }); 597 });
585 } 598 }
586 } 599 }
OLDNEW
« no previous file with comments | « pkg/analysis_server/lib/src/search/search_domain.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698