diff options
Diffstat (limited to 'base/util/test/com/netscape/security/x509/IA5StringConverterTest.java')
-rw-r--r-- | base/util/test/com/netscape/security/x509/IA5StringConverterTest.java | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/base/util/test/com/netscape/security/x509/IA5StringConverterTest.java b/base/util/test/com/netscape/security/x509/IA5StringConverterTest.java new file mode 100644 index 000000000..ba99218ad --- /dev/null +++ b/base/util/test/com/netscape/security/x509/IA5StringConverterTest.java @@ -0,0 +1,93 @@ +package com.netscape.security.x509; + +import org.junit.Test; +import org.junit.Assert; + +import com.netscape.security.util.JSSUtil; +import com.netscape.security.util.StringTestUtil; + +import netscape.security.util.DerValue; +import netscape.security.x509.IA5StringConverter; + +public class IA5StringConverterTest { + + @Test + public void testEmptyString() throws Exception { + + String string = ""; + System.out.println("Converting: [" + string + "]"); + + byte[] expected = JSSUtil.encode(DerValue.tag_IA5String, string); + System.out.println(" - expected: " + StringTestUtil.toString(expected)); + + byte[] actual = ConverterTestUtil.convert(new IA5StringConverter(), string); + System.out.println(" - actual : " + StringTestUtil.toString(actual)); + + Assert.assertArrayEquals(expected, actual); + } + + @Test + public void testNullCharacters() throws Exception { + + String string = StringTestUtil.NULL_CHARS; + System.out.println("Converting: [" + StringTestUtil.toString(string.getBytes()) + "]"); + + byte[] expected = JSSUtil.encode(DerValue.tag_IA5String, string); + System.out.println(" - expected: " + StringTestUtil.toString(expected)); + + byte[] actual = ConverterTestUtil.convert(new IA5StringConverter(), string); + System.out.println(" - actual : " + StringTestUtil.toString(actual)); + + Assert.assertArrayEquals(expected, actual); + } + + @Test + public void testPrintableCharacters() throws Exception { + + String string = StringTestUtil.PRINTABLE_CHARS; + System.out.println("Converting: [" + string + "]"); + + byte[] expected = JSSUtil.encode(DerValue.tag_IA5String, string); + System.out.println(" - expected: " + StringTestUtil.toString(expected)); + + byte[] actual = ConverterTestUtil.convert(new IA5StringConverter(), string); + System.out.println(" - actual : " + StringTestUtil.toString(actual)); + + Assert.assertArrayEquals(expected, actual); + } + + @Test + public void testControlCharacters() throws Exception { + + String string = StringTestUtil.CONTROL_CHARS; + System.out.println("Converting: [" + StringTestUtil.toString(string.getBytes()) + "]"); + + byte[] expected = JSSUtil.encode(DerValue.tag_IA5String, string); + System.out.println(" - expected: " + StringTestUtil.toString(expected)); + + byte[] actual = ConverterTestUtil.convert(new IA5StringConverter(), string); + System.out.println(" - actual : " + StringTestUtil.toString(actual)); + + Assert.assertArrayEquals(expected, actual); + } + + @Test + public void testMultibyteCharacters() throws Exception { + + String string = StringTestUtil.MULTIBYTE_CHARS; + System.out.println("Converting: [" + string + "]"); + + System.out.println(" - expected: IllegalArgumentException"); + + try { + byte[] actual = ConverterTestUtil.convert(new IA5StringConverter(), string); + System.out.println(" - actual : " + StringTestUtil.toString(actual)); + + Assert.fail(); + + } catch (Exception e) { + System.out.println(" - actual : " + e.getClass().getSimpleName()); + Assert.assertTrue(e instanceof IllegalArgumentException); + } + } +} |