Hi, Base64InputStream and Base64OutputStream are coming along. They both have JUnit tests now:
Source: http://juliusdavies.ca/codec/src/java/org/apache/commons/codec/binary/ JUnit: http://juliusdavies.ca/codec/src/test/org/apache/commons/codec/binary/ I still need to do some more javadocs before I attach a patch to the JIRA ticket. Right now the JUnits test byte-by-byte operation of the streams (e.g. int i = in.read()), so I'd like to also introduce chunk-by-chunk JUnit tests as well. This was a fun test! (Wrap the InputStream over and over and over again with decoding then encoding then decoding...). InputStream in = new ByteArrayInputStream(data); in = new Base64InputStream(in, true); in = new Base64InputStream(in, false); in = new Base64InputStream(in, true); in = new Base64InputStream(in, false); in = new Base64InputStream(in, true); in = new Base64InputStream(in, false); in = new Base64InputStream(in, true); in = new Base64InputStream(in, false); in = new Base64InputStream(in, true); in = new Base64InputStream(in, false); in = new Base64InputStream(in, true); in = new Base64InputStream(in, false); in = new Base64InputStream(in, true); in = new Base64InputStream(in, false); in = new Base64InputStream(in, true); in = new Base64InputStream(in, false); yours, Julius On Tue, Jun 10, 2008 at 3:30 AM, sebb <[EMAIL PROTECTED]> wrote: > On 10/06/2008, Julius Davies <[EMAIL PROTECTED]> wrote: >> Hi, >> >> >> Here's what a streaming version of Base64 looks like (without javadocs). >> >> >> http://juliusdavies.ca/codec/src/java/org/apache/commons/codec/binary/Base64.java >> > > Just curious - why use a byte for the chunk size? > I would have thought an int would be more usual (possibly accompanied > by a range check). > Likewise modulus - using an int would avoid a few casts. > > Or maybe these are from the original code. > > http://juliusdavies.ca/codec/src/java/org/apache/commons/codec/binary/Base64InputStream.java >> >> >> I'll submit a proper patch once I have the javadocs and streaming >> junits put together. >> >> Note: all the pre-existing Base64 unit tests are passing! (They were >> very helpful). >> >> >> Thanks to Jochen Wiedmann for pointing out the base64 streaming code >> in ws-commons-util that this is based on. >> >> >> >> -- >> yours, >> >> Julius Davies >> 250-592-2284 (Home) >> 250-893-4579 (Mobile) >> http://juliusdavies.ca/ >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- yours, Julius Davies 250-592-2284 (Home) 250-893-4579 (Mobile) http://juliusdavies.ca/ --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]