diff --git a/src/main/java/strman/Strman.java b/src/main/java/strman/Strman.java index 8b830f9..0e16055 100644 --- a/src/main/java/strman/Strman.java +++ b/src/main/java/strman/Strman.java @@ -1051,7 +1051,9 @@ public abstract class Strman { * @return String in camelCase. */ public static String toCamelCase(final String value) { - validate(value, NULL_STRING_PREDICATE, NULL_STRING_MSG_SUPPLIER); + if (value == null || value.length() == 0) { + return ""; + } String str = toStudlyCase(value); return str.substring(0, 1).toLowerCase() + str.substring(1); } @@ -1343,6 +1345,15 @@ public abstract class Strman { return input.split("\r\n?|\n"); } + /** + * Converts a underscored or camelized string into an dasherized one. + * + * @param input The input String + * @return dasherized String. + */ + public static String dasherize(String input) { + return toKebabCase(input); + } /** * Converts an underscored, camelized, or dasherized string into a humanized one. Also removes beginning and ending whitespace. diff --git a/src/test/java/strman/StrmanTests.java b/src/test/java/strman/StrmanTests.java index 2c329f4..30702d8 100644 --- a/src/test/java/strman/StrmanTests.java +++ b/src/test/java/strman/StrmanTests.java @@ -1153,4 +1153,19 @@ public class StrmanTests { assertThat(humanize(""), equalTo("")); assertThat(humanize(null), equalTo("")); } + + @Test + public void dasherize_shouldDasherizeInputString() throws Exception { + assertThat(dasherize("the_dasherize_string_method"), equalTo("the-dasherize-string-method")); + assertThat(dasherize("TheDasherizeStringMethod"), equalTo("the-dasherize-string-method")); + assertThat(dasherize("thisIsATest"), equalTo("this-is-a-test")); + assertThat(dasherize("this Is A Test"), equalTo("this-is-a-test")); + assertThat(dasherize("thisIsATest123"), equalTo("this-is-a-test123")); + assertThat(dasherize("123thisIsATest"), equalTo("123this-is-a-test")); + assertThat(dasherize("the dasherize string method"), equalTo("the-dasherize-string-method")); + assertThat(dasherize("the dasherize string method "), equalTo("the-dasherize-string-method")); + assertThat(dasherize("input with a-dash"), equalTo("input-with-a-dash")); + assertThat(dasherize(""), equalTo("")); + assertThat(dasherize(null), equalTo("")); + } }