diff --git a/idea/src/org/jetbrains/jet/plugin/formatter/JetFormattingModelBuilder.java b/idea/src/org/jetbrains/jet/plugin/formatter/JetFormattingModelBuilder.java index 99a006df400..ea0813686ec 100644 --- a/idea/src/org/jetbrains/jet/plugin/formatter/JetFormattingModelBuilder.java +++ b/idea/src/org/jetbrains/jet/plugin/formatter/JetFormattingModelBuilder.java @@ -50,6 +50,7 @@ public class JetFormattingModelBuilder implements FormattingModelBuilder { .between(IMPORT_DIRECTIVE, CLASS).blankLines(1) .between(IMPORT_DIRECTIVE, FUN).blankLines(1) .between(IMPORT_DIRECTIVE, PROPERTY).blankLines(1) + .between(IMPORT_DIRECTIVE, OBJECT_DECLARATION).blankLines(1) .before(FUN).lineBreakInCode() .before(PROPERTY).lineBreakInCode() diff --git a/idea/testData/quickfix/importHelper/ImportBeforeObject.kt b/idea/testData/quickfix/importHelper/ImportBeforeObject.kt new file mode 100644 index 00000000000..9b9b1ae471c --- /dev/null +++ b/idea/testData/quickfix/importHelper/ImportBeforeObject.kt @@ -0,0 +1,2 @@ +object some { +} \ No newline at end of file diff --git a/idea/testData/quickfix/importHelper/ImportBeforeObject.kt.after b/idea/testData/quickfix/importHelper/ImportBeforeObject.kt.after new file mode 100644 index 00000000000..01206050f05 --- /dev/null +++ b/idea/testData/quickfix/importHelper/ImportBeforeObject.kt.after @@ -0,0 +1,4 @@ +import java.util.HashSet + +object some { +} \ No newline at end of file diff --git a/idea/tests/org/jetbrains/jet/plugin/quickfix/ImportClassHelperTest.java b/idea/tests/org/jetbrains/jet/plugin/quickfix/ImportClassHelperTest.java index ed6184b6b43..d381821129b 100644 --- a/idea/tests/org/jetbrains/jet/plugin/quickfix/ImportClassHelperTest.java +++ b/idea/tests/org/jetbrains/jet/plugin/quickfix/ImportClassHelperTest.java @@ -28,26 +28,19 @@ import java.io.IOException; */ public class ImportClassHelperTest extends LightDaemonAnalyzerTestCase { public void testDoNotImportIfGeneralExist() { - configureByFile(getTestName(false) + ".kt"); - ImportClassHelper.addImportDirective("jettesting.data.testFunction", (JetFile) getFile()); - checkResultByFile(getTestName(false) + ".kt.after"); + testImportInFile("jettesting.data.testFunction"); } public void testDoNotImportIfGeneralSpaceExist() { - configureByFile(getTestName(false) + ".kt"); - ImportClassHelper.addImportDirective("jettesting.data.testFunction", (JetFile) getFile()); - checkResultByFile(getTestName(false) + ".kt.after"); + testImportInFile("jettesting.data.testFunction"); } public void testNoDefaultImport() { - configureByFile(getTestName(false) + ".kt"); - ApplicationManager.getApplication().runWriteAction(new Runnable() { - @Override - public void run() { - ImportClassHelper.addImportDirective("std.io.println", (JetFile) getFile()); - } - }); - checkResultByFile(getTestName(false) + ".kt.after"); + testImportInFile("std.io.println"); + } + + public void testImportBeforeObject() { + testImportInFile("java.util.HashSet"); } public void testInsertInEmptyFile() throws IOException { @@ -74,6 +67,17 @@ public class ImportClassHelperTest extends LightDaemonAnalyzerTestCase { 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 protected String getTestDataPath() { return PluginTestCaseBase.getTestDataPathBase() + "/quickfix/importHelper/";