diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/utils/StringUtils.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/utils/StringUtils.java index ae01b7af..313cb069 100755 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/utils/StringUtils.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/utils/StringUtils.java @@ -489,6 +489,24 @@ public class StringUtils + /*************************************************************************** + ** + ***************************************************************************/ + public static boolean safeEqualsIgnoreCase(String a, String b) + { + if(a == null && b == null) + { + return true; + } + if(a == null || b == null) + { + return false; + } + return (a.equalsIgnoreCase(b)); + } + + + /*************************************************************************** ** ***************************************************************************/ diff --git a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/utils/StringUtilsTest.java b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/utils/StringUtilsTest.java index ae8ce0d3..9faaabb1 100644 --- a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/utils/StringUtilsTest.java +++ b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/utils/StringUtilsTest.java @@ -350,4 +350,22 @@ class StringUtilsTest extends BaseTest assertEquals("test ((2)) (101)", StringUtils.appendIncrementingSuffix("test ((2)) (100)")); } + + + /******************************************************************************* + ** + *******************************************************************************/ + @Test + void testSafeEqualsIgnoreCase() + { + assertTrue(StringUtils.safeEqualsIgnoreCase(null, null)); + assertFalse(StringUtils.safeEqualsIgnoreCase("a", null)); + assertFalse(StringUtils.safeEqualsIgnoreCase(null, "a")); + assertTrue(StringUtils.safeEqualsIgnoreCase("a", "a")); + assertTrue(StringUtils.safeEqualsIgnoreCase("A", "a")); + assertFalse(StringUtils.safeEqualsIgnoreCase("a", "b")); + assertTrue(StringUtils.safeEqualsIgnoreCase("timothy d. chamberlain", "TIMOThy d. chaMberlain")); + assertTrue(StringUtils.safeEqualsIgnoreCase("timothy d. chamberlain", "timothy d. chamberlain")); + } + }