diff --git a/java/java-impl/src/com/intellij/psi/codeStyle/JavaCodeStyleSettings.java b/java/java-impl/src/com/intellij/psi/codeStyle/JavaCodeStyleSettings.java
index bd24227a6cea..4ceeae277550 100644
--- a/java/java-impl/src/com/intellij/psi/codeStyle/JavaCodeStyleSettings.java
+++ b/java/java-impl/src/com/intellij/psi/codeStyle/JavaCodeStyleSettings.java
@@ -16,6 +16,7 @@
package com.intellij.psi.codeStyle;
import com.intellij.application.options.CodeStyle;
+import com.intellij.lang.java.JavaLanguage;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.InvalidDataException;
import com.intellij.openapi.util.WriteExternalException;
@@ -318,6 +319,10 @@ public class JavaCodeStyleSettings extends CustomCodeStyleSettings implements Im
JD_PARAM_DESCRIPTION_ON_NEW_LINE = rootSettings.JD_PARAM_DESCRIPTION_ON_NEW_LINE;
JD_INDENT_ON_CONTINUATION = rootSettings.JD_INDENT_ON_CONTINUATION;
+
+ if (rootSettings.WRAP_COMMENTS) {
+ rootSettings.getCommonSettings(JavaLanguage.INSTANCE).WRAP_COMMENTS = rootSettings.WRAP_COMMENTS;
+ }
}
@Override
diff --git a/java/java-tests/testData/codeStyle/importPre173Settings.xml b/java/java-tests/testData/codeStyle/importPre173Settings.xml
new file mode 100644
index 000000000000..f87b714f0e34
--- /dev/null
+++ b/java/java-tests/testData/codeStyle/importPre173Settings.xml
@@ -0,0 +1,242 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/java/java-tests/testSrc/com/intellij/java/psi/codeStyle/JavaCodeStyleSettingsTest.java b/java/java-tests/testSrc/com/intellij/java/psi/codeStyle/JavaCodeStyleSettingsTest.java
index 53a98386aa02..58f9d7df9da1 100644
--- a/java/java-tests/testSrc/com/intellij/java/psi/codeStyle/JavaCodeStyleSettingsTest.java
+++ b/java/java-tests/testSrc/com/intellij/java/psi/codeStyle/JavaCodeStyleSettingsTest.java
@@ -16,6 +16,11 @@
package com.intellij.java.psi.codeStyle;
import com.intellij.ide.codeStyleSettings.CodeStyleTestCase;
+import com.intellij.lang.java.JavaLanguage;
+import com.intellij.openapi.application.ex.PathManagerEx;
+import com.intellij.openapi.options.SchemeImportException;
+import com.intellij.psi.codeStyle.CodeStyleSettings;
+import com.intellij.psi.codeStyle.CommonCodeStyleSettings;
import com.intellij.psi.codeStyle.JavaCodeStyleSettings;
import com.intellij.psi.codeStyle.PackageEntry;
@@ -53,7 +58,20 @@ public class JavaCodeStyleSettingsTest extends CodeStyleTestCase {
}
}
+ public void testImportPre173Settings() throws SchemeImportException {
+ CodeStyleSettings imported = importSettings();
+ CommonCodeStyleSettings commonSettings = imported.getCommonSettings(JavaLanguage.INSTANCE);
+ assertEquals("testprefix", imported.getCustomSettings(JavaCodeStyleSettings.class).FIELD_NAME_PREFIX);
+ assertTrue(commonSettings.WRAP_COMMENTS);
+ assertFalse(imported.WRAP_COMMENTS);
+ }
+
private static boolean isPrimitiveOrString(Class type) {
return type.isPrimitive() || type.equals(String.class);
}
+
+ @Override
+ protected String getBasePath() {
+ return PathManagerEx.getTestDataPath() + "/codeStyle";
+ }
}
diff --git a/platform/platform-tests/testSrc/com/intellij/ide/codeStyleSettings/CodeStyleTestCase.java b/platform/platform-tests/testSrc/com/intellij/ide/codeStyleSettings/CodeStyleTestCase.java
index a7fb884ccf9b..fc6668985a20 100644
--- a/platform/platform-tests/testSrc/com/intellij/ide/codeStyleSettings/CodeStyleTestCase.java
+++ b/platform/platform-tests/testSrc/com/intellij/ide/codeStyleSettings/CodeStyleTestCase.java
@@ -16,7 +16,15 @@
package com.intellij.ide.codeStyleSettings;
import com.intellij.openapi.application.ex.PathManagerEx;
+import com.intellij.openapi.options.SchemeFactory;
+import com.intellij.openapi.options.SchemeImportException;
import com.intellij.openapi.project.Project;
+import com.intellij.openapi.vfs.VfsUtil;
+import com.intellij.openapi.vfs.VirtualFile;
+import com.intellij.psi.codeStyle.CodeStyleScheme;
+import com.intellij.psi.codeStyle.CodeStyleSettings;
+import com.intellij.psi.impl.source.codeStyle.CodeStyleSchemeImpl;
+import com.intellij.psi.impl.source.codeStyle.CodeStyleSchemeXmlImporter;
import com.intellij.testFramework.LightPlatformTestCase;
import com.intellij.testFramework.LightProjectDescriptor;
import org.jdom.Element;
@@ -58,7 +66,7 @@ public abstract class CodeStyleTestCase extends LightPlatformTestCase {
@NotNull
protected final String getTestDataPath() {
String testDir = getTestDir();
- return BASE_PATH + (testDir != null ? testDir : "") + File.separator;
+ return getBasePath() + (testDir != null ? testDir : "") + File.separator;
}
@NotNull
@@ -74,4 +82,23 @@ public abstract class CodeStyleTestCase extends LightPlatformTestCase {
}
protected void setupProject() throws Exception {}
+
+ protected CodeStyleSettings importSettings() throws SchemeImportException {
+ final CodeStyleScheme targetScheme = new CodeStyleSchemeImpl("Test", false, null);
+ SchemeFactory schemeFactory = new SchemeFactory() {
+ @Override
+ public CodeStyleScheme createNewScheme(@Nullable String name) {
+ return targetScheme;
+ }
+ };
+ File ioFile = new File(getTestDataPath() + getTestName(true) + ".xml");
+ assertExists(ioFile);
+ VirtualFile vFile = VfsUtil.findFileByIoFile(ioFile, true);
+ CodeStyleSchemeXmlImporter importer = new CodeStyleSchemeXmlImporter();
+ return importer.importScheme(getProject(), vFile, targetScheme, schemeFactory).getCodeStyleSettings();
+ }
+
+ protected String getBasePath() {
+ return BASE_PATH;
+ }
}
diff --git a/platform/platform-tests/testSrc/com/intellij/ide/codeStyleSettings/CodeStyleXmlImporterTest.java b/platform/platform-tests/testSrc/com/intellij/ide/codeStyleSettings/CodeStyleXmlImporterTest.java
index 4e57e0d8352e..85e529e11f30 100644
--- a/platform/platform-tests/testSrc/com/intellij/ide/codeStyleSettings/CodeStyleXmlImporterTest.java
+++ b/platform/platform-tests/testSrc/com/intellij/ide/codeStyleSettings/CodeStyleXmlImporterTest.java
@@ -15,18 +15,10 @@
*/
package com.intellij.ide.codeStyleSettings;
-import com.intellij.openapi.options.SchemeFactory;
import com.intellij.openapi.options.SchemeImportException;
-import com.intellij.openapi.vfs.VfsUtil;
-import com.intellij.openapi.vfs.VirtualFile;
-import com.intellij.psi.codeStyle.CodeStyleScheme;
import com.intellij.psi.codeStyle.CodeStyleSettings;
-import com.intellij.psi.impl.source.codeStyle.CodeStyleSchemeImpl;
-import com.intellij.psi.impl.source.codeStyle.CodeStyleSchemeXmlImporter;
import org.jetbrains.annotations.Nullable;
-import java.io.File;
-
public class CodeStyleXmlImporterTest extends CodeStyleTestCase {
public void testStandardCodeStyleXml() throws SchemeImportException {
CodeStyleSettings settings= importSettings();
@@ -47,21 +39,6 @@ public class CodeStyleXmlImporterTest extends CodeStyleTestCase {
assertEquals(140, settings.getDefaultRightMargin());
assertEquals(true, settings.FORMATTER_TAGS_ENABLED);
}
-
- private CodeStyleSettings importSettings() throws SchemeImportException {
- final CodeStyleScheme targetScheme = new CodeStyleSchemeImpl("Test", false, null);
- SchemeFactory schemeFactory = new SchemeFactory() {
- @Override
- public CodeStyleScheme createNewScheme(@Nullable String name) {
- return targetScheme;
- }
- };
- File ioFile = new File(getTestDataPath() + getTestName(true) + ".xml");
- assertExists(ioFile);
- VirtualFile vFile = VfsUtil.findFileByIoFile(ioFile, true);
- CodeStyleSchemeXmlImporter importer = new CodeStyleSchemeXmlImporter();
- return importer.importScheme(getProject(), vFile, targetScheme, schemeFactory).getCodeStyleSettings();
- }
@Nullable
@Override