mirror of
https://github.com/shekhargulati/strman-java.git
synced 2026-10-20 14:34:04 +00:00
Fixed #45. Added support for truncate function
This commit is contained in:
@@ -866,6 +866,25 @@ public abstract class Strman {
|
||||
return value.split("\\W+");
|
||||
}
|
||||
|
||||
/**
|
||||
* Truncate the unsecured form string, cutting the independent string of required position.
|
||||
*
|
||||
* @param value Value will be truncated unsecurely.
|
||||
* @param length Size of the returned string.
|
||||
* @param filler Value that will be added to the end of the return string. Example: '...'
|
||||
* @return String truncated unsafely.
|
||||
*/
|
||||
public static String truncate(final String value, final int length, final String filler) {
|
||||
validate(value, NULL_STRING_PREDICATE, NULL_STRING_MSG_SUPPLIER);
|
||||
if (length == 0) {
|
||||
return "";
|
||||
}
|
||||
if (length >= value.length()) {
|
||||
return value;
|
||||
}
|
||||
return append(value.substring(0, length - filler.length()), filler);
|
||||
}
|
||||
|
||||
public static String decode(final String value, final int digits, final int radix) {
|
||||
validate(value, NULL_STRING_PREDICATE, NULL_STRING_MSG_SUPPLIER);
|
||||
return Arrays
|
||||
|
||||
@@ -632,6 +632,18 @@ public class StrmanTest {
|
||||
assertThat(safeTruncate("A Javascript string manipulation library.", 15, "..."), equalTo("A Javascript..."));
|
||||
assertThat(safeTruncate("A Javascript string manipulation library.", 14, "..."), equalTo("A..."));
|
||||
assertThat(safeTruncate("A Javascript string manipulation library.", 13, "..."), equalTo("A..."));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void truncate_shouldTruncateString() throws Exception {
|
||||
assertThat(truncate("foo bar", 0, "."), equalTo(""));
|
||||
assertThat(truncate("foo bar", 3, "."), equalTo("fo."));
|
||||
assertThat(truncate("foo bar", 2, "."), equalTo("f."));
|
||||
assertThat(truncate("foo bar", 4, "."), equalTo("foo."));
|
||||
assertThat(truncate("foo bar", 7, "."), equalTo("foo bar"));
|
||||
assertThat(truncate("foo bar", 8, "."), equalTo("foo bar"));
|
||||
assertThat(truncate("A Javascript string manipulation library.", 16, "..."), equalTo("A Javascript ..."));
|
||||
assertThat(truncate("A Javascript string manipulation library.", 15, "..."), equalTo("A Javascript..."));
|
||||
assertThat(truncate("A Javascript string manipulation library.", 14, "..."), equalTo("A Javascrip..."));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user