/** @tests java.security.MessageDigest#digest(byte[], int, int) */ @TestTargetNew( level = TestLevel.PARTIAL_COMPLETE, notes = "", method = "digest", args = {byte[].class, int.class, int.class}) public void test_digestLB$LILI() throws Exception { MyMessageDigest1 md = new MyMessageDigest1("ABC"); byte[] b = {1, 2, 3, 4, 5}; assertEquals("incorrect result", 0, md.digest(b, 2, 3)); assertTrue("digest failed", md.runEngineDigest); // Regression for Harmony-1148 md = new MyMessageDigest1(); final byte[] bytes = new byte[] {2, 4, 1}; try { // buf == null md.digest(null, 0, 1); fail("No expected IllegalArgumentException"); } catch (IllegalArgumentException e) { } try { // offset + len > buf.length md.digest(bytes, 0, bytes.length + 1); fail("No expected IllegalArgumentException"); } catch (IllegalArgumentException e) { } try { // offset + len > Integer.MAX_VALUE md.digest(bytes, Integer.MAX_VALUE, 1); fail("No expected IllegalArgumentException"); } catch (IllegalArgumentException e) { } // offset<0 and len<0 are passed to provider final int offset = -1; final int len = -1; final int status = 33; md = new MyMessageDigest1("ABC") { @Override public int engineDigest(byte[] arg0, int arg1, int arg2) { assertSame("buf", bytes, arg0); assertEquals("offset", offset, arg1); assertEquals("len", len, arg2); return status; } }; assertEquals("returned status", status, md.digest(bytes, offset, len)); try { MessageDigest digest = MessageDigest.getInstance("TestDigest", new TestProvider()); digest.digest(new byte[5], 0, 5); fail("expected DigestException"); } catch (DigestException e) { // ok } }
/** @tests java.security.MessageDigest#digest() */ @TestTargetNew( level = TestLevel.COMPLETE, notes = "", method = "digest", args = {}) public void test_digest() { MyMessageDigest1 md = new MyMessageDigest1("ABC"); assertEquals("incorrect result", 0, md.digest().length); assertTrue(md.runEngineDigest); }