Use File instead of String path in AnalysisHoverTest.

Change-Id: I945aef29b2f4284ba47597c13a718ea998f535c3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/352381
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Keerti Parthasarathy <keertip@google.com>
This commit is contained in:
Konstantin Shcheglov 2024-02-13 19:44:20 +00:00 committed by Commit Queue
parent 9967075787
commit de6d8cb813

View file

@ -4,6 +4,7 @@
import 'package:analysis_server/protocol/protocol_generated.dart'; import 'package:analysis_server/protocol/protocol_generated.dart';
import 'package:analysis_server/src/protocol_server.dart'; import 'package:analysis_server/src/protocol_server.dart';
import 'package:analyzer/file_system/file_system.dart';
import 'package:test/test.dart'; import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart'; import 'package:test_reflective_loader/test_reflective_loader.dart';
@ -42,24 +43,22 @@ class A {}
@reflectiveTest @reflectiveTest
class AnalysisHoverTest extends PubPackageAnalysisServerTest { class AnalysisHoverTest extends PubPackageAnalysisServerTest {
Future<HoverInformation> prepareHover(String search, {String? inFile}) async { Future<HoverInformation> prepareHover(String search, {File? inFile}) async {
return (await prepareHoverOrNull(search, inFile: inFile))!; return (await prepareHoverOrNull(search, inFile: inFile))!;
} }
Future<HoverInformation?> prepareHoverAt(int offset, {String? inFile}) async { Future<HoverInformation?> prepareHoverAt(int offset, {File? inFile}) async {
inFile ??= testFile;
await waitForTasksFinished(); await waitForTasksFinished();
var request = var request = AnalysisGetHoverParams(inFile.path, offset).toRequest('0');
AnalysisGetHoverParams(inFile ?? testFile.path, offset).toRequest('0');
var response = await handleSuccessfulRequest(request); var response = await handleSuccessfulRequest(request);
var result = AnalysisGetHoverResult.fromResponse(response); var result = AnalysisGetHoverResult.fromResponse(response);
var hovers = result.hovers; return result.hovers.firstOrNull;
return hovers.isNotEmpty ? hovers.first : null;
} }
Future<HoverInformation?> prepareHoverOrNull(String search, Future<HoverInformation?> prepareHoverOrNull(String search, {File? inFile}) {
{String? inFile}) { inFile ??= testFile;
var offset = var offset = offsetInFile(inFile, search);
offsetInFile(resourceProvider.getFile(inFile ?? testFile.path), search);
return prepareHoverAt(offset, inFile: inFile); return prepareHoverAt(offset, inFile: inFile);
} }
@ -861,7 +860,7 @@ class C {
C(); C();
} }
'''); ''');
var hover = await prepareHover('C();', inFile: file.path); var hover = await prepareHover('C();', inFile: file);
expect(hover.containingLibraryName, 'package:test/test.dart'); expect(hover.containingLibraryName, 'package:test/test.dart');
expect(hover.containingLibraryPath, testFile.path); expect(hover.containingLibraryPath, testFile.path);
expect(hover.containingClassDescription, 'C'); expect(hover.containingClassDescription, 'C');
@ -890,7 +889,7 @@ class C {
C.named(); C.named();
} }
'''); ''');
var hover = await prepareHover('C.named();', inFile: file.path); var hover = await prepareHover('C.named();', inFile: file);
expect(hover.containingLibraryName, 'package:test/test.dart'); expect(hover.containingLibraryName, 'package:test/test.dart');
expect(hover.containingLibraryPath, testFile.path); expect(hover.containingLibraryPath, testFile.path);
expect(hover.containingClassDescription, 'C'); expect(hover.containingClassDescription, 'C');
@ -1431,7 +1430,7 @@ class C {
void n() {} void n() {}
} }
'''); ''');
var hover = await prepareHover('n();', inFile: file.path); var hover = await prepareHover('n();', inFile: file);
expect(hover.containingLibraryName, 'package:test/test.dart'); expect(hover.containingLibraryName, 'package:test/test.dart');
expect(hover.containingLibraryPath, testFile.path); expect(hover.containingLibraryPath, testFile.path);
expect(hover.containingClassDescription, 'C'); expect(hover.containingClassDescription, 'C');