Fix setLength()

git-svn-id: https://svn.apache.org/repos/asf/jakarta/commons/proper/lang/trunk@230906 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/java/org/apache/commons/lang/text/StrBuilder.java b/src/java/org/apache/commons/lang/text/StrBuilder.java
index b072f0c..a0c8fe5 100644
--- a/src/java/org/apache/commons/lang/text/StrBuilder.java
+++ b/src/java/org/apache/commons/lang/text/StrBuilder.java
@@ -155,7 +155,7 @@
         }
         if (length < size) {
             size = length;
-        } else {
+        } else if (length > size) {
             ensureCapacity(length);
             int oldEnd = size;
             int newEnd = length;
diff --git a/src/test/org/apache/commons/lang/text/StrBuilderTest.java b/src/test/org/apache/commons/lang/text/StrBuilderTest.java
index 8dc04ba..e9dabc9 100644
--- a/src/test/org/apache/commons/lang/text/StrBuilderTest.java
+++ b/src/test/org/apache/commons/lang/text/StrBuilderTest.java
@@ -269,8 +269,12 @@
     public void testSetLength() {
         StrBuilder sb = new StrBuilder();
         sb.append("Hello");
-        sb.setLength(2);
+        sb.setLength(2);  // shorten
         assertEquals("He", sb.toString());
+        sb.setLength(2);  // no change
+        assertEquals("He", sb.toString());
+        sb.setLength(3);  // lengthen
+        assertEquals("He\0", sb.toString());
 
         try {
             sb.setLength(-1);