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

Unified Diff: pkg/analysis_server/test/edit/fixes_test.dart

Issue 1759333002: Fix regression for import suggestions (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 10 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 side-by-side diff with in-line comments
Download patch
Index: pkg/analysis_server/test/edit/fixes_test.dart
diff --git a/pkg/analysis_server/test/edit/fixes_test.dart b/pkg/analysis_server/test/edit/fixes_test.dart
index fb2ee76a91fd828cd664a55bb6f1727cb60ce000..337267f844b6a3b9f4ff9096a812677947084d41 100644
--- a/pkg/analysis_server/test/edit/fixes_test.dart
+++ b/pkg/analysis_server/test/edit/fixes_test.dart
@@ -27,13 +27,13 @@ class FixesTest extends AbstractAnalysisTest {
@override
void setUp() {
super.setUp();
- createProject();
ExtensionManager manager = new ExtensionManager();
manager.processPlugins([server.serverPlugin]);
handler = new EditDomainHandler(server);
}
test_fixUndefinedClass() async {
+ createProject();
addTestFile('''
main() {
Future<String> x = null;
@@ -52,6 +52,7 @@ main() {
}
test_hasFixes() async {
+ createProject();
addTestFile('''
foo() {
print(1)
@@ -77,19 +78,13 @@ bar() {
}
test_overlayOnlyFile() async {
- // add an overlay-only file
- {
- testCode = '''
+ createProject();
+ testCode = '''
main() {
- print(1)
+print(1)
}
''';
- Request request = new AnalysisUpdateContentParams(
- {testFile: new AddContentOverlay(testCode)}).toRequest('0');
- Response response =
- new AnalysisDomainHandler(server).handleRequest(request);
- expect(response, isResponseSuccess('0'));
- }
+ _addOverlay(testFile, testCode);
// ask for fixes
await waitForTasksFinished();
List<AnalysisErrorFixes> errorFixes = await _getFixesAt('print(1)');
@@ -97,6 +92,40 @@ main() {
_isSyntacticErrorWithSingleFix(errorFixes[0]);
}
+ test_suggestImportFromDifferentAnalysisRoot() async {
+ // Set up two projects.
+ resourceProvider..newFolder("/project1")..newFolder("/project2");
+ handleSuccessfulRequest(
+ new AnalysisSetAnalysisRootsParams(["/project1", "/project2"], [])
+ .toRequest('0'),
+ handler: analysisHandler);
+
+ // Set up files.
+ testFile = "/project1/main.dart";
+ testCode = "main() { print(new Foo()); }";
+ _addOverlay(testFile, testCode);
+ // Add another file in the same project that imports the target file.
+ // This ensures it will be analyzed as an implicit Source.
+ _addOverlay("/project1/another.dart", 'import "../project2/target.dart";');
+ _addOverlay("/project2/target.dart", "class Foo() {}");
+
+ await waitForTasksFinished();
+
+ List<String> fixes = (await _getFixesAt('Foo()'))
+ .single
+ .fixes
+ .map((f) => f.message)
+ .toList();
+ expect(fixes, contains("Import library '../project2/target.dart'"));
+ }
+
+ void _addOverlay(String name, String contents) {
+ Request request =
+ new AnalysisUpdateContentParams({name: new AddContentOverlay(contents)})
+ .toRequest('0');
+ handleSuccessfulRequest(request, handler: analysisHandler);
+ }
+
Future<List<AnalysisErrorFixes>> _getFixes(int offset) async {
Request request = new EditGetFixesParams(testFile, offset).toRequest('0');
Response response = await waitResponse(request);

Powered by Google App Engine
This is Rietveld 408576698