From 83bf69758c500623abb812573300cc0baeaf86f5 Mon Sep 17 00:00:00 2001 From: Timka <35283270+bzzitsme@users.noreply.github.com> Date: Tue, 2 Aug 2022 08:45:35 +0600 Subject: [PATCH] [JENKINS-68801] Fix for `Functions#extractPluginNameFromIconSrc` (#6902) Co-authored-by: Temirlan Dyussyumbayev Co-authored-by: Alexander Brandes --- core/src/main/java/hudson/Functions.java | 2 +- core/src/test/java/hudson/FunctionsTest.java | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) 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.