| Index: pkg/analyzer/test/src/dart/analysis/search_test.dart
|
| diff --git a/pkg/analyzer/test/src/dart/analysis/search_test.dart b/pkg/analyzer/test/src/dart/analysis/search_test.dart
|
| index 03a2a5316bdaa43d6b602c59e6f67cec0817b8a9..67ade8b5a45359988e1490ae56a7584959dd1810 100644
|
| --- a/pkg/analyzer/test/src/dart/analysis/search_test.dart
|
| +++ b/pkg/analyzer/test/src/dart/analysis/search_test.dart
|
| @@ -4,8 +4,11 @@
|
|
|
| import 'dart:async';
|
|
|
| +import 'package:analyzer/dart/ast/ast.dart';
|
| import 'package:analyzer/dart/element/element.dart';
|
| +import 'package:analyzer/src/dart/analysis/driver.dart';
|
| import 'package:analyzer/src/dart/analysis/search.dart';
|
| +import 'package:analyzer/src/dart/ast/utilities.dart';
|
| import 'package:test/test.dart';
|
| import 'package:test_reflective_loader/test_reflective_loader.dart';
|
|
|
| @@ -90,13 +93,13 @@ label:
|
| }
|
| }
|
| ''');
|
| - int offset = findOffset('label:');
|
| + Element element = await _findElementAtString('label:');
|
| List<String> main = [testUri, 'main'];
|
| var expected = [
|
| _expectId(main, SearchResultKind.REFERENCE, 'label; // 1'),
|
| _expectId(main, SearchResultKind.REFERENCE, 'label; // 2')
|
| ];
|
| - await _verifyReferences(offset, expected);
|
| + await _verifyReferences(element, expected);
|
| }
|
|
|
| test_searchReferences_localVariable() async {
|
| @@ -109,7 +112,7 @@ main() {
|
| v();
|
| }
|
| ''');
|
| - int offset = findOffset('v;');
|
| + Element element = await _findElementAtString('v;');
|
| List<String> main = [testUri, 'main'];
|
| var expected = [
|
| _expectId(main, SearchResultKind.WRITE, 'v = 1;'),
|
| @@ -117,7 +120,7 @@ main() {
|
| _expectId(main, SearchResultKind.READ, 'v);'),
|
| _expectId(main, SearchResultKind.INVOCATION, 'v();')
|
| ];
|
| - await _verifyReferences(offset, expected);
|
| + await _verifyReferences(element, expected);
|
| }
|
|
|
| test_searchReferences_localVariable_inForEachLoop() async {
|
| @@ -131,7 +134,7 @@ main() {
|
| }
|
| }
|
| ''');
|
| - int offset = findOffset('v in []');
|
| + Element element = await _findElementAtString('v in []');
|
| List<String> main = [testUri, 'main'];
|
| var expected = [
|
| _expectId(main, SearchResultKind.WRITE, 'v = 1;'),
|
| @@ -139,7 +142,7 @@ main() {
|
| _expectId(main, SearchResultKind.READ, 'v);'),
|
| _expectId(main, SearchResultKind.INVOCATION, 'v();')
|
| ];
|
| - await _verifyReferences(offset, expected);
|
| + await _verifyReferences(element, expected);
|
| }
|
|
|
| ExpectedResult _expectId(
|
| @@ -153,10 +156,16 @@ main() {
|
| isResolved: isResolved, isQualified: isQualified);
|
| }
|
|
|
| + Future<Element> _findElementAtString(String search) async {
|
| + AnalysisResult result = await driver.getResult(testFile);
|
| + int offset = findOffset(search);
|
| + AstNode node = new NodeLocator(offset).searchWithin(result.unit);
|
| + return ElementLocator.locate(node);
|
| + }
|
| +
|
| Future _verifyReferences(
|
| - int offset, List<ExpectedResult> expectedMatches) async {
|
| - List<SearchResult> results =
|
| - await driver.search.references(testFile, offset);
|
| + Element element, List<ExpectedResult> expectedMatches) async {
|
| + List<SearchResult> results = await driver.search.references(element);
|
| _assertResults(results, expectedMatches);
|
| expect(results, hasLength(expectedMatches.length));
|
| }
|
|
|