mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-12 18:59:06 +01:00
Added accessors for the amount of raw data read and written by readers and writers - this fixes a fixme in MessageParserImpl.
This commit is contained in:
@@ -12,6 +12,7 @@ import java.security.MessageDigest;
|
||||
import java.security.PublicKey;
|
||||
import java.security.Signature;
|
||||
import java.security.spec.EncodedKeySpec;
|
||||
import java.security.spec.InvalidKeySpecException;
|
||||
import java.security.spec.X509EncodedKeySpec;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
@@ -82,10 +83,12 @@ public class BundleReadWriteTest extends TestCase {
|
||||
keyPair = KeyPairGenerator.getInstance(KEY_PAIR_ALGO).generateKeyPair();
|
||||
sig = Signature.getInstance(SIGNATURE_ALGO);
|
||||
digest = MessageDigest.getInstance(DIGEST_ALGO);
|
||||
final KeyFactory keyFactory = KeyFactory.getInstance(KEY_PAIR_ALGO);
|
||||
keyParser = new KeyParser() {
|
||||
public PublicKey parsePublicKey(byte[] encodedKey) throws GeneralSecurityException {
|
||||
public PublicKey parsePublicKey(byte[] encodedKey)
|
||||
throws InvalidKeySpecException {
|
||||
EncodedKeySpec e = new X509EncodedKeySpec(encodedKey);
|
||||
return KeyFactory.getInstance(KEY_PAIR_ALGO).generatePublic(e);
|
||||
return keyFactory.generatePublic(e);
|
||||
}
|
||||
};
|
||||
assertEquals(digest.getDigestLength(), UniqueId.LENGTH);
|
||||
|
||||
@@ -3,6 +3,7 @@ package net.sf.briar.serial;
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.IOException;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
@@ -343,6 +344,27 @@ public class ReaderImplTest extends TestCase {
|
||||
assertTrue(r.eof());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetRawBytesRead() throws IOException {
|
||||
setContents("F4" + "00" + "F4" + "00");
|
||||
assertEquals(0L, r.getRawBytesRead());
|
||||
Map<Object, Object> m = r.readMap(Object.class, Object.class);
|
||||
assertEquals(2L, r.getRawBytesRead());
|
||||
assertEquals(Collections.emptyMap(), m);
|
||||
m = r.readMap(Object.class, Object.class);
|
||||
assertEquals(4L, r.getRawBytesRead());
|
||||
assertEquals(Collections.emptyMap(), m);
|
||||
assertTrue(r.eof());
|
||||
assertEquals(4L, r.getRawBytesRead());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testReadEmptyInput() throws IOException {
|
||||
setContents("");
|
||||
assertTrue(r.eof());
|
||||
assertEquals(0L, r.getRawBytesRead());
|
||||
}
|
||||
|
||||
private void setContents(String hex) {
|
||||
in = new ByteArrayInputStream(StringUtils.fromHexString(hex));
|
||||
r = new ReaderImpl(in);
|
||||
|
||||
@@ -211,5 +211,6 @@ public class WriterImplTest extends TestCase {
|
||||
byte[] expected = StringUtils.fromHexString(hex);
|
||||
assertTrue(StringUtils.toHexString(out.toByteArray()),
|
||||
Arrays.equals(expected, out.toByteArray()));
|
||||
assertEquals(expected.length, w.getRawBytesWritten());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user