mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-CR-43780 sort by name if no anchor files
This commit is contained in:
@@ -88,12 +88,35 @@ class ConfigImportHelperTest {
|
||||
""".trimIndent())
|
||||
}
|
||||
|
||||
private fun writeStorageFile(version: String, lastModified: Long, isMacOs: Boolean) {
|
||||
val path = fsRule.fs.getPath("/data/" + (constructConfigPath(version, isMacOs)),
|
||||
PathManager.OPTIONS_DIRECTORY + '/' + StoragePathMacros.NOT_ROAMABLE_FILE)
|
||||
Files.setLastModifiedTime(path.write(version), FileTime.fromMillis(lastModified))
|
||||
@Test
|
||||
fun `sort if no anchor files`() {
|
||||
val isMacOs = true
|
||||
fun writeStorageDir(version: String) {
|
||||
val dir = fsRule.fs.getPath("/data/" + (constructConfigPath(version, isMacOs)))
|
||||
dir.createDirectories()
|
||||
}
|
||||
|
||||
val fs = fsRule.fs
|
||||
writeStorageDir("2022.1")
|
||||
writeStorageDir("2021.1")
|
||||
writeStorageDir("2020.1")
|
||||
|
||||
val newConfigPath = fs.getPath("/data/${constructConfigPath("2022.3", isMacOs)}")
|
||||
// create new config dir to test that it will be not suggested too (as on start of new version config dir can be created)
|
||||
newConfigPath.createDirectories()
|
||||
|
||||
assertThat(ConfigImportHelper.findRecentConfigDirectory(newConfigPath, isMacOs).joinToString("\n")).isEqualTo("""
|
||||
/data/${constructConfigPath("2022.1", isMacOs)}
|
||||
/data/${constructConfigPath("2021.1", isMacOs)}
|
||||
/data/${constructConfigPath("2020.1", isMacOs)}
|
||||
""".trimIndent())
|
||||
}
|
||||
|
||||
private fun writeStorageFile(version: String, lastModified: Long, isMacOs: Boolean) {
|
||||
val dir = fsRule.fs.getPath("/data/" + (constructConfigPath(version, isMacOs)))
|
||||
val file = dir.resolve(PathManager.OPTIONS_DIRECTORY + '/' + StoragePathMacros.NOT_ROAMABLE_FILE)
|
||||
Files.setLastModifiedTime(file.write(version), FileTime.fromMillis(lastModified))
|
||||
}
|
||||
}
|
||||
|
||||
private fun constructConfigPath(version: String, isMacOs: Boolean): String {
|
||||
|
||||
@@ -197,7 +197,13 @@ public class ConfigImportHelper {
|
||||
for (Object key : fileToLastModified.keys()) {
|
||||
result.add((Path)key);
|
||||
}
|
||||
result.sort((o1, o2) -> (int)(fileToLastModified.get(o2) - fileToLastModified.get(o1)));
|
||||
result.sort((o1, o2) -> {
|
||||
int diff = (int)(fileToLastModified.get(o2) - fileToLastModified.get(o1));
|
||||
if (diff == 0) {
|
||||
return StringUtil.naturalCompare(o2.toString(), o1.toString());
|
||||
}
|
||||
return diff;
|
||||
});
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user