am eaa2cabf: Merge "Fix problem where Base64InputStream single-byte reads were unsigned." into gingerbread

Merge commit 'eaa2cabf342e973925fb223104f9971deae27b17' into gingerbread-plus-aosp

* commit 'eaa2cabf342e973925fb223104f9971deae27b17':
  Fix problem where Base64InputStream single-byte reads were unsigned.
This commit is contained in:
Jesse Wilson
2010-09-22 11:51:11 -07:00
committed by Android Git Automerger
2 changed files with 12 additions and 1 deletions

View File

@ -112,7 +112,7 @@ public class Base64InputStream extends FilterInputStream {
if (outputStart >= outputEnd) {
return -1;
} else {
return coder.output[outputStart++];
return coder.output[outputStart++] & 0xff;
}
}

View File

@ -16,6 +16,9 @@
package android.util;
import java.io.IOException;
import java.io.InputStream;
import java.util.Arrays;
import junit.framework.TestCase;
import java.io.ByteArrayInputStream;
@ -404,6 +407,14 @@ public class Base64Test extends TestCase {
}
}
/** http://b/3026478 */
public void testSingleByteReads() throws IOException {
InputStream in = new Base64InputStream(
new ByteArrayInputStream("/v8=".getBytes()), Base64.DEFAULT);
assertEquals(254, in.read());
assertEquals(255, in.read());
}
/**
* Tests that Base64OutputStream produces exactly the same results
* as calling Base64.encode/.decode on an in-memory array.