Migrate edit domain tests to PubPackageAnalysisServerTest.
Change-Id: Ia8d2bb4b5739f3b666c842fa318fc0101858905d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/240644
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
diff --git a/pkg/analysis_server/test/edit/assists_test.dart b/pkg/analysis_server/test/edit/assists_test.dart
index d42144e..e7ee0e0 100644
--- a/pkg/analysis_server/test/edit/assists_test.dart
+++ b/pkg/analysis_server/test/edit/assists_test.dart
@@ -3,7 +3,6 @@
// BSD-style license that can be found in the LICENSE file.
import 'package:analysis_server/protocol/protocol_generated.dart';
-import 'package:analysis_server/src/edit/edit_domain.dart';
import 'package:analysis_server/src/plugin/plugin_manager.dart';
import 'package:analyzer/instrumentation/service.dart';
import 'package:analyzer_plugin/protocol/protocol.dart' as plugin;
@@ -12,8 +11,7 @@
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../analysis_abstract.dart';
-import '../mocks.dart';
+import '../analysis_server_base.dart';
import '../src/plugin/plugin_manager_test.dart';
void main() {
@@ -23,7 +21,7 @@
}
@reflectiveTest
-class AssistsTest extends AbstractAnalysisTest {
+class AssistsTest extends PubPackageAnalysisServerTest {
late List<SourceChange> changes;
Future<void> prepareAssists(String search, [int length = 0]) async {
@@ -32,8 +30,9 @@
}
Future<void> prepareAssistsAt(int offset, int length) async {
- var request = EditGetAssistsParams(testFile, offset, length).toRequest('0');
- var response = await waitResponse(request);
+ var request =
+ EditGetAssistsParams(testFile.path, offset, length).toRequest('0');
+ var response = await handleSuccessfulRequest(request);
var result = EditGetAssistsResult.fromResponse(response);
changes = result.assists;
}
@@ -41,8 +40,7 @@
@override
Future<void> setUp() async {
super.setUp();
- await createProject();
- handler = EditDomainHandler(server);
+ await setRoots(included: [workspaceRootPath], excluded: []);
}
Future<void> test_fromPlugins() async {
@@ -68,10 +66,11 @@
Future<void> test_invalidFilePathFormat_notAbsolute() async {
var request = EditGetAssistsParams('test.dart', 0, 0).toRequest('0');
- var response = await waitResponse(request);
- expect(
+ var response = await handleRequest(request);
+ assertResponseFailure(
response,
- isResponseFailure('0', RequestErrorCode.INVALID_FILE_PATH_FORMAT),
+ requestId: '0',
+ errorCode: RequestErrorCode.INVALID_FILE_PATH_FORMAT,
);
}
@@ -79,10 +78,11 @@
var request =
EditGetAssistsParams(convertPath('/foo/../bar/test.dart'), 0, 0)
.toRequest('0');
- var response = await waitResponse(request);
- expect(
+ var response = await handleRequest(request);
+ assertResponseFailure(
response,
- isResponseFailure('0', RequestErrorCode.INVALID_FILE_PATH_FORMAT),
+ requestId: '0',
+ errorCode: RequestErrorCode.INVALID_FILE_PATH_FORMAT,
);
}
@@ -142,7 +142,7 @@
for (var change in changes) {
if (change.message == message) {
var resultCode =
- SourceEdit.applySequence(testCode, change.edits[0].edits);
+ SourceEdit.applySequence(testFileContent, change.edits[0].edits);
expect(resultCode, expectedCode);
return;
}
diff --git a/pkg/analysis_server/test/edit/bulk_fixes_test.dart b/pkg/analysis_server/test/edit/bulk_fixes_test.dart
index 4928226..41c6916 100644
--- a/pkg/analysis_server/test/edit/bulk_fixes_test.dart
+++ b/pkg/analysis_server/test/edit/bulk_fixes_test.dart
@@ -2,17 +2,17 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-import 'dart:io';
+import 'dart:io' show Platform;
import 'package:analysis_server/protocol/protocol_generated.dart';
-import 'package:analysis_server/src/edit/edit_domain.dart';
import 'package:analysis_server/src/services/linter/lint_names.dart';
+import 'package:analyzer/file_system/file_system.dart';
import 'package:analyzer_plugin/protocol/protocol_common.dart';
import 'package:linter/src/rules.dart';
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../analysis_abstract.dart';
+import '../analysis_server_base.dart';
void main() {
defineReflectiveSuite(() {
@@ -21,7 +21,7 @@
}
@reflectiveTest
-class BulkFixesTest extends AbstractAnalysisTest {
+class BulkFixesTest extends PubPackageAnalysisServerTest {
void assertContains(List<BulkFix> details,
{required String path, required String code, required int count}) {
for (var detail in details) {
@@ -37,11 +37,12 @@
fail('No match found for: $path:$code->$count in $details');
}
- Future<void> assertEditEquals(String expectedSource) async {
+ Future<void> assertEditEquals(File file, String expectedSource) async {
await waitForTasksFinished();
var edits = await _getBulkEdits();
expect(edits, hasLength(1));
- var editedSource = SourceEdit.applySequence(testCode, edits[0].edits);
+ var editedSource =
+ SourceEdit.applySequence(file.readAsStringSync(), edits[0].edits);
expect(editedSource, expectedSource);
}
@@ -55,12 +56,11 @@
Future<void> setUp() async {
super.setUp();
registerLintRules();
- handler = EditDomainHandler(server);
- await createProject();
+ await setRoots(included: [workspaceRootPath], excluded: []);
}
Future<void> test_annotateOverrides_excludedFile() async {
- newAnalysisOptionsYamlFile2(projectPath, '''
+ newAnalysisOptionsYamlFile2(testPackageRootPath, '''
analyzer:
exclude:
- test/**
@@ -69,7 +69,7 @@
- annotate_overrides
''');
- newFile2('$projectPath/test/test.dart', '''
+ newFile2('$testPackageRootPath/test/test.dart', '''
class A {
void f() {}
}
@@ -83,14 +83,14 @@
Future<void> test_annotateOverrides_excludedSubProject() async {
// Root project.
- newAnalysisOptionsYamlFile2(projectPath, '''
+ newAnalysisOptionsYamlFile2(testPackageRootPath, '''
analyzer:
exclude:
- test/data/**
''');
// Sub-project.
- var subprojectRoot = '$projectPath/test/data/subproject';
+ var subprojectRoot = '$testPackageRootPath/test/data/subproject';
newAnalysisOptionsYamlFile2(subprojectRoot, '''
linter:
rules:
@@ -114,7 +114,7 @@
}
Future<void> test_annotateOverrides_subProject() async {
- var subprojectRoot = '$projectPath/test/data/subproject';
+ var subprojectRoot = '$testPackageRootPath/test/data/subproject';
newAnalysisOptionsYamlFile2(subprojectRoot, '''
linter:
rules:
@@ -125,8 +125,7 @@
name: subproject
''');
- testFile = '$subprojectRoot/test.dart';
- addTestFile('''
+ var file = newFile2('$subprojectRoot/test.dart', '''
class A {
void f() {}
}
@@ -135,7 +134,9 @@
}
''');
- await assertEditEquals('''
+ await waitForTasksFinished();
+
+ await assertEditEquals(file, '''
class A {
void f() {}
}
@@ -147,15 +148,14 @@
}
Future<void> test_details() async {
- newAnalysisOptionsYamlFile2(projectPath, '''
+ newAnalysisOptionsYamlFile2(testPackageRootPath, '''
linter:
rules:
- annotate_overrides
- unnecessary_new
''');
- var fileA = convertPath('$projectPath/a.dart');
- newFile2(fileA, '''
+ var a = newFile2('$testPackageLibPath/a.dart', '''
class A {
A f() => new A();
}
@@ -173,15 +173,15 @@
var details = await _getBulkFixDetails();
expect(details, hasLength(2));
assertContains(details,
- path: fileA, code: LintNames.unnecessary_new, count: 2);
+ path: a.path, code: LintNames.unnecessary_new, count: 2);
assertContains(details,
- path: fileA, code: LintNames.annotate_overrides, count: 1);
+ path: a.path, code: LintNames.annotate_overrides, count: 1);
assertContains(details,
- path: testFile, code: LintNames.unnecessary_new, count: 1);
+ path: testFile.path, code: LintNames.unnecessary_new, count: 1);
}
Future<void> test_unnecessaryNew() async {
- newAnalysisOptionsYamlFile2(projectPath, '''
+ newAnalysisOptionsYamlFile2(testPackageRootPath, '''
linter:
rules:
- unnecessary_new
@@ -191,13 +191,12 @@
A f() => new A();
''');
- await assertEditEquals('''
+ await assertEditEquals(testFile, '''
class A {}
A f() => A();
''');
}
- @FailingTest(issue: 'https://github.com/dart-lang/sdk/issues/44080')
Future<void> test_unnecessaryNew_collectionLiteral_overlap() async {
// The test case currently drops the 'new' but does not convert the code to
// use a set literal. The code is no longer mangled, but we need to run the
@@ -205,7 +204,7 @@
if (Platform.isWindows) {
fail('Should not be passing on Windows, but it does');
}
- newAnalysisOptionsYamlFile2(projectPath, '''
+ newAnalysisOptionsYamlFile2(testPackageRootPath, '''
linter:
rules:
- prefer_collection_literals
@@ -219,7 +218,7 @@
}
''');
- await assertEditEquals('''
+ await assertEditEquals(testFile, '''
class A {
Map<String, Object> _map = {};
Set<String> _set = <String>{};
@@ -228,7 +227,7 @@
}
Future<void> test_unnecessaryNew_ignoredInOptions() async {
- newAnalysisOptionsYamlFile2(projectPath, '''
+ newAnalysisOptionsYamlFile2(testPackageRootPath, '''
analyzer:
errors:
unnecessary_new: ignore
@@ -244,7 +243,7 @@
}
Future<void> test_unnecessaryNew_ignoredInSource() async {
- newAnalysisOptionsYamlFile2(projectPath, '''
+ newAnalysisOptionsYamlFile2(testPackageRootPath, '''
linter:
rules:
- unnecessary_new
@@ -268,8 +267,8 @@
}
Future<EditBulkFixesResult> _getBulkFixes() async {
- var request = EditBulkFixesParams([projectPath]).toRequest('0');
- var response = await waitResponse(request);
+ var request = EditBulkFixesParams([workspaceRootPath]).toRequest('0');
+ var response = await handleSuccessfulRequest(request);
return EditBulkFixesResult.fromResponse(response);
}
}
diff --git a/pkg/analysis_server/test/edit/fixes_test.dart b/pkg/analysis_server/test/edit/fixes_test.dart
index a2658e5..95af965 100644
--- a/pkg/analysis_server/test/edit/fixes_test.dart
+++ b/pkg/analysis_server/test/edit/fixes_test.dart
@@ -3,8 +3,8 @@
// BSD-style license that can be found in the LICENSE file.
import 'package:analysis_server/protocol/protocol_generated.dart';
-import 'package:analysis_server/src/edit/edit_domain.dart';
import 'package:analysis_server/src/plugin/plugin_manager.dart';
+import 'package:analyzer/file_system/file_system.dart';
import 'package:analyzer/instrumentation/service.dart';
import 'package:analyzer/src/test_utilities/package_config_file_builder.dart';
import 'package:analyzer_plugin/protocol/protocol.dart' as plugin;
@@ -13,8 +13,7 @@
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../analysis_abstract.dart';
-import '../mocks.dart';
+import '../analysis_server_base.dart';
import '../src/plugin/plugin_manager_test.dart';
void main() {
@@ -24,11 +23,11 @@
}
@reflectiveTest
-class FixesTest extends AbstractAnalysisTest {
+class FixesTest extends PubPackageAnalysisServerTest {
@override
- void setUp() {
+ Future<void> setUp() async {
super.setUp();
- handler = EditDomainHandler(server);
+ await setRoots(included: [workspaceRootPath], excluded: []);
}
Future<void> test_fileOutsideRoot() async {
@@ -37,20 +36,19 @@
// Set up the original project, as the code fix code won't run at all
// if there are no contexts.
- await createProject();
await waitForTasksFinished();
var request =
EditGetFixesParams(convertPath(outsideFile), 0).toRequest('0');
- var response = await waitResponse(request);
- expect(
+ var response = await handleRequest(request);
+ assertResponseFailure(
response,
- isResponseFailure('0', RequestErrorCode.GET_FIXES_INVALID_FILE),
+ requestId: '0',
+ errorCode: RequestErrorCode.GET_FIXES_INVALID_FILE,
);
}
Future<void> test_fixUndefinedClass() async {
- await createProject();
addTestFile('''
main() {
Completer<String> x = null;
@@ -58,8 +56,7 @@
}
''');
await waitForTasksFinished();
- doAllDeclarationsTrackerWork();
- var errorFixes = await _getFixesAt('Completer<String>');
+ var errorFixes = await _getFixesAt(testFile, 'Completer<String>');
expect(errorFixes, hasLength(1));
var fixes = errorFixes[0].fixes;
expect(fixes, hasLength(3));
@@ -82,15 +79,13 @@
info: Future.value(result.toResponse('-', 1))
};
- await createProject();
addTestFile('main() {}');
await waitForTasksFinished();
- var errorFixes = await _getFixesAt('in(');
+ var errorFixes = await _getFixesAt(testFile, 'in(');
expect(errorFixes, hasLength(1));
}
Future<void> test_hasFixes() async {
- await createProject();
addTestFile('''
foo() {
print(1)
@@ -102,13 +97,13 @@
await waitForTasksFinished();
// print(1)
{
- var errorFixes = await _getFixesAt('print(1)');
+ var errorFixes = await _getFixesAt(testFile, 'print(1)');
expect(errorFixes, hasLength(1));
_isSyntacticErrorWithSingleFix(errorFixes[0]);
}
// print(10)
{
- var errorFixes = await _getFixesAt('print(10)');
+ var errorFixes = await _getFixesAt(testFile, 'print(10)');
expect(errorFixes, hasLength(2));
_isSyntacticErrorWithSingleFix(errorFixes[0]);
_isSyntacticErrorWithSingleFix(errorFixes[1]);
@@ -117,72 +112,73 @@
Future<void> test_invalidFilePathFormat_notAbsolute() async {
var request = EditGetFixesParams('test.dart', 0).toRequest('0');
- var response = await waitResponse(request);
- expect(
+ var response = await handleRequest(request);
+ assertResponseFailure(
response,
- isResponseFailure('0', RequestErrorCode.INVALID_FILE_PATH_FORMAT),
+ requestId: '0',
+ errorCode: RequestErrorCode.INVALID_FILE_PATH_FORMAT,
);
}
Future<void> test_invalidFilePathFormat_notNormalized() async {
var request = EditGetFixesParams(convertPath('/foo/../bar/test.dart'), 0)
.toRequest('0');
- var response = await waitResponse(request);
- expect(
+ var response = await handleRequest(request);
+ assertResponseFailure(
response,
- isResponseFailure('0', RequestErrorCode.INVALID_FILE_PATH_FORMAT),
+ requestId: '0',
+ errorCode: RequestErrorCode.INVALID_FILE_PATH_FORMAT,
);
}
Future<void> test_overlayOnlyFile() async {
- await createProject();
- testCode = '''
+ await _addOverlay(testFile.path, '''
main() {
print(1)
}
-''';
- await _addOverlay(testFile, testCode);
+''');
+
+ var file = server.resourceProvider.getFile(testFile.path);
+
// ask for fixes
await waitForTasksFinished();
- var errorFixes = await _getFixesAt('print(1)');
+ var errorFixes = await _getFixesAt(file, 'print(1)');
expect(errorFixes, hasLength(1));
_isSyntacticErrorWithSingleFix(errorFixes[0]);
}
Future<void> test_suggestImportFromDifferentAnalysisRoot() async {
newPackageConfigJsonFile(
- '/aaa',
+ '$workspaceRootPath/aaa',
(PackageConfigFileBuilder()
- ..add(name: 'aaa', rootPath: '/aaa')
- ..add(name: 'bbb', rootPath: '/bbb'))
+ ..add(name: 'aaa', rootPath: '$workspaceRootPath/aaa')
+ ..add(name: 'bbb', rootPath: '$workspaceRootPath/bbb'))
.toContent(toUriStr: toUriStr),
);
- newPubspecYamlFile('/aaa', r'''
+ newPubspecYamlFile('$workspaceRootPath/aaa', r'''
dependencies:
bbb: any
''');
newPackageConfigJsonFile(
- '/bbb',
- (PackageConfigFileBuilder()..add(name: 'bbb', rootPath: '/bbb'))
+ '$workspaceRootPath/bbb',
+ (PackageConfigFileBuilder()
+ ..add(name: 'bbb', rootPath: '$workspaceRootPath/bbb'))
.toContent(toUriStr: toUriStr),
);
- newFile2('/bbb/lib/target.dart', 'class Foo() {}');
- newFile2('/bbb/lib/target.generated.dart', 'class Foo() {}');
- newFile2('/bbb/lib/target.template.dart', 'class Foo() {}');
-
- await setRoots(
- included: [convertPath('/aaa'), convertPath('/bbb')], excluded: []);
+ newFile2('$workspaceRootPath/bbb/lib/target.dart', 'class Foo() {}');
+ newFile2(
+ '$workspaceRootPath/bbb/lib/target.generated.dart', 'class Foo() {}');
+ newFile2(
+ '$workspaceRootPath/bbb/lib/target.template.dart', 'class Foo() {}');
// Configure the test file.
- testFile = convertPath('/aaa/main.dart');
- testCode = 'main() { new Foo(); }';
- await _addOverlay(testFile, testCode);
+ final file =
+ newFile2('$workspaceRootPath/aaa/main.dart', 'main() { new Foo(); }');
await waitForTasksFinished();
- doAllDeclarationsTrackerWork();
- var fixes = (await _getFixesAt('Foo()'))
+ var fixes = (await _getFixesAt(file, 'Foo()'))
.single
.fixes
.map((f) => f.message)
@@ -197,22 +193,23 @@
}
Future<void> _addOverlay(String name, String contents) async {
- var request =
- AnalysisUpdateContentParams({name: AddContentOverlay(contents)})
- .toRequest('0');
- await waitResponse(request);
+ await handleSuccessfulRequest(
+ AnalysisUpdateContentParams({
+ name: AddContentOverlay(contents),
+ }).toRequest('0'),
+ );
}
- Future<List<AnalysisErrorFixes>> _getFixes(int offset) async {
- var request = EditGetFixesParams(testFile, offset).toRequest('0');
- var response = await waitResponse(request);
+ Future<List<AnalysisErrorFixes>> _getFixes(File file, int offset) async {
+ var request = EditGetFixesParams(file.path, offset).toRequest('0');
+ var response = await handleSuccessfulRequest(request);
var result = EditGetFixesResult.fromResponse(response);
return result.fixes;
}
- Future<List<AnalysisErrorFixes>> _getFixesAt(String search) async {
- var offset = findOffset(search);
- return await _getFixes(offset);
+ Future<List<AnalysisErrorFixes>> _getFixesAt(File file, String search) async {
+ var offset = offsetInFile(file, search);
+ return await _getFixes(file, offset);
}
void _isSyntacticErrorWithSingleFix(AnalysisErrorFixes fixes) {
diff --git a/pkg/analysis_server/test/edit/format_if_enabled_test.dart b/pkg/analysis_server/test/edit/format_if_enabled_test.dart
index df10b41..0d6a3b0 100644
--- a/pkg/analysis_server/test/edit/format_if_enabled_test.dart
+++ b/pkg/analysis_server/test/edit/format_if_enabled_test.dart
@@ -3,12 +3,11 @@
// BSD-style license that can be found in the LICENSE file.
import 'package:analysis_server/protocol/protocol_generated.dart';
-import 'package:analysis_server/src/edit/edit_domain.dart';
import 'package:analyzer_plugin/protocol/protocol_common.dart';
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../analysis_abstract.dart';
+import '../analysis_server_base.dart';
void main() {
defineReflectiveSuite(() {
@@ -17,23 +16,22 @@
}
@reflectiveTest
-class FormatIfEnabledTest extends AbstractAnalysisTest {
+class FormatIfEnabledTest extends PubPackageAnalysisServerTest {
@override
Future<void> setUp() async {
super.setUp();
- await createProject();
- handler = EditDomainHandler(server);
+ await setRoots(included: [workspaceRootPath], excluded: []);
}
Future<void> test_enabled() async {
- newAnalysisOptionsYamlFile2(testFolder, '''
+ newAnalysisOptionsYamlFile2(testPackageRootPath, '''
code-style:
format: true
''');
addTestFile('''
void f() { int x = 3; }
''');
- newFile2('$testFolder/a.dart', '''
+ newFile2('$testPackageLibPath/a.dart', '''
class A { A(); }
''');
var edits = await _format();
@@ -61,8 +59,9 @@
Future<List<SourceFileEdit>> _format() async {
await waitForTasksFinished();
- var request = EditFormatIfEnabledParams([testFolder]).toRequest('0');
- var response = await waitResponse(request);
+ var request =
+ EditFormatIfEnabledParams([testPackageRoot.path]).toRequest('0');
+ var response = await handleSuccessfulRequest(request);
return EditFormatIfEnabledResult.fromResponse(response).edits;
}
}
diff --git a/pkg/analysis_server/test/edit/format_test.dart b/pkg/analysis_server/test/edit/format_test.dart
index 742ae2a..d3dc46c 100644
--- a/pkg/analysis_server/test/edit/format_test.dart
+++ b/pkg/analysis_server/test/edit/format_test.dart
@@ -3,11 +3,10 @@
// BSD-style license that can be found in the LICENSE file.
import 'package:analysis_server/protocol/protocol_generated.dart';
-import 'package:analysis_server/src/edit/edit_domain.dart';
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../analysis_abstract.dart';
+import '../analysis_server_base.dart';
import '../mocks.dart';
void main() {
@@ -17,12 +16,11 @@
}
@reflectiveTest
-class FormatTest extends AbstractAnalysisTest {
+class FormatTest extends PubPackageAnalysisServerTest {
@override
Future<void> setUp() async {
super.setUp();
- await createProject();
- handler = EditDomainHandler(server);
+ await setRoots(included: [workspaceRootPath], excluded: []);
}
Future<void> test_format_longLine() async {
@@ -100,17 +98,18 @@
main() { int x =
''');
await waitForTasksFinished();
- var request = EditFormatParams(testFile, 0, 3).toRequest('0');
- var response = await waitResponse(request);
+ var request = EditFormatParams(testFile.path, 0, 3).toRequest('0');
+ var response = await handleRequest(request);
expect(response, isResponseFailure('0'));
}
Future<EditFormatResult> _formatAt(int selectionOffset, int selectionLength,
{int? lineLength}) async {
- var request = EditFormatParams(testFile, selectionOffset, selectionLength,
+ var request = EditFormatParams(
+ testFile.path, selectionOffset, selectionLength,
lineLength: lineLength)
.toRequest('0');
- var response = await waitResponse(request);
+ var response = await handleSuccessfulRequest(request);
return EditFormatResult.fromResponse(response);
}
}
diff --git a/pkg/analysis_server/test/edit/organize_directives_test.dart b/pkg/analysis_server/test/edit/organize_directives_test.dart
index fccfa57..d1909f0 100644
--- a/pkg/analysis_server/test/edit/organize_directives_test.dart
+++ b/pkg/analysis_server/test/edit/organize_directives_test.dart
@@ -3,13 +3,11 @@
// BSD-style license that can be found in the LICENSE file.
import 'package:analysis_server/protocol/protocol_generated.dart';
-import 'package:analysis_server/src/edit/edit_domain.dart';
import 'package:analyzer_plugin/protocol/protocol_common.dart';
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../analysis_abstract.dart';
-import '../mocks.dart';
+import '../analysis_server_base.dart';
void main() {
defineReflectiveSuite(() {
@@ -18,14 +16,13 @@
}
@reflectiveTest
-class OrganizeDirectivesTest extends AbstractAnalysisTest {
+class OrganizeDirectivesTest extends PubPackageAnalysisServerTest {
late SourceFileEdit fileEdit;
@override
Future<void> setUp() async {
super.setUp();
- await createProject();
- handler = EditDomainHandler(server);
+ await setRoots(included: [workspaceRootPath], excluded: []);
}
@failingTest
@@ -34,9 +31,12 @@
var request =
EditOrganizeDirectivesParams(convertPath('/no/such/file.dart'))
.toRequest('0');
- var response = await waitResponse(request);
- expect(
- response, isResponseFailure('0', RequestErrorCode.FILE_NOT_ANALYZED));
+ var response = await handleRequest(request);
+ assertResponseFailure(
+ response,
+ requestId: '0',
+ errorCode: RequestErrorCode.FILE_NOT_ANALYZED,
+ );
}
Future test_BAD_hasParseError() async {
@@ -45,27 +45,34 @@
main() {}
''');
- var request = EditOrganizeDirectivesParams(testFile).toRequest('0');
- var response = await waitResponse(request);
- expect(response,
- isResponseFailure('0', RequestErrorCode.ORGANIZE_DIRECTIVES_ERROR));
+ var request = EditOrganizeDirectivesParams(testFile.path).toRequest('0');
+ var response = await handleRequest(request);
+ assertResponseFailure(
+ response,
+ requestId: '0',
+ errorCode: RequestErrorCode.ORGANIZE_DIRECTIVES_ERROR,
+ );
}
Future test_BAD_notDartFile() async {
var request = EditOrganizeDirectivesParams(
convertPath('/not-a-Dart-file.txt'),
).toRequest('0');
- var response = await waitResponse(request);
- expect(
- response, isResponseFailure('0', RequestErrorCode.FILE_NOT_ANALYZED));
+ var response = await handleRequest(request);
+ assertResponseFailure(
+ response,
+ requestId: '0',
+ errorCode: RequestErrorCode.FILE_NOT_ANALYZED,
+ );
}
Future<void> test_invalidFilePathFormat_notAbsolute() async {
var request = EditOrganizeDirectivesParams('test.dart').toRequest('0');
- var response = await waitResponse(request);
- expect(
+ var response = await handleRequest(request);
+ assertResponseFailure(
response,
- isResponseFailure('0', RequestErrorCode.INVALID_FILE_PATH_FORMAT),
+ requestId: '0',
+ errorCode: RequestErrorCode.INVALID_FILE_PATH_FORMAT,
);
}
@@ -73,10 +80,11 @@
var request =
EditOrganizeDirectivesParams(convertPath('/foo/../bar/test.dart'))
.toRequest('0');
- var response = await waitResponse(request);
- expect(
+ var response = await handleRequest(request);
+ assertResponseFailure(
response,
- isResponseFailure('0', RequestErrorCode.INVALID_FILE_PATH_FORMAT),
+ requestId: '0',
+ errorCode: RequestErrorCode.INVALID_FILE_PATH_FORMAT,
);
}
@@ -147,13 +155,13 @@
Future _assertOrganized(String expectedCode) async {
await _requestOrganize();
- var resultCode = SourceEdit.applySequence(testCode, fileEdit.edits);
+ var resultCode = SourceEdit.applySequence(testFileContent, fileEdit.edits);
expect(resultCode, expectedCode);
}
Future _requestOrganize() async {
- var request = EditOrganizeDirectivesParams(testFile).toRequest('0');
- var response = await waitResponse(request);
+ var request = EditOrganizeDirectivesParams(testFile.path).toRequest('0');
+ var response = await handleSuccessfulRequest(request);
var result = EditOrganizeDirectivesResult.fromResponse(response);
fileEdit = result.edit;
}
diff --git a/pkg/analysis_server/test/edit/postfix_completion_test.dart b/pkg/analysis_server/test/edit/postfix_completion_test.dart
index 0de0e1c..5a49b9a 100644
--- a/pkg/analysis_server/test/edit/postfix_completion_test.dart
+++ b/pkg/analysis_server/test/edit/postfix_completion_test.dart
@@ -4,13 +4,11 @@
import 'package:analysis_server/protocol/protocol.dart';
import 'package:analysis_server/protocol/protocol_generated.dart';
-import 'package:analysis_server/src/edit/edit_domain.dart';
import 'package:analyzer_plugin/protocol/protocol_common.dart';
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../analysis_abstract.dart';
-import '../mocks.dart';
+import '../analysis_server_base.dart';
void main() {
defineReflectiveSuite(() {
@@ -19,14 +17,13 @@
}
@reflectiveTest
-class PostfixCompletionTest extends AbstractAnalysisTest {
+class PostfixCompletionTest extends PubPackageAnalysisServerTest {
late SourceChange change;
@override
Future<void> setUp() async {
super.setUp();
- await createProject();
- handler = EditDomainHandler(server);
+ await setRoots(included: [workspaceRootPath], excluded: []);
}
Future<void> test_for() async {
@@ -49,10 +46,11 @@
Future<void> test_invalidFilePathFormat_notAbsolute() async {
var request =
EditGetPostfixCompletionParams('test.dart', '.for', 0).toRequest('0');
- var response = await waitResponse(request);
- expect(
+ var response = await handleRequest(request);
+ assertResponseFailure(
response,
- isResponseFailure('0', RequestErrorCode.INVALID_FILE_PATH_FORMAT),
+ requestId: '0',
+ errorCode: RequestErrorCode.INVALID_FILE_PATH_FORMAT,
);
}
@@ -60,10 +58,11 @@
var request = EditGetPostfixCompletionParams(
convertPath('/foo/../bar/test.dart'), '.for', 0)
.toRequest('0');
- var response = await waitResponse(request);
- expect(
+ var response = await handleRequest(request);
+ assertResponseFailure(
response,
- isResponseFailure('0', RequestErrorCode.INVALID_FILE_PATH_FORMAT),
+ requestId: '0',
+ errorCode: RequestErrorCode.INVALID_FILE_PATH_FORMAT,
);
}
@@ -71,7 +70,7 @@
if (change.message == message) {
if (change.edits.isNotEmpty) {
var resultCode =
- SourceEdit.applySequence(testCode, change.edits[0].edits);
+ SourceEdit.applySequence(testFileContent, change.edits[0].edits);
expect(resultCode, expectedCode.replaceAll('/*caret*/', ''));
}
return;
@@ -81,24 +80,24 @@
Future<void> _prepareCompletion(String key) async {
var offset = findOffset(key);
- var src = testCode.replaceFirst(key, '', offset);
+ var src = testFileContent.replaceFirst(key, '', offset);
modifyTestFile(src);
await _prepareCompletionAt(offset, key);
}
Future<void> _prepareCompletionAt(int offset, String key) async {
- var params = EditGetPostfixCompletionParams(testFile, key, offset);
+ var params = EditGetPostfixCompletionParams(testFile.path, key, offset);
var request =
Request('0', 'edit.isPostfixCompletionApplicable', params.toJson());
- var response = await waitResponse(request, throwOnError: false);
+ var response = await handleSuccessfulRequest(request);
var isApplicable =
EditIsPostfixCompletionApplicableResult.fromResponse(response);
if (!isApplicable.value) {
fail('Postfix completion not applicable at given location');
}
- request =
- EditGetPostfixCompletionParams(testFile, key, offset).toRequest('1');
- response = await waitResponse(request, throwOnError: false);
+ request = EditGetPostfixCompletionParams(testFile.path, key, offset)
+ .toRequest('1');
+ response = await handleSuccessfulRequest(request);
var result = EditGetPostfixCompletionResult.fromResponse(response);
change = result.change;
}
diff --git a/pkg/analysis_server/test/edit/refactoring_test.dart b/pkg/analysis_server/test/edit/refactoring_test.dart
index e391b6c..8f47785 100644
--- a/pkg/analysis_server/test/edit/refactoring_test.dart
+++ b/pkg/analysis_server/test/edit/refactoring_test.dart
@@ -4,7 +4,6 @@
import 'package:analysis_server/protocol/protocol.dart';
import 'package:analysis_server/protocol/protocol_generated.dart';
-import 'package:analysis_server/src/domain_server.dart';
import 'package:analysis_server/src/edit/edit_domain.dart';
import 'package:analyzer/src/test_utilities/package_config_file_builder.dart';
import 'package:analyzer_plugin/protocol/protocol_common.dart';
@@ -12,6 +11,7 @@
import 'package:test_reflective_loader/test_reflective_loader.dart';
import '../analysis_abstract.dart';
+import '../analysis_server_base.dart';
import '../mocks.dart';
import '../src/utilities/mock_packages.dart';
@@ -115,7 +115,7 @@
Future<Response> _sendConvertRequest(String search) {
var request = EditGetRefactoringParams(
RefactoringKind.CONVERT_GETTER_TO_METHOD,
- testFile,
+ testFile.path,
findOffset(search),
0,
false)
@@ -227,7 +227,7 @@
Future<Response> _sendConvertRequest(String search) {
var request = EditGetRefactoringParams(
RefactoringKind.CONVERT_METHOD_TO_GETTER,
- testFile,
+ testFile.path,
findOffset(search),
0,
false)
@@ -261,16 +261,16 @@
}
@override
- void tearDown() {
+ Future<void> tearDown() async {
test_simulateRefactoringException_init = false;
test_simulateRefactoringException_final = false;
test_simulateRefactoringException_change = false;
- super.tearDown();
+ await super.tearDown();
}
Future<void> test_analysis_onlyOneFile() async {
shouldWaitForFullAnalysis = false;
- newFile2(join(testFolder, 'other.dart'), r'''
+ newFile2('$testPackageLibPath/other.dart', r'''
foo(int myName) {}
''');
addTestFile('''
@@ -295,13 +295,14 @@
}
''');
return getRefactoringResult(() {
- return sendExtractRequest(testCode.indexOf('222 +'), 0, 'res', true);
+ return sendExtractRequest(
+ testFileContent.indexOf('222 +'), 0, 'res', true);
}).then((result) {
var feedback = result.feedback as ExtractLocalVariableFeedback;
expect(feedback.coveringExpressionOffsets, [
- testCode.indexOf('222 +'),
- testCode.indexOf('111 +'),
- testCode.indexOf('111 +')
+ testFileContent.indexOf('222 +'),
+ testFileContent.indexOf('111 +'),
+ testFileContent.indexOf('111 +')
]);
expect(feedback.coveringExpressionLengths,
['222'.length, '111 + 222'.length, '111 + 222 + 333'.length]);
@@ -348,10 +349,11 @@
var request = EditGetRefactoringParams(
RefactoringKind.EXTRACT_LOCAL_VARIABLE, 'test.dart', 0, 0, true)
.toRequest('0');
- var response = await waitResponse(request);
- expect(
+ var response = await handleRequest(request);
+ assertResponseFailure(
response,
- isResponseFailure('0', RequestErrorCode.INVALID_FILE_PATH_FORMAT),
+ requestId: '0',
+ errorCode: RequestErrorCode.INVALID_FILE_PATH_FORMAT,
);
}
@@ -363,10 +365,11 @@
0,
true)
.toRequest('0');
- var response = await waitResponse(request);
- expect(
+ var response = await handleRequest(request);
+ assertResponseFailure(
response,
- isResponseFailure('0', RequestErrorCode.INVALID_FILE_PATH_FORMAT),
+ requestId: '0',
+ errorCode: RequestErrorCode.INVALID_FILE_PATH_FORMAT,
);
}
@@ -442,7 +445,7 @@
await checkUpdate(() {
server.updateContent('u1', {
- testFile: AddContentOverlay('''
+ testFile.path: AddContentOverlay('''
void f() {
print(1 + 2); // 1
}
@@ -452,7 +455,7 @@
await checkUpdate(() {
server.updateContent('u2', {
- testFile: ChangeContentOverlay([
+ testFile.path: ChangeContentOverlay([
SourceEdit(0, 0, '''
void f() {
print(1 + 2); // 2
@@ -463,12 +466,12 @@
});
await checkUpdate(() {
- server.updateContent('u3', {testFile: RemoveContentOverlay()});
+ server.updateContent('u3', {testFile.path: RemoveContentOverlay()});
});
}
Future<void> test_resetOnAnalysisSetChanged_watch_otherFile() async {
- var otherFile = join(testFolder, 'other.dart');
+ var otherFile = join('$testPackageLibPath/other.dart');
newFile2(otherFile, '// other 1');
addTestFile('''
void f() {
@@ -1090,8 +1093,7 @@
class InlineLocalTest extends _AbstractGetRefactoring_Test {
Future<void> test_analysis_onlyOneFile() async {
shouldWaitForFullAnalysis = false;
- var otherFile = join(testFolder, 'other.dart');
- newFile2(otherFile, r'''
+ newFile2('$testPackageLibPath/other.dart', r'''
foo(int p) {}
''');
addTestFile('''
@@ -1159,7 +1161,7 @@
}
Future<void> test_resetOnAnalysisSetChanged() async {
- newFile2(join(testFolder, 'other.dart'), '// other 1');
+ newFile2('$testPackageLibPath/other.dart', '// other 1');
addTestFile('''
void f() {
int res = 1 + 2;
@@ -1185,7 +1187,7 @@
Future<Response> _sendInlineRequest(String search) {
var request = EditGetRefactoringParams(
RefactoringKind.INLINE_LOCAL_VARIABLE,
- testFile,
+ testFile.path,
findOffset(search),
0,
false)
@@ -1309,7 +1311,7 @@
Future<Response> _sendInlineRequest(String search) {
var request = EditGetRefactoringParams(RefactoringKind.INLINE_METHOD,
- testFile, findOffset(search), 0, false,
+ testFile.path, findOffset(search), 0, false,
options: options)
.toRequest('0');
return serverChannel.sendRequest(request);
@@ -1321,42 +1323,43 @@
late MoveFileOptions options;
Future<void> test_file_OK() {
- newFile2('/project/bin/lib.dart', '');
+ newFile2('$testPackageLibPath/a.dart', '');
addTestFile('''
import 'dart:math';
-import 'lib.dart';
+import 'a.dart';
''');
- _setOptions('/project/test.dart');
+ _setOptions('$testPackageRootPath/test.dart');
return assertSuccessfulRefactoring(() {
- return _sendMoveRequest(testFile);
+ return _sendMoveRequest(testFile.path);
}, '''
import 'dart:math';
-import 'bin/lib.dart';
+import 'lib/a.dart';
''');
}
Future<void> test_folder_cancel() {
- newFile2('/project/bin/original_folder/file.dart', '');
+ newFile2('$testPackageLibPath/original_folder/file.dart', '');
addTestFile('''
import 'dart:math';
import 'original_folder/file.dart';
''');
- _setOptions('/project/bin/new_folder');
+ _setOptions('$testPackageLibPath/new_folder');
return assertEmptySuccessfulRefactoring(() async {
return _sendAndCancelMoveRequest(
- convertPath('/project/bin/original_folder'));
+ getFolder('$testPackageLibPath/original_folder').path);
});
}
Future<void> test_folder_OK() {
- newFile2('/project/bin/original_folder/file.dart', '');
+ newFile2('$testPackageLibPath/original_folder/file.dart', '');
addTestFile('''
import 'dart:math';
import 'original_folder/file.dart';
''');
- _setOptions('/project/bin/new_folder');
+ _setOptions('$testPackageLibPath/new_folder');
return assertSuccessfulRefactoring(() async {
- return _sendMoveRequest(convertPath('/project/bin/original_folder'));
+ return _sendMoveRequest(
+ getFolder('$testPackageLibPath/original_folder').path);
}, '''
import 'dart:math';
import 'new_folder/file.dart';
@@ -1396,19 +1399,19 @@
Future<Response> sendRenameRequest(String search, String? newName,
{String id = '0', bool validateOnly = false}) {
var options = newName != null ? RenameOptions(newName) : null;
- var request = EditGetRefactoringParams(RefactoringKind.RENAME, testFile,
- findOffset(search), 0, validateOnly,
+ var request = EditGetRefactoringParams(RefactoringKind.RENAME,
+ testFile.path, findOffset(search), 0, validateOnly,
options: options)
.toRequest(id);
return serverChannel.sendRequest(request);
}
@override
- void tearDown() {
+ Future<void> tearDown() async {
test_simulateRefactoringReset_afterInitialConditions = false;
test_simulateRefactoringReset_afterFinalConditions = false;
test_simulateRefactoringReset_afterCreateChange = false;
- super.tearDown();
+ await super.tearDown();
}
Future<void> test_cancelPendingRequest() async {
@@ -2132,7 +2135,7 @@
}
Future<void> test_library_partOfDirective() {
- newFile2(join(testFolder, 'my_lib.dart'), '''
+ newFile2('$testPackageLibPath/my_lib.dart', '''
library aaa.bbb.ccc;
part 'test.dart';
''');
@@ -2249,7 +2252,7 @@
print(otherName);
}
''');
- server.getAnalysisDriver(testFile)!.getResult(testFile);
+ server.getAnalysisDriver(testFile.path)!.getResult(testFile.path);
// send the second request, with the same kind, file and offset
await waitForTasksFinished();
result = await getRefactoringResult(() {
@@ -2286,7 +2289,7 @@
}
@reflectiveTest
-class _AbstractGetRefactoring_Test extends AbstractAnalysisTest {
+class _AbstractGetRefactoring_Test extends PubPackageAnalysisServerTest {
bool shouldWaitForFullAnalysis = true;
Future assertEmptySuccessfulRefactoring(
@@ -2304,7 +2307,7 @@
/// for [testFile].
void assertNoTestRefactoringResult(EditGetRefactoringResult result) {
var change = result.change!;
- if (change.edits.any((edit) => edit.file == testFile)) {
+ if (change.edits.any((edit) => edit.file == testFile.path)) {
fail('Found a SourceFileEdit for $testFile in $change');
}
}
@@ -2368,8 +2371,9 @@
EditGetRefactoringResult result, String expectedCode) {
var change = result.change!;
for (var fileEdit in change.edits) {
- if (fileEdit.file == testFile) {
- var actualCode = SourceEdit.applySequence(testCode, fileEdit.edits);
+ if (fileEdit.file == testFile.path) {
+ var actualCode =
+ SourceEdit.applySequence(testFileContent, fileEdit.edits);
expect(actualCode, expectedCode);
return;
}
@@ -2390,7 +2394,7 @@
RefactoringKind kind, int offset, int length, RefactoringOptions? options,
[bool validateOnly = false]) {
var request = EditGetRefactoringParams(
- kind, testFile, offset, length, validateOnly,
+ kind, testFile.path, offset, length, validateOnly,
options: options)
.toRequest('0');
return serverChannel.sendRequest(request);
@@ -2399,10 +2403,6 @@
@override
Future<void> setUp() async {
super.setUp();
- await createProject();
- server.handlers = [
- EditDomainHandler(server),
- ServerDomainHandler(server),
- ];
+ await setRoots(included: [workspaceRootPath], excluded: []);
}
}
diff --git a/pkg/analysis_server/test/edit/sort_members_test.dart b/pkg/analysis_server/test/edit/sort_members_test.dart
index 05a3cc1..4ec9a50 100644
--- a/pkg/analysis_server/test/edit/sort_members_test.dart
+++ b/pkg/analysis_server/test/edit/sort_members_test.dart
@@ -3,13 +3,11 @@
// BSD-style license that can be found in the LICENSE file.
import 'package:analysis_server/protocol/protocol_generated.dart';
-import 'package:analysis_server/src/edit/edit_domain.dart';
import 'package:analyzer_plugin/protocol/protocol_common.dart';
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../analysis_abstract.dart';
-import '../mocks.dart';
+import '../analysis_server_base.dart';
void main() {
defineReflectiveSuite(() {
@@ -18,14 +16,13 @@
}
@reflectiveTest
-class SortMembersTest extends AbstractAnalysisTest {
+class SortMembersTest extends PubPackageAnalysisServerTest {
late SourceFileEdit fileEdit;
@override
Future<void> setUp() async {
super.setUp();
- await createProject();
- handler = EditDomainHandler(server);
+ await setRoots(included: [workspaceRootPath], excluded: []);
}
@failingTest
@@ -33,9 +30,12 @@
// The analysis driver fails to return an error
var request =
EditSortMembersParams(convertPath('/no/such/file.dart')).toRequest('0');
- var response = await waitResponse(request);
- expect(response,
- isResponseFailure('0', RequestErrorCode.SORT_MEMBERS_INVALID_FILE));
+ var response = await handleRequest(request);
+ assertResponseFailure(
+ response,
+ requestId: '0',
+ errorCode: RequestErrorCode.INVALID_FILE_PATH_FORMAT,
+ );
}
Future<void> test_BAD_hasParseError() async {
@@ -44,37 +44,45 @@
print()
}
''');
- var request = EditSortMembersParams(testFile).toRequest('0');
- var response = await waitResponse(request);
- expect(response,
- isResponseFailure('0', RequestErrorCode.SORT_MEMBERS_PARSE_ERRORS));
+ var request = EditSortMembersParams(testFile.path).toRequest('0');
+ var response = await handleRequest(request);
+ assertResponseFailure(
+ response,
+ requestId: '0',
+ errorCode: RequestErrorCode.SORT_MEMBERS_PARSE_ERRORS,
+ );
}
Future<void> test_BAD_notDartFile() async {
var request = EditSortMembersParams(
convertPath('/not-a-Dart-file.txt'),
).toRequest('0');
- var response = await waitResponse(request);
- expect(response,
- isResponseFailure('0', RequestErrorCode.SORT_MEMBERS_INVALID_FILE));
+ var response = await handleRequest(request);
+ assertResponseFailure(
+ response,
+ requestId: '0',
+ errorCode: RequestErrorCode.SORT_MEMBERS_INVALID_FILE,
+ );
}
Future<void> test_invalidFilePathFormat_notAbsolute() async {
var request = EditSortMembersParams('test.dart').toRequest('0');
- var response = await waitResponse(request);
- expect(
+ var response = await handleRequest(request);
+ assertResponseFailure(
response,
- isResponseFailure('0', RequestErrorCode.INVALID_FILE_PATH_FORMAT),
+ requestId: '0',
+ errorCode: RequestErrorCode.INVALID_FILE_PATH_FORMAT,
);
}
Future<void> test_invalidFilePathFormat_notNormalized() async {
var request = EditSortMembersParams(convertPath('/foo/../bar/test.dart'))
.toRequest('0');
- var response = await waitResponse(request);
- expect(
+ var response = await handleRequest(request);
+ assertResponseFailure(
response,
- isResponseFailure('0', RequestErrorCode.INVALID_FILE_PATH_FORMAT),
+ requestId: '0',
+ errorCode: RequestErrorCode.INVALID_FILE_PATH_FORMAT,
);
}
@@ -195,7 +203,7 @@
}
Future<void> test_OK_genericFunctionType() async {
- newAnalysisOptionsYamlFile2(projectPath, '''
+ newAnalysisOptionsYamlFile2(testPackageRootPath, '''
analyzer:
strong-mode: true
''');
@@ -260,13 +268,13 @@
Future _assertSorted(String expectedCode) async {
await _requestSort();
- var resultCode = SourceEdit.applySequence(testCode, fileEdit.edits);
+ var resultCode = SourceEdit.applySequence(testFileContent, fileEdit.edits);
expect(resultCode, expectedCode);
}
Future _requestSort() async {
- var request = EditSortMembersParams(testFile).toRequest('0');
- var response = await waitResponse(request);
+ var request = EditSortMembersParams(testFile.path).toRequest('0');
+ var response = await handleSuccessfulRequest(request);
var result = EditSortMembersResult.fromResponse(response);
fileEdit = result.edit;
}
diff --git a/pkg/analysis_server/test/edit/statement_completion_test.dart b/pkg/analysis_server/test/edit/statement_completion_test.dart
index fbbff85..6676f45 100644
--- a/pkg/analysis_server/test/edit/statement_completion_test.dart
+++ b/pkg/analysis_server/test/edit/statement_completion_test.dart
@@ -3,13 +3,11 @@
// BSD-style license that can be found in the LICENSE file.
import 'package:analysis_server/protocol/protocol_generated.dart';
-import 'package:analysis_server/src/edit/edit_domain.dart';
import 'package:analyzer_plugin/protocol/protocol_common.dart';
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
-import '../analysis_abstract.dart';
-import '../mocks.dart';
+import '../analysis_server_base.dart';
void main() {
defineReflectiveSuite(() {
@@ -18,23 +16,23 @@
}
@reflectiveTest
-class StatementCompletionTest extends AbstractAnalysisTest {
+class StatementCompletionTest extends PubPackageAnalysisServerTest {
late SourceChange change;
@override
Future<void> setUp() async {
super.setUp();
- await createProject();
- handler = EditDomainHandler(server);
+ await setRoots(included: [workspaceRootPath], excluded: []);
}
Future<void> test_invalidFilePathFormat_notAbsolute() async {
var request =
EditGetStatementCompletionParams('test.dart', 0).toRequest('0');
- var response = await waitResponse(request);
- expect(
+ var response = await handleRequest(request);
+ assertResponseFailure(
response,
- isResponseFailure('0', RequestErrorCode.INVALID_FILE_PATH_FORMAT),
+ requestId: '0',
+ errorCode: RequestErrorCode.INVALID_FILE_PATH_FORMAT,
);
}
@@ -42,10 +40,11 @@
var request = EditGetStatementCompletionParams(
convertPath('/foo/../bar/test.dart'), 0)
.toRequest('0');
- var response = await waitResponse(request);
- expect(
+ var response = await handleRequest(request);
+ assertResponseFailure(
response,
- isResponseFailure('0', RequestErrorCode.INVALID_FILE_PATH_FORMAT),
+ requestId: '0',
+ errorCode: RequestErrorCode.INVALID_FILE_PATH_FORMAT,
);
}
@@ -106,7 +105,7 @@
if (change.message == message) {
if (change.edits.isNotEmpty) {
var resultCode =
- SourceEdit.applySequence(testCode, change.edits[0].edits);
+ SourceEdit.applySequence(testFileContent, change.edits[0].edits);
expect(resultCode, expectedCode.replaceAll('/*caret*/', ''));
if (cmp != null) {
var offset = cmp(resultCode);
@@ -114,7 +113,7 @@
}
} else {
if (cmp != null) {
- var offset = cmp(testCode);
+ var offset = cmp(testFileContent);
expect(change.selection!.offset, offset);
}
}
@@ -136,8 +135,8 @@
Future<void> _prepareCompletionAt(int offset) async {
var request =
- EditGetStatementCompletionParams(testFile, offset).toRequest('0');
- var response = await waitResponse(request);
+ EditGetStatementCompletionParams(testFile.path, offset).toRequest('0');
+ var response = await handleSuccessfulRequest(request);
var result = EditGetStatementCompletionResult.fromResponse(response);
change = result.change;
}