/** @tests java.security.MessageDigestSpi#clone() */ public void test_clone() throws CloneNotSupportedException { MyMessageDigest md = new MyMessageDigest(); try { md.clone(); fail("No expected CloneNotSupportedException"); } catch (CloneNotSupportedException e) { } MyMessageDigestCloneable mdc = new MyMessageDigestCloneable(); assertNotSame(mdc, mdc.clone()); }
/** java.security.MessageDigestSpi#engineUpdate(ByteBuffer) */ public void test_engineUpdateLjava_nio_ByteBuffer() { MyMessageDigest md = new MyMessageDigest(); byte[] b = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; ByteBuffer buf = ByteBuffer.wrap(b, 0, b.length); buf.get(b); int limit = buf.limit(); md.engineUpdate(buf); assertEquals(limit, buf.limit()); assertEquals(limit, buf.position()); buf = ByteBuffer.wrap(b, 0, b.length); buf.get(); buf.get(); buf.get(); md.engineUpdate(buf); assertEquals(limit, buf.limit()); assertEquals(limit, buf.position()); }
/** java.security.MessageDigestSpi#engineDigest(byte[], int, int) */ public void test_engineDigestLB$LILI() throws Exception { final int DIGEST_LENGTH = 2; MyMessageDigest md = new MyMessageDigest() { public int engineGetDigestLength() { return DIGEST_LENGTH; } public byte[] engineDigest() { return new byte[DIGEST_LENGTH]; // return non-null value } }; byte[] b = new byte[5]; try { // test: null output buffer md.engineDigest(null, 1, DIGEST_LENGTH); fail("No expected NullPointerException"); } catch (NullPointerException e) { } try { // test: len param < digest length md.engineDigest(b, 1, DIGEST_LENGTH - 1); fail("No expected DigestException"); } catch (DigestException e) { } assertEquals("incorrect result", DIGEST_LENGTH, md.engineDigest(b, 1, 3)); // Regression for HARMONY-3045 md = new MyMessageDigest(); try { md.engineDigest(b, 0, 1); fail("should throw NullPointerException"); } catch (NullPointerException e) { // expected } }
/** java.security.MessageDigestSpi#engineGetDigestLength() */ public void test_engineGetDigestLength() { MyMessageDigest md = new MyMessageDigest(); assertEquals(0, md.engineGetDigestLength()); }