From 8f639f7f4145f7566b7589c01753fd71caf5bf3d Mon Sep 17 00:00:00 2001 From: Rsl1122 Date: Sun, 28 Jul 2019 17:53:30 +0300 Subject: [PATCH] Fixed color parsing eating first character Fixes a bug where first character of nickname or DataExtension String was removed if it started with of 1-9, a-f & r --- .../java/com/djrapitops/plan/utilities/html/Html.java | 7 +++++++ .../java/com/djrapitops/plan/utilities/html/HtmlTest.java | 8 ++++++++ 2 files changed, 15 insertions(+) diff --git a/Plan/common/src/main/java/com/djrapitops/plan/utilities/html/Html.java b/Plan/common/src/main/java/com/djrapitops/plan/utilities/html/Html.java index dcce06ef5..895516579 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/utilities/html/Html.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/utilities/html/Html.java @@ -135,12 +135,19 @@ public enum Html { StringBuilder result = new StringBuilder(string.length()); String[] split = string.split("§"); + // Skip first part if it does not start with § + boolean skipFirst = !string.startsWith("§"); int placedSpans = 0; for (String part : split) { if (part.isEmpty()) { continue; } + if (skipFirst) { + result.append(part); + skipFirst = false; + continue; + } char colorChar = part.charAt(0); if (colorChar == 'r') { diff --git a/Plan/common/src/test/java/com/djrapitops/plan/utilities/html/HtmlTest.java b/Plan/common/src/test/java/com/djrapitops/plan/utilities/html/HtmlTest.java index 6a1d19973..2bdbb2e09 100644 --- a/Plan/common/src/test/java/com/djrapitops/plan/utilities/html/HtmlTest.java +++ b/Plan/common/src/test/java/com/djrapitops/plan/utilities/html/HtmlTest.java @@ -53,4 +53,12 @@ class HtmlTest { String result = Html.swapColorCodesToSpan(testString); assertEquals(expected, result); } + + @Test + void swapColorCodesDoesNotReplaceNonColors() { + String testString = "1test§2yes"; + String expected = "1test" + Html.COLOR_2.parse() + "yes"; + String result = Html.swapColorCodesToSpan(testString); + assertEquals(expected, result); + } }