commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ggreg...@apache.org
Subject svn commit: r263912 - in /jakarta/commons/proper/lang/trunk/src: java/org/apache/commons/lang/text/StrTokenizer.java test/org/apache/commons/lang/text/StrTokenizerTest.java
Date Sun, 28 Aug 2005 20:23:27 GMT
Author: ggregory
Date: Sun Aug 28 13:23:22 2005
New Revision: 263912

URL: http://svn.apache.org/viewcvs?rev=263912&view=rev
Log:
clone method is now full covered in unit tests.

Modified:
    jakarta/commons/proper/lang/trunk/src/java/org/apache/commons/lang/text/StrTokenizer.java
    jakarta/commons/proper/lang/trunk/src/test/org/apache/commons/lang/text/StrTokenizerTest.java

Modified: jakarta/commons/proper/lang/trunk/src/java/org/apache/commons/lang/text/StrTokenizer.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/lang/trunk/src/java/org/apache/commons/lang/text/StrTokenizer.java?rev=263912&r1=263911&r2=263912&view=diff
==============================================================================
--- jakarta/commons/proper/lang/trunk/src/java/org/apache/commons/lang/text/StrTokenizer.java
(original)
+++ jakarta/commons/proper/lang/trunk/src/java/org/apache/commons/lang/text/StrTokenizer.java
Sun Aug 28 13:23:22 2005
@@ -1048,22 +1048,32 @@
 
     //-----------------------------------------------------------------------
     /**
-     * Creates a new instance of this Tokenizer.
-     * The new instance is reset so that it will be at the start of the token list.
+     * Creates a new instance of this Tokenizer. The new instance is reset so that it will
be at the start of the token
+     * list. If a {@link CloneNotSupportedException} is caught, return <code>null</code>.
+     * 
      * @return a new instance of this Tokenizer which has been reset.
      */
     public Object clone() {
         try {
-            StrTokenizer cloned = (StrTokenizer) super.clone();
-            if (cloned.chars != null) {
-                cloned.chars = (char[]) cloned.chars.clone();
-            }
-            cloned.reset();
-            return cloned;
-
+            return cloneReset();
         } catch (CloneNotSupportedException ex) {
             return null;
         }
+    }
+
+    /**
+     * Creates a new instance of this Tokenizer. The new instance is reset so that it will
be at the start of the token
+     * list.
+     * 
+     * @return a new instance of this Tokenizer which has been reset.
+     */
+    protected Object cloneReset() throws CloneNotSupportedException {
+        StrTokenizer cloned = (StrTokenizer) super.clone();
+        if (cloned.chars != null) {
+            cloned.chars = (char[]) cloned.chars.clone();
+        }
+        cloned.reset();
+        return cloned;
     }
 
 }

Modified: jakarta/commons/proper/lang/trunk/src/test/org/apache/commons/lang/text/StrTokenizerTest.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/lang/trunk/src/test/org/apache/commons/lang/text/StrTokenizerTest.java?rev=263912&r1=263911&r2=263912&view=diff
==============================================================================
--- jakarta/commons/proper/lang/trunk/src/test/org/apache/commons/lang/text/StrTokenizerTest.java
(original)
+++ jakarta/commons/proper/lang/trunk/src/test/org/apache/commons/lang/text/StrTokenizerTest.java
Sun Aug 28 13:23:22 2005
@@ -542,6 +542,19 @@
         assertEquals(tok, tok.setIgnoreEmptyTokens(false));
     }
 
+    /**
+     * Tests that the {@link StrTokenizer#clone()} clone method catches {@link CloneNotSupportedException}
and returns
+     * <code>null</code>.
+     */
+    public void testCloneNotSupportedException() {
+        Object notCloned = (new StrTokenizer() {
+            public Object cloneReset() throws CloneNotSupportedException {
+                throw new CloneNotSupportedException("test");
+            }
+        }).clone();
+        assertNull(notCloned);
+    }
+
     public void testCloneNull() {
         StrTokenizer tokenizer = new StrTokenizer((char[]) null);
         // Start sanity check



---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org


Mime
View raw message