| 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.services.src.search.search_engine; | 5 library test.services.src.search.search_engine; |
| 6 | 6 |
| 7 import 'dart:async'; | 7 import 'dart:async'; |
| 8 | 8 |
| 9 import 'package:analysis_server/src/services/index/index.dart'; | 9 import 'package:analysis_server/src/services/index/index.dart'; |
| 10 import 'package:analysis_server/src/services/index/local_memory_index.dart'; | 10 import 'package:analysis_server/src/services/index/local_memory_index.dart'; |
| 11 import 'package:analysis_server/src/services/search/search_engine.dart'; | 11 import 'package:analysis_server/src/services/search/search_engine.dart'; |
| 12 import 'package:analysis_server/src/services/search/search_engine_internal.dart'
; | 12 import 'package:analysis_server/src/services/search/search_engine_internal.dart'
; |
| 13 import '../../abstract_single_unit.dart'; | |
| 14 import '../../mocks.dart'; | |
| 15 import '../../reflective_tests.dart'; | |
| 16 import 'package:analyzer/src/generated/element.dart'; | 13 import 'package:analyzer/src/generated/element.dart'; |
| 17 import 'package:analyzer/src/generated/source.dart'; | 14 import 'package:analyzer/src/generated/source.dart'; |
| 18 import 'package:typed_mock/typed_mock.dart'; | 15 import 'package:typed_mock/typed_mock.dart'; |
| 19 import 'package:unittest/unittest.dart'; | 16 import 'package:unittest/unittest.dart'; |
| 20 | 17 |
| 18 import '../../abstract_single_unit.dart'; |
| 19 import '../../mocks.dart'; |
| 20 import '../../reflective_tests.dart'; |
| 21 |
| 21 | 22 |
| 22 main() { | 23 main() { |
| 23 groupSep = ' | '; | 24 groupSep = ' | '; |
| 24 runReflectiveTests(SearchEngineImplTest); | 25 runReflectiveTests(SearchEngineImplTest); |
| 25 } | 26 } |
| 26 | 27 |
| 27 class ExpectedMatch { | 28 class ExpectedMatch { |
| 28 final Element element; | 29 final Element element; |
| 29 final MatchKind kind; | 30 final MatchKind kind; |
| 30 SourceRange range; | 31 SourceRange range; |
| (...skipping 380 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 411 LocalVariableElement element = findElement('v'); | 412 LocalVariableElement element = findElement('v'); |
| 412 Element mainElement = findElement('main'); | 413 Element mainElement = findElement('main'); |
| 413 var expected = [ | 414 var expected = [ |
| 414 _expectId(mainElement, MatchKind.WRITE, 'v = 1;'), | 415 _expectId(mainElement, MatchKind.WRITE, 'v = 1;'), |
| 415 _expectId(mainElement, MatchKind.READ_WRITE, 'v += 2;'), | 416 _expectId(mainElement, MatchKind.READ_WRITE, 'v += 2;'), |
| 416 _expectId(mainElement, MatchKind.READ, 'v);'), | 417 _expectId(mainElement, MatchKind.READ, 'v);'), |
| 417 _expectId(mainElement, MatchKind.INVOCATION, 'v();')]; | 418 _expectId(mainElement, MatchKind.INVOCATION, 'v();')]; |
| 418 return _verifyReferences(element, expected); | 419 return _verifyReferences(element, expected); |
| 419 } | 420 } |
| 420 | 421 |
| 422 Future test_searchReferences_LabelElement() { |
| 423 _indexTestUnit(''' |
| 424 main() { |
| 425 label: |
| 426 while (true) { |
| 427 if (true) { |
| 428 break label; // 1 |
| 429 } |
| 430 break label; // 2 |
| 431 } |
| 432 } |
| 433 '''); |
| 434 LabelElement element = findElement('label'); |
| 435 Element mainElement = findElement('main'); |
| 436 var expected = [ |
| 437 _expectId(mainElement, MatchKind.REFERENCE, 'label; // 1'), |
| 438 _expectId(mainElement, MatchKind.REFERENCE, 'label; // 2')]; |
| 439 return _verifyReferences(element, expected); |
| 440 } |
| 441 |
| 421 Future test_searchReferences_MethodElement() { | 442 Future test_searchReferences_MethodElement() { |
| 422 _indexTestUnit(''' | 443 _indexTestUnit(''' |
| 423 class A { | 444 class A { |
| 424 m() {} | 445 m() {} |
| 425 main() { | 446 main() { |
| 426 m(); // 1 | 447 m(); // 1 |
| 427 this.m(); // 2 | 448 this.m(); // 2 |
| 428 print(m); // 3 | 449 print(m); // 3 |
| 429 print(this.m); // 4 | 450 print(this.m); // 4 |
| 430 } | 451 } |
| (...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 656 pattern).then((List<SearchMatch> matches) { | 677 pattern).then((List<SearchMatch> matches) { |
| 657 _assertMatches(matches, expectedMatches); | 678 _assertMatches(matches, expectedMatches); |
| 658 }); | 679 }); |
| 659 } | 680 } |
| 660 | 681 |
| 661 static void _assertMatches(List<SearchMatch> matches, | 682 static void _assertMatches(List<SearchMatch> matches, |
| 662 List<ExpectedMatch> expectedMatches) { | 683 List<ExpectedMatch> expectedMatches) { |
| 663 expect(matches, unorderedEquals(expectedMatches)); | 684 expect(matches, unorderedEquals(expectedMatches)); |
| 664 } | 685 } |
| 665 } | 686 } |
| OLD | NEW |