diff options
author | Endi Sukma Dewata <edewata@redhat.com> | 2011-12-13 14:10:03 -0600 |
---|---|---|
committer | Adam Young <ayoung@redhat.com> | 2011-12-19 10:38:34 -0500 |
commit | 6e4b6268b40d5994eb43dd1b5702c5465c974ca1 (patch) | |
tree | 49cc61e2b8ff949bd61e98f4aead9d75e290efd4 /pki/base/util/test/com/netscape/security/util/BMPStringTest.java | |
parent | 171aaece4f23709d33d180cf36eb3af5e454b0c9 (diff) | |
download | pki-6e4b6268b40d5994eb43dd1b5702c5465c974ca1.tar.gz pki-6e4b6268b40d5994eb43dd1b5702c5465c974ca1.tar.xz pki-6e4b6268b40d5994eb43dd1b5702c5465c974ca1.zip |
Added unit tests for pki-util.
New unit tests have been added to test string converters indirectly.
This is to allow replacing the converters with charset encoder and
decoder without changing the test cases.
The TestRunner has been moved into a separate package such that it
can be reused by other packages.
Ticket #3
Diffstat (limited to 'pki/base/util/test/com/netscape/security/util/BMPStringTest.java')
-rw-r--r-- | pki/base/util/test/com/netscape/security/util/BMPStringTest.java | 178 |
1 files changed, 178 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 new file mode 100644 index 000000000..e1dcb6591 --- /dev/null +++ b/pki/base/util/test/com/netscape/security/util/BMPStringTest.java @@ -0,0 +1,178 @@ +package com.netscape.security.util; + +import netscape.security.util.DerValue; + +import org.junit.Test; +import org.junit.Assert; + +public class BMPStringTest { + + public byte tag = DerValue.tag_BMPString; + + @Test + public void testEncodingEmptyString() throws Exception { + + String string = ""; + System.out.println("Encoding: ["+string+"]"); + + 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)); + + Assert.assertArrayEquals(expected, actual); + } + + @Test + public void testDecodingEmptyString() throws Exception { + + String input = ""; + byte[] data = JSSUtil.encode(tag, input); + + System.out.println("Decoding: ["+StringTestUtil.toString(data)+"]"); + + System.out.println(" - expected: ["+input+"]"); + + String output = StringTestUtil.decode(tag, data); + System.out.println(" - actual : ["+output+"]"); + + Assert.assertEquals(input, output); + } + + @Test + public void testEncodingPrintableCharacters() throws Exception { + + String string = StringTestUtil.PRINTABLE_CHARS; + System.out.println("Encoding: ["+string+"]"); + + 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 testDecodingPrintableCharacters() throws Exception { + + String input = StringTestUtil.PRINTABLE_CHARS; + byte[] data = JSSUtil.encode(tag, input); + + System.out.println("Decoding: ["+StringTestUtil.toString(data)+"]"); + + System.out.println(" - expected: ["+input+"]"); + + String output = StringTestUtil.decode(tag, data); + System.out.println(" - actual : ["+output+"]"); + + Assert.assertEquals(input, output); + } + + @Test + public void testEncodingNonPrintableCharacters() throws Exception { + + String string = StringTestUtil.NON_PRINTABLE_CHARS; + System.out.println("Encoding: ["+string+"]"); + + 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 testDecodingNonPrintableCharacters() throws Exception { + + String input = StringTestUtil.NON_PRINTABLE_CHARS; + byte[] data = JSSUtil.encode(tag, input); + + System.out.println("Decoding: ["+StringTestUtil.toString(data)+"]"); + + System.out.println(" - expected: ["+input+"]"); + + String output = StringTestUtil.decode(tag, data); + System.out.println(" - actual : ["+output+"]"); + + Assert.assertEquals(input, output); + } + + @Test + public void testEncodingControlCharacters() throws Exception { + + String string = StringTestUtil.CONTROL_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 testDecodingControlCharacters() throws Exception { + + String input = StringTestUtil.CONTROL_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 testEncodingMultibyteCharacters() throws Exception { + + String string = StringTestUtil.MULTIBYTE_CHARS; + System.out.println("Encoding: ["+string+"]"); + + 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 testDecodingMultibyteCharacters() throws Exception { + + String input = StringTestUtil.MULTIBYTE_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); + } +} |