Author: ggregory
Date: Wed Aug  5 20:59:15 2009
New Revision: 801410

URL: http://svn.apache.org/viewvc?rev=801410&view=rev
Log:
100/100 code coverage.

Modified:
    
commons/proper/codec/trunk/src/test/org/apache/commons/codec/binary/HexTest.java

Modified: 
commons/proper/codec/trunk/src/test/org/apache/commons/codec/binary/HexTest.java
URL: 
http://svn.apache.org/viewvc/commons/proper/codec/trunk/src/test/org/apache/commons/codec/binary/HexTest.java?rev=801410&r1=801409&r2=801410&view=diff
==============================================================================
--- 
commons/proper/codec/trunk/src/test/org/apache/commons/codec/binary/HexTest.java
 (original)
+++ 
commons/proper/codec/trunk/src/test/org/apache/commons/codec/binary/HexTest.java
 Wed Aug  5 20:59:15 2009
@@ -39,12 +39,63 @@
  */
 public class HexTest extends TestCase {
 
+    private static final String BAD_ENCODING_NAME = "UNKNOWN";
     private final static boolean LOG = true;
 
     public HexTest(String name) {
         super(name);
     }
 
+    private boolean charsetSanityCheck(String name) {
+        final String source = "the quick brown dog jumped over the lazy fox";
+        try {
+            byte[] bytes = source.getBytes(name);
+            String str = new String(bytes, name);
+            boolean equals = source.equals(str);
+            if (equals == false) {
+                // Here with:
+                //
+                // Java Sun 1.4.2_19 x86 32-bits on Windows XP
+                // JIS_X0212-1990
+                // x-JIS0208
+                //
+                // Java Sun 1.5.0_17 x86 32-bits on Windows XP
+                // JIS_X0212-1990
+                // x-IBM834
+                // x-JIS0208
+                // x-MacDingbat
+                // x-MacSymbol
+                //
+                // Java Sun 1.6.0_14 x86 32-bits
+                // JIS_X0212-1990
+                // x-IBM834
+                // x-JIS0208
+                // x-MacDingbat
+                // x-MacSymbol
+                // 
+                log("FAILED charsetSanityCheck=Interesting Java charset 
oddity: Roundtrip failed for " + name);
+            }
+            return equals;
+        } catch (UnsupportedEncodingException e) {
+            // Should NEVER happen since we are getting the name from the 
Charset class.
+            if (LOG) {
+                log("FAILED charsetSanityCheck=" + name + ", e=" + e);
+                log(e);
+            }
+            return false;
+        } catch (UnsupportedOperationException e) {
+            // Caught here with:
+            // x-JISAutoDetect on Windows XP and Java Sun 1.4.2_19 x86 32-bits
+            // x-JISAutoDetect on Windows XP and Java Sun 1.5.0_17 x86 32-bits
+            // x-JISAutoDetect on Windows XP and Java Sun 1.6.0_14 x86 32-bits
+            if (LOG) {
+                log("FAILED charsetSanityCheck=" + name + ", e=" + e);
+                log(e);
+            }
+            return false;
+        }
+    }
+
     /**
      * @param data
      */
@@ -123,56 +174,37 @@
         assertEquals(name, sourceString, actualStringFromBytes);
     }
 
-    private boolean charsetSanityCheck(String name) {
-        final String source = "the quick brown dog jumped over the lazy fox";
+    public void testCustomCharsetBadNameEncodeByteArray() {
         try {
-            byte[] bytes = source.getBytes(name);
-            String str = new String(bytes, name);
-            boolean equals = source.equals(str);
-            if (equals == false) {
-                // Here with:
-                //
-                // Java Sun 1.4.2_19 x86 32-bits on Windows XP
-                // JIS_X0212-1990
-                // x-JIS0208
-                //
-                // Java Sun 1.5.0_17 x86 32-bits on Windows XP
-                // JIS_X0212-1990
-                // x-IBM834
-                // x-JIS0208
-                // x-MacDingbat
-                // x-MacSymbol
-                //
-                // Java Sun 1.6.0_14 x86 32-bits
-                // JIS_X0212-1990
-                // x-IBM834
-                // x-JIS0208
-                // x-MacDingbat
-                // x-MacSymbol
-                // 
-                log("FAILED charsetSanityCheck=Interesting Java charset 
oddity: Roundtrip failed for " + name);
-            }
-            return equals;
-        } catch (UnsupportedEncodingException e) {
-            // Should NEVER happen since we are getting the name from the 
Charset class.
-            if (LOG) {
-                log("FAILED charsetSanityCheck=" + name + ", e=" + e);
-                log(e);
-            }
-            return false;
-        } catch (UnsupportedOperationException e) {
-            // Caught here with:
-            // x-JISAutoDetect on Windows XP and Java Sun 1.4.2_19 x86 32-bits
-            // x-JISAutoDetect on Windows XP and Java Sun 1.5.0_17 x86 32-bits
-            // x-JISAutoDetect on Windows XP and Java Sun 1.6.0_14 x86 32-bits
-            if (LOG) {
-                log("FAILED charsetSanityCheck=" + name + ", e=" + e);
-                log(e);
-            }
-            return false;
+            new Hex(BAD_ENCODING_NAME).encode("Hello World".getBytes());
+            fail("Expected " + IllegalStateException.class.getName());
+        } catch (IllegalStateException e) {
+            // Expected
         }
     }
 
+    public void testCustomCharsetBadNameEncodeObject() {
+        try {
+            new Hex(BAD_ENCODING_NAME).encode("Hello World");
+            fail("Expected " + EncoderException.class.getName());
+        } catch (EncoderException e) {
+            // Expected
+        }
+    }
+
+    public void testCustomCharsetBadNameDecodeObject() {
+        try {
+            new Hex(BAD_ENCODING_NAME).decode("Hello World".getBytes());
+            fail("Expected " + DecoderException.class.getName());
+        } catch (DecoderException e) {
+            // Expected
+        }
+    }
+
+    public void testCustomCharsetToString() {
+        assertTrue(new Hex().toString().indexOf(Hex.DEFAULT_CHARSET_NAME) >= 
0);
+    }
+
     public void testDecodeArrayOddCharacters() {
         try {
             new Hex().decode(new byte[]{65});


Reply via email to