You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by ah...@apache.org on 2020/06/30 14:16:46 UTC
[commons-codec] 10/18: Address code-review comments by @aherbert
This is an automated email from the ASF dual-hosted git repository.
aherbert pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-codec.git
commit 065b10626510274312ff260b4ac1cd9fc964fa24
Author: Adam Retter <ad...@googlemail.com>
AuthorDate: Wed Jun 24 13:05:40 2020 +0200
Address code-review comments by @aherbert
---
.../org/apache/commons/codec/binary/Base16.java | 8 +++---
.../apache/commons/codec/binary/Base16Test.java | 30 ++++++++++++----------
2 files changed, 20 insertions(+), 18 deletions(-)
diff --git a/src/main/java/org/apache/commons/codec/binary/Base16.java b/src/main/java/org/apache/commons/codec/binary/Base16.java
index 5db9043..86ba2cf 100644
--- a/src/main/java/org/apache/commons/codec/binary/Base16.java
+++ b/src/main/java/org/apache/commons/codec/binary/Base16.java
@@ -149,14 +149,14 @@ public class Base16 extends BaseNCodec {
void decode(final byte[] data, int offset, final int length, final Context context) {
if (context.eof || length < 0) {
context.eof = true;
- if (context.ibitWorkArea > 0) {
+ if (context.ibitWorkArea != 0) {
validateTrailingCharacter();
}
return;
}
final int dataLen = Math.min(data.length - offset, length);
- final int availableChars = (context.ibitWorkArea > 0 ? 1 : 0) + dataLen;
+ final int availableChars = (context.ibitWorkArea != 0 ? 1 : 0) + dataLen;
// small optimisation to short-cut the rest of this method when it is fed byte-by-byte
if (availableChars == 1 && availableChars == dataLen) {
@@ -198,7 +198,7 @@ public class Base16 extends BaseNCodec {
private int decodeOctet(final byte octet) {
int decoded = -1;
- if (octet >= 0 && octet < decodeTable.length) {
+ if ((octet & 0xff) < decodeTable.length) {
decoded = decodeTable[octet];
}
@@ -241,7 +241,7 @@ public class Base16 extends BaseNCodec {
*/
@Override
public boolean isInAlphabet(final byte octet) {
- return octet >= 0 && octet < decodeTable.length && decodeTable[octet] != -1;
+ return (octet & 0xff) < decodeTable.length && decodeTable[octet] != -1;
}
/**
diff --git a/src/test/java/org/apache/commons/codec/binary/Base16Test.java b/src/test/java/org/apache/commons/codec/binary/Base16Test.java
index 577a842..0c06553 100644
--- a/src/test/java/org/apache/commons/codec/binary/Base16Test.java
+++ b/src/test/java/org/apache/commons/codec/binary/Base16Test.java
@@ -32,6 +32,7 @@ import java.util.Random;
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
@@ -116,8 +117,8 @@ public class Base16Test {
@Test
public void testConstructor_LowerCase() {
- final Base16 Base16 = new Base16(true);
- final byte[] encoded = Base16.encode(BaseNTestData.DECODED);
+ final Base16 base16 = new Base16(true);
+ final byte[] encoded = base16.encode(BaseNTestData.DECODED);
final String expectedResult = Base16TestData.ENCODED_UTF8_LOWERCASE;
final String result = StringUtils.newStringUtf8(encoded);
assertEquals("new Base16(true)", expectedResult, result);
@@ -125,11 +126,11 @@ public class Base16Test {
@Test
public void testConstructor_LowerCase_DecodingPolicy() {
- final Base16 Base16 = new Base16(false, CodecPolicy.STRICT);
- final byte[] encoded = Base16.encode(BaseNTestData.DECODED);
+ final Base16 base16 = new Base16(false, CodecPolicy.STRICT);
+ final byte[] encoded = base16.encode(BaseNTestData.DECODED);
final String expectedResult = Base16TestData.ENCODED_UTF8_UPPERCASE;
final String result = StringUtils.newStringUtf8(encoded);
- assertEquals("new Base16(false, CodecPolicy.STRICT)", result, expectedResult);
+ assertEquals("new base16(false, CodecPolicy.STRICT)", result, expectedResult);
}
/**
@@ -435,27 +436,27 @@ public class Base16Test {
@Test
public void testByteToStringVariations() throws DecoderException {
- final Base16 Base16 = new Base16();
+ final Base16 base16 = new Base16();
final byte[] b1 = StringUtils.getBytesUtf8("Hello World");
final byte[] b2 = new byte[0];
final byte[] b3 = null;
- assertEquals("byteToString Hello World", "48656C6C6F20576F726C64", Base16.encodeToString(b1));
+ assertEquals("byteToString Hello World", "48656C6C6F20576F726C64", base16.encodeToString(b1));
assertEquals("byteToString static Hello World", "48656C6C6F20576F726C64", StringUtils.newStringUtf8(new Base16().encode(b1)));
- assertEquals("byteToString \"\"", "", Base16.encodeToString(b2));
+ assertEquals("byteToString \"\"", "", base16.encodeToString(b2));
assertEquals("byteToString static \"\"", "", StringUtils.newStringUtf8(new Base16().encode(b2)));
- assertEquals("byteToString null", null, Base16.encodeToString(b3));
+ assertEquals("byteToString null", null, base16.encodeToString(b3));
assertEquals("byteToString static null", null, StringUtils.newStringUtf8(new Base16().encode(b3)));
}
@Test
public void testStringToByteVariations() throws DecoderException {
- final Base16 Base16 = new Base16();
+ final Base16 base16 = new Base16();
final String s1 = "48656C6C6F20576F726C64";
final String s2 = "";
final String s3 = null;
- assertEquals("StringToByte Hello World", "Hello World", StringUtils.newStringUtf8(Base16.decode(s1)));
+ assertEquals("StringToByte Hello World", "Hello World", StringUtils.newStringUtf8(base16.decode(s1)));
assertEquals("StringToByte Hello World", "Hello World",
StringUtils.newStringUtf8((byte[]) new Base16().decode((Object) s1)));
assertEquals("StringToByte static Hello World", "Hello World",
@@ -587,22 +588,23 @@ public class Base16Test {
@Test
public void testDecodeSingleBytesOptimisation() {
final BaseNCodec.Context context = new BaseNCodec.Context();
- context.ibitWorkArea = 0;
+ assertEquals(0, context.ibitWorkArea);
+ assertNull(context.buffer);
final byte[] data = new byte[1];
final Base16 b16 = new Base16();
- assertEquals(0, context.ibitWorkArea);
data[0] = (byte) 'E';
b16.decode(data, 0, 1, context);
assertEquals(15, context.ibitWorkArea);
+ assertNull(context.buffer);
data[0] = (byte) 'F';
b16.decode(data, 0, 1, context);
assertEquals(0, context.ibitWorkArea);
- assertEquals(-17, context.buffer[0]);
+ assertEquals((byte)0xEF, context.buffer[0]);
}
@Test(expected=IllegalArgumentException.class)