From 797a61cc2cfb032d2c3df18802a35ba591b10429 Mon Sep 17 00:00:00 2001 From: Kirill Likhodedov Date: Sat, 19 Jul 2014 19:31:26 +0400 Subject: [PATCH] [git tests] shorten test names * test name is used in application and project folders * Introduce one more shortenText-utility method to let specify arbitrary ellipsis symbol (to avoid "..." in directory names not to confuse any FS or Git). --- .../com/intellij/openapi/util/text/StringUtil.java | 12 ++++++++++-- .../tests/git4idea/test/GitPlatformTest.java | 7 ++++--- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/platform/util/src/com/intellij/openapi/util/text/StringUtil.java b/platform/util/src/com/intellij/openapi/util/text/StringUtil.java index 7ee904c1f344..3556f1cce3bd 100644 --- a/platform/util/src/com/intellij/openapi/util/text/StringUtil.java +++ b/platform/util/src/com/intellij/openapi/util/text/StringUtil.java @@ -2513,10 +2513,9 @@ public class StringUtil extends StringUtilRt { public static String shortenTextWithEllipsis(@NotNull final String text, final int maxLength, final int suffixLength, - boolean useEllipsisSymbol) { + @NotNull String symbol) { final int textLength = text.length(); if (textLength > maxLength) { - String symbol = useEllipsisSymbol ? "\u2026" : "..."; final int prefixLength = maxLength - suffixLength - symbol.length(); assert prefixLength > 0; return text.substring(0, prefixLength) + symbol + text.substring(textLength - suffixLength); @@ -2526,6 +2525,15 @@ public class StringUtil extends StringUtilRt { } } + @NotNull + public static String shortenTextWithEllipsis(@NotNull final String text, + final int maxLength, + final int suffixLength, + boolean useEllipsisSymbol) { + String symbol = useEllipsisSymbol ? "\u2026" : "..."; + return shortenTextWithEllipsis(text, maxLength, suffixLength, symbol); + } + @NotNull public static String shortenPathWithEllipsis(@NotNull final String path, final int maxLength, boolean useEllipsisSymbol) { return shortenTextWithEllipsis(path, maxLength, (int)(maxLength * 0.7), useEllipsisSymbol); diff --git a/plugins/git4idea/tests/git4idea/test/GitPlatformTest.java b/plugins/git4idea/tests/git4idea/test/GitPlatformTest.java index ef3f963c9c7e..5198beb27749 100644 --- a/plugins/git4idea/tests/git4idea/test/GitPlatformTest.java +++ b/plugins/git4idea/tests/git4idea/test/GitPlatformTest.java @@ -19,6 +19,7 @@ import com.intellij.openapi.components.ProjectComponent; import com.intellij.openapi.components.ServiceManager; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.project.Project; +import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.vcs.*; import com.intellij.openapi.vcs.changes.ChangeListManager; import com.intellij.openapi.vcs.changes.VcsDirtyScopeManager; @@ -112,9 +113,9 @@ public abstract class GitPlatformTest extends UsefulTestCase { @NotNull public String getTestName(boolean lowercaseFirstLetter) { String name = super.getTestName(lowercaseFirstLetter); - name = name.trim().replace(' ', '_'); - if (name.length() > 50) { - name = name.substring(0, 50); + name = StringUtil.shortenTextWithEllipsis(name.trim().replace(" ", "_"), 12, 6, "_"); + if (name.startsWith("_")) { + name = name.substring(1); } return name; }