diff --git a/core/src/main/java/hudson/Functions.java b/core/src/main/java/hudson/Functions.java index 92b158a1ef..b7f05208e8 100644 --- a/core/src/main/java/hudson/Functions.java +++ b/core/src/main/java/hudson/Functions.java @@ -2341,7 +2341,7 @@ public class Functions { String[] arr = iconSrc.split(" "); for (String element : arr) { if (element.startsWith("plugin-")) { - return element.replace("plugin-", ""); + return element.replaceFirst("plugin-", ""); } } diff --git a/core/src/test/java/hudson/FunctionsTest.java b/core/src/test/java/hudson/FunctionsTest.java index 1715421853..0fe72c16de 100644 --- a/core/src/test/java/hudson/FunctionsTest.java +++ b/core/src/test/java/hudson/FunctionsTest.java @@ -401,6 +401,13 @@ public class FunctionsTest { assertThat(result, is(equalTo("design-library"))); } + @Test + public void extractPluginNameFromIconSrcWhichContainsPluginWordInThePluginName() { + String result = Functions.extractPluginNameFromIconSrc("symbol-padlock plugin-design-library-plugin"); + + assertThat(result, is(equalTo("design-library-plugin"))); + } + @Issue("JDK-6507809") @Test public void printThrowable() { // Basics: a single exception. No change.