Some tests for Base64 encoding.

This commit is contained in:
Luke Taylor 2011-08-11 23:04:27 +01:00
parent 59a07175a6
commit 45d938566c
2 changed files with 37 additions and 3 deletions

View File

@ -484,8 +484,8 @@ public final class Base64 {
* @since 1.3
*/
private static int decode4to3(
byte[] source, int srcOffset,
byte[] destination, int destOffset, int options ) {
final byte[] source, final int srcOffset,
final byte[] destination, final int destOffset, final int options ) {
// Lots of error checking and exception throwing
if( source == null ){
@ -570,7 +570,7 @@ public final class Base64 {
* @return decoded data
* @throws IllegalArgumentException If bogus characters exist in source data
*/
private static byte[] decode( byte[] source, int off, int len, int options ) {
private static byte[] decode(final byte[] source, final int off, final int len, final int options ) {
// Lots of error checking and exception throwing
if( source == null ){

View File

@ -0,0 +1,34 @@
package org.springframework.security.crypto.codec;
import static org.junit.Assert.*;
import org.junit.*;
/**
* @author Luke Taylor
*/
public class Base64Tests {
@Test
public void isBase64ReturnsTrueForValidBase64() {
new Base64(); // unused
assertTrue(Base64.isBase64(new byte[]{ (byte)'A',(byte)'B',(byte)'C',(byte)'D'}));
}
@Test
public void isBase64ReturnsFalseForInvalidBase64() throws Exception {
// Include invalid '`' character
assertFalse(Base64.isBase64(new byte[]{ (byte)'A',(byte)'B',(byte)'C',(byte)'`'}));
}
@Test(expected = NullPointerException.class)
public void isBase64RejectsNull() {
Base64.isBase64(null);
}
@Test(expected = IllegalArgumentException.class)
public void isBase64RejectsInvalidLength() {
Base64.isBase64(new byte[]{ (byte)'A'});
}
}