Auto-import before object declaration corrupts code
This commit is contained in:
@@ -50,6 +50,7 @@ public class JetFormattingModelBuilder implements FormattingModelBuilder {
|
|||||||
.between(IMPORT_DIRECTIVE, CLASS).blankLines(1)
|
.between(IMPORT_DIRECTIVE, CLASS).blankLines(1)
|
||||||
.between(IMPORT_DIRECTIVE, FUN).blankLines(1)
|
.between(IMPORT_DIRECTIVE, FUN).blankLines(1)
|
||||||
.between(IMPORT_DIRECTIVE, PROPERTY).blankLines(1)
|
.between(IMPORT_DIRECTIVE, PROPERTY).blankLines(1)
|
||||||
|
.between(IMPORT_DIRECTIVE, OBJECT_DECLARATION).blankLines(1)
|
||||||
|
|
||||||
.before(FUN).lineBreakInCode()
|
.before(FUN).lineBreakInCode()
|
||||||
.before(PROPERTY).lineBreakInCode()
|
.before(PROPERTY).lineBreakInCode()
|
||||||
|
|||||||
@@ -0,0 +1,2 @@
|
|||||||
|
object some {
|
||||||
|
}
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
import java.util.HashSet
|
||||||
|
|
||||||
|
object some {
|
||||||
|
}
|
||||||
@@ -28,26 +28,19 @@ import java.io.IOException;
|
|||||||
*/
|
*/
|
||||||
public class ImportClassHelperTest extends LightDaemonAnalyzerTestCase {
|
public class ImportClassHelperTest extends LightDaemonAnalyzerTestCase {
|
||||||
public void testDoNotImportIfGeneralExist() {
|
public void testDoNotImportIfGeneralExist() {
|
||||||
configureByFile(getTestName(false) + ".kt");
|
testImportInFile("jettesting.data.testFunction");
|
||||||
ImportClassHelper.addImportDirective("jettesting.data.testFunction", (JetFile) getFile());
|
|
||||||
checkResultByFile(getTestName(false) + ".kt.after");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testDoNotImportIfGeneralSpaceExist() {
|
public void testDoNotImportIfGeneralSpaceExist() {
|
||||||
configureByFile(getTestName(false) + ".kt");
|
testImportInFile("jettesting.data.testFunction");
|
||||||
ImportClassHelper.addImportDirective("jettesting.data.testFunction", (JetFile) getFile());
|
|
||||||
checkResultByFile(getTestName(false) + ".kt.after");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testNoDefaultImport() {
|
public void testNoDefaultImport() {
|
||||||
configureByFile(getTestName(false) + ".kt");
|
testImportInFile("std.io.println");
|
||||||
ApplicationManager.getApplication().runWriteAction(new Runnable() {
|
}
|
||||||
@Override
|
|
||||||
public void run() {
|
public void testImportBeforeObject() {
|
||||||
ImportClassHelper.addImportDirective("std.io.println", (JetFile) getFile());
|
testImportInFile("java.util.HashSet");
|
||||||
}
|
|
||||||
});
|
|
||||||
checkResultByFile(getTestName(false) + ".kt.after");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testInsertInEmptyFile() throws IOException {
|
public void testInsertInEmptyFile() throws IOException {
|
||||||
@@ -74,6 +67,17 @@ public class ImportClassHelperTest extends LightDaemonAnalyzerTestCase {
|
|||||||
checkResultByText("package some\n\nimport java.util.ArrayList");
|
checkResultByText("package some\n\nimport java.util.ArrayList");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void testImportInFile(final String importString) {
|
||||||
|
configureByFile(getTestName(false) + ".kt");
|
||||||
|
ApplicationManager.getApplication().runWriteAction(new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
ImportClassHelper.addImportDirective(importString, (JetFile) getFile());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
checkResultByFile(getTestName(false) + ".kt.after");
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected String getTestDataPath() {
|
protected String getTestDataPath() {
|
||||||
return PluginTestCaseBase.getTestDataPathBase() + "/quickfix/importHelper/";
|
return PluginTestCaseBase.getTestDataPathBase() + "/quickfix/importHelper/";
|
||||||
|
|||||||
Reference in New Issue
Block a user