diff options
Diffstat (limited to 'pki/base/util/test/com/netscape/security/util')
7 files changed, 207 insertions, 0 deletions
diff --git a/pki/base/util/test/com/netscape/security/util/BMPStringTest.java b/pki/base/util/test/com/netscape/security/util/BMPStringTest.java index e1dcb6591..e82ea50ce 100644 --- a/pki/base/util/test/com/netscape/security/util/BMPStringTest.java +++ b/pki/base/util/test/com/netscape/security/util/BMPStringTest.java @@ -41,6 +41,40 @@ public class BMPStringTest { } @Test + public void testEncodingNullCharacters() throws Exception { + + String string = StringTestUtil.NULL_CHARS; + System.out.println("Encoding: ["+StringTestUtil.toString(string.getBytes())+"]"); + + byte[] expected = JSSUtil.encode(tag, string); + System.out.println(" - expected: "+StringTestUtil.toString(expected)); + + byte[] actual = StringTestUtil.encode(tag, string); + System.out.println(" - actual : "+StringTestUtil.toString(actual)); + + actual = StringTestUtil.normalizeUnicode(actual); + System.out.println(" - norm. : "+StringTestUtil.toString(actual)); + + Assert.assertArrayEquals(expected, actual); + } + + @Test + public void testDecodingNullCharacters() throws Exception { + + String input = StringTestUtil.NULL_CHARS; + byte[] data = JSSUtil.encode(tag, input); + + System.out.println("Decoding: ["+StringTestUtil.toString(data)+"]"); + + System.out.println(" - expected: ["+StringTestUtil.toString(input.getBytes())+"]"); + + String output = StringTestUtil.decode(tag, data); + System.out.println(" - actual : ["+StringTestUtil.toString(output.getBytes())+"]"); + + Assert.assertEquals(input, output); + } + + @Test public void testEncodingPrintableCharacters() throws Exception { String string = StringTestUtil.PRINTABLE_CHARS; diff --git a/pki/base/util/test/com/netscape/security/util/IA5StringTest.java b/pki/base/util/test/com/netscape/security/util/IA5StringTest.java index f101e5497..a89624595 100644 --- a/pki/base/util/test/com/netscape/security/util/IA5StringTest.java +++ b/pki/base/util/test/com/netscape/security/util/IA5StringTest.java @@ -43,6 +43,40 @@ public class IA5StringTest { } @Test + public void testEncodingNullCharacters() throws Exception { + + String string = StringTestUtil.NULL_CHARS; + System.out.println("Encoding: ["+StringTestUtil.toString(string.getBytes())+"]"); + + byte[] expected = JSSUtil.encode(tag, string); + System.out.println(" - expected: "+StringTestUtil.toString(expected)); + + byte[] actual = StringTestUtil.encode(tag, string); + System.out.println(" - actual : "+StringTestUtil.toString(actual)); + + actual = StringTestUtil.normalizeUnicode(actual); + System.out.println(" - norm. : "+StringTestUtil.toString(actual)); + + Assert.assertArrayEquals(expected, actual); + } + + @Test + public void testDecodingNullCharacters() throws Exception { + + String input = StringTestUtil.NULL_CHARS; + byte[] data = JSSUtil.encode(tag, input); + + System.out.println("Decoding: ["+StringTestUtil.toString(data)+"]"); + + System.out.println(" - expected: ["+StringTestUtil.toString(input.getBytes())+"]"); + + String output = StringTestUtil.decode(tag, data); + System.out.println(" - actual : ["+StringTestUtil.toString(output.getBytes())+"]"); + + Assert.assertEquals(input, output); + } + + @Test public void testEncodingPrintableCharacters() throws Exception { String string = StringTestUtil.PRINTABLE_CHARS; diff --git a/pki/base/util/test/com/netscape/security/util/PrintableStringTest.java b/pki/base/util/test/com/netscape/security/util/PrintableStringTest.java index 4d0bc2cbf..07525648b 100644 --- a/pki/base/util/test/com/netscape/security/util/PrintableStringTest.java +++ b/pki/base/util/test/com/netscape/security/util/PrintableStringTest.java @@ -43,6 +43,41 @@ public class PrintableStringTest { } @Test + public void testEncodingNullCharacters() throws Exception { + + String string = StringTestUtil.NULL_CHARS; + System.out.println("Encoding: ["+StringTestUtil.toString(string.getBytes())+"]"); + + System.out.println(" - expected: IOException"); + + try { + byte[] actual = StringTestUtil.encode(tag, string); + System.out.println(" - actual : "+StringTestUtil.toString(actual)); + + Assert.fail(); + + } catch (Exception e) { + System.out.println(" - actual : "+e.getClass().getSimpleName()); + Assert.assertTrue(e instanceof IOException); + } + } + + @Test + public void testDecodingNullCharacters() throws Exception { + + byte[] data = { 0x13, 0x01, 0x00 }; + System.out.println("Decoding: ["+StringTestUtil.toString(data)+"]"); + + String expected = ""; // skip null chars (bug 359010) + System.out.println(" - expected: ["+expected+"]"); + + String output = StringTestUtil.decode(tag, data); + System.out.println(" - actual : ["+output+"]"); + + Assert.assertEquals(expected, output); + } + + @Test public void testEncodingPrintableCharacters() throws Exception { String string = StringTestUtil.PRINTABLE_CHARS; diff --git a/pki/base/util/test/com/netscape/security/util/StringTestUtil.java b/pki/base/util/test/com/netscape/security/util/StringTestUtil.java index 211ba5183..cb536e7b3 100644 --- a/pki/base/util/test/com/netscape/security/util/StringTestUtil.java +++ b/pki/base/util/test/com/netscape/security/util/StringTestUtil.java @@ -6,6 +6,8 @@ import netscape.security.util.DerValue; public class StringTestUtil { + public final static String NULL_CHARS = "\u0000"; + public final static String PRINTABLE_CHARS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 \'()+,-./:=?"; diff --git a/pki/base/util/test/com/netscape/security/util/TeletexStringTest.java b/pki/base/util/test/com/netscape/security/util/TeletexStringTest.java index 7217cae40..92c61b9f9 100644 --- a/pki/base/util/test/com/netscape/security/util/TeletexStringTest.java +++ b/pki/base/util/test/com/netscape/security/util/TeletexStringTest.java @@ -43,6 +43,40 @@ public class TeletexStringTest { } @Test + public void testEncodingNullCharacters() throws Exception { + + String string = StringTestUtil.NULL_CHARS; + System.out.println("Encoding: ["+StringTestUtil.toString(string.getBytes())+"]"); + + byte[] expected = JSSUtil.encode(tag, string); + System.out.println(" - expected: "+StringTestUtil.toString(expected)); + + byte[] actual = StringTestUtil.encode(tag, string); + System.out.println(" - actual : "+StringTestUtil.toString(actual)); + + actual = StringTestUtil.normalizeUnicode(actual); + System.out.println(" - norm. : "+StringTestUtil.toString(actual)); + + Assert.assertArrayEquals(expected, actual); + } + + @Test + public void testDecodingNullCharacters() throws Exception { + + String input = StringTestUtil.NULL_CHARS; + byte[] data = JSSUtil.encode(tag, input); + + System.out.println("Decoding: ["+StringTestUtil.toString(data)+"]"); + + System.out.println(" - expected: ["+StringTestUtil.toString(input.getBytes())+"]"); + + String output = StringTestUtil.decode(tag, data); + System.out.println(" - actual : ["+StringTestUtil.toString(output.getBytes())+"]"); + + Assert.assertEquals(input, output); + } + + @Test public void testEncodingPrintableCharacters() throws Exception { String string = StringTestUtil.PRINTABLE_CHARS; diff --git a/pki/base/util/test/com/netscape/security/util/UTF8StringTest.java b/pki/base/util/test/com/netscape/security/util/UTF8StringTest.java index 3256a8e33..48c20c49d 100644 --- a/pki/base/util/test/com/netscape/security/util/UTF8StringTest.java +++ b/pki/base/util/test/com/netscape/security/util/UTF8StringTest.java @@ -41,6 +41,40 @@ public class UTF8StringTest { } @Test + public void testEncodingNullCharacters() throws Exception { + + String string = StringTestUtil.NULL_CHARS; + System.out.println("Encoding: ["+StringTestUtil.toString(string.getBytes())+"]"); + + byte[] expected = JSSUtil.encode(tag, string); + System.out.println(" - expected: "+StringTestUtil.toString(expected)); + + byte[] actual = StringTestUtil.encode(tag, string); + System.out.println(" - actual : "+StringTestUtil.toString(actual)); + + actual = StringTestUtil.normalizeUnicode(actual); + System.out.println(" - norm. : "+StringTestUtil.toString(actual)); + + Assert.assertArrayEquals(expected, actual); + } + + @Test + public void testDecodingNullCharacters() throws Exception { + + String input = StringTestUtil.NULL_CHARS; + byte[] data = JSSUtil.encode(tag, input); + + System.out.println("Decoding: ["+StringTestUtil.toString(data)+"]"); + + System.out.println(" - expected: ["+StringTestUtil.toString(input.getBytes())+"]"); + + String output = StringTestUtil.decode(tag, data); + System.out.println(" - actual : ["+StringTestUtil.toString(output.getBytes())+"]"); + + Assert.assertEquals(input, output); + } + + @Test public void testEncodingPrintableCharacters() throws Exception { String string = StringTestUtil.PRINTABLE_CHARS; diff --git a/pki/base/util/test/com/netscape/security/util/UniversalStringTest.java b/pki/base/util/test/com/netscape/security/util/UniversalStringTest.java index aceae03b3..1e2c7efe0 100644 --- a/pki/base/util/test/com/netscape/security/util/UniversalStringTest.java +++ b/pki/base/util/test/com/netscape/security/util/UniversalStringTest.java @@ -41,6 +41,40 @@ public class UniversalStringTest { } @Test + public void testEncodingNullCharacters() throws Exception { + + String string = StringTestUtil.NULL_CHARS; + System.out.println("Encoding: ["+StringTestUtil.toString(string.getBytes())+"]"); + + byte[] expected = JSSUtil.encode(tag, string); + System.out.println(" - expected: "+StringTestUtil.toString(expected)); + + byte[] actual = StringTestUtil.encode(tag, string); + System.out.println(" - actual : "+StringTestUtil.toString(actual)); + + actual = StringTestUtil.normalizeUnicode(actual); + System.out.println(" - norm. : "+StringTestUtil.toString(actual)); + + Assert.assertArrayEquals(expected, actual); + } + + @Test + public void testDecodingNullCharacters() throws Exception { + + String input = StringTestUtil.NULL_CHARS; + byte[] data = JSSUtil.encode(tag, input); + + System.out.println("Decoding: ["+StringTestUtil.toString(data)+"]"); + + System.out.println(" - expected: ["+StringTestUtil.toString(input.getBytes())+"]"); + + String output = StringTestUtil.decode(tag, data); + System.out.println(" - actual : ["+StringTestUtil.toString(output.getBytes())+"]"); + + Assert.assertEquals(input, output); + } + + @Test public void testEncodingPrintableCharacters() throws Exception { String string = StringTestUtil.PRINTABLE_CHARS; |