From 5972e0f5be25cebcd11a0b314a3e29087e456b92 Mon Sep 17 00:00:00 2001 From: Andrei Ovcharenko Date: Sat, 1 Aug 2026 04:52:03 +0300 Subject: [PATCH] Fix Unicode case expansion in AdjustCase --- src/main/java/other/AdjustCase.java | 2 +- src/test/java/other/AdjustCaseTest.java | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/main/java/other/AdjustCase.java b/src/main/java/other/AdjustCase.java index aca4865..208b56a 100644 --- a/src/main/java/other/AdjustCase.java +++ b/src/main/java/other/AdjustCase.java @@ -13,7 +13,7 @@ public class AdjustCase { public String adjustCaseToLower(String string) { if (string == null || string.length() == 0) return string; if (string.length() == 1) return string.toUpperCase(Locale.ROOT); - var stringLover = string.toLowerCase(Locale.ROOT).substring(1); + var stringLover = string.substring(1).toLowerCase(Locale.ROOT); var firstChar = string.substring(0, 1).toUpperCase(Locale.ROOT); return firstChar + stringLover; } diff --git a/src/test/java/other/AdjustCaseTest.java b/src/test/java/other/AdjustCaseTest.java index abb8658..723d0bf 100644 --- a/src/test/java/other/AdjustCaseTest.java +++ b/src/test/java/other/AdjustCaseTest.java @@ -17,6 +17,13 @@ import static other.AdjustCase.*; @Tag("smoke") public class AdjustCaseTest { + @Test + void adjustsSuffixWithoutRetainingExpandedLowercaseCharacters() { + other.AdjustCase adjustCase = new other.AdjustCase(); + + assertEquals("\u0130bc", adjustCase.adjustCaseToLower("\u0130BC")); + } + @Test void smokeTestsShouldExecuteApi() { quality.SmokeMethodTestHarness.verify(other.AdjustCase.class);