Skip to content

Commit

Permalink
Add tests for trimToNull() method
Browse files Browse the repository at this point in the history
  • Loading branch information
jamesfredley committed Feb 28, 2025
1 parent 9f68dba commit dc3dacd
Showing 1 changed file with 46 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,39 @@ import spock.lang.Specification
*/
class GrailsStringUtilsSpec extends Specification{

private static final String FOO = "foo";
static final String WHITESPACE;
static final String NON_WHITESPACE;
static final String HARD_SPACE;
static final String TRIMMABLE;
static final String NON_TRIMMABLE;

static {
final StringBuilder ws = new StringBuilder();
final StringBuilder nws = new StringBuilder();
final String hs = String.valueOf((char) 160);
final StringBuilder tr = new StringBuilder();
final StringBuilder ntr = new StringBuilder();
for (int i = 0; i < Character.MAX_VALUE; i++) {
if (Character.isWhitespace((char) i)) {
ws.append((char) i);
if (i > 32) {
ntr.append((char) i);
}
} else if (i < 40) {
nws.append((char) i);
}
}
for (int i = 0; i <= 32; i++) {
tr.append((char) i);
}
WHITESPACE = ws.toString();
NON_WHITESPACE = nws.toString();
HARD_SPACE = hs;
TRIMMABLE = tr.toString();
NON_TRIMMABLE = ntr.toString();
}

void "Test toBoolean"() {
expect:
GrailsStringUtils.toBoolean("on") == true
Expand Down Expand Up @@ -63,4 +96,17 @@ class GrailsStringUtilsSpec extends Specification{
GrailsStringUtils.trimStart("abc", "ab") == 'c'
GrailsStringUtils.trimStart("abc", "c") == 'abc'
}

void "Test trimToNull method"() {
expect:
GrailsStringUtils.trimToNull(FOO + " ") == FOO
GrailsStringUtils.trimToNull(" " + FOO + " ") == FOO
GrailsStringUtils.trimToNull(" " + FOO) == FOO
GrailsStringUtils.trimToNull(FOO + "") == FOO
GrailsStringUtils.trimToNull(" \t\r\n\b ") == null
GrailsStringUtils.trimToNull(TRIMMABLE) == null
GrailsStringUtils.trimToNull(NON_TRIMMABLE) == NON_TRIMMABLE
GrailsStringUtils.trimToNull("") == null
GrailsStringUtils.trimToNull(null) == null
}
}

0 comments on commit dc3dacd

Please sign in to comment.