Add more tests to EmptyByteBufTest
- Ensure an EmptyByteBuf has an array, an NIO buffer, and a memory address at the same time - Add an assertion that checks if EMPTY_BUFFER is an EmptyByteBuf, just in case we make a mistake in the future
This commit is contained in:
parent
2c55089327
commit
bcd8b07141
@ -93,6 +93,10 @@ public final class Unpooled {
|
|||||||
*/
|
*/
|
||||||
public static final ByteBuf EMPTY_BUFFER = ALLOC.buffer(0, 0);
|
public static final ByteBuf EMPTY_BUFFER = ALLOC.buffer(0, 0);
|
||||||
|
|
||||||
|
static {
|
||||||
|
assert EMPTY_BUFFER instanceof EmptyByteBuf: "EMPTY_BUFFER must be an EmptyByteBuf.";
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a new big-endian Java heap buffer with reasonably small initial capacity, which
|
* Creates a new big-endian Java heap buffer with reasonably small initial capacity, which
|
||||||
* expands its capacity boundlessly on demand.
|
* expands its capacity boundlessly on demand.
|
||||||
|
@ -17,6 +17,9 @@
|
|||||||
import org.junit.Assert;
|
import org.junit.Assert;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
|
import static org.hamcrest.Matchers.*;
|
||||||
|
import static org.junit.Assert.*;
|
||||||
|
|
||||||
public class EmptyByteBufTest {
|
public class EmptyByteBufTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@ -32,4 +35,37 @@ public class EmptyByteBufTest {
|
|||||||
Assert.assertFalse(empty.isReadable());
|
Assert.assertFalse(empty.isReadable());
|
||||||
Assert.assertFalse(empty.isReadable(1));
|
Assert.assertFalse(empty.isReadable(1));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testArray() {
|
||||||
|
EmptyByteBuf empty = new EmptyByteBuf(UnpooledByteBufAllocator.DEFAULT);
|
||||||
|
assertThat(empty.hasArray(), is(true));
|
||||||
|
assertThat(empty.array().length, is(0));
|
||||||
|
assertThat(empty.arrayOffset(), is(0));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testNioBuffer() {
|
||||||
|
EmptyByteBuf empty = new EmptyByteBuf(UnpooledByteBufAllocator.DEFAULT);
|
||||||
|
assertThat(empty.nioBufferCount(), is(1));
|
||||||
|
assertThat(empty.nioBuffer().position(), is(0));
|
||||||
|
assertThat(empty.nioBuffer().limit(), is(0));
|
||||||
|
assertThat(empty.nioBuffer(), is(sameInstance(empty.nioBuffer())));
|
||||||
|
assertThat(empty.nioBuffer(), is(sameInstance(empty.internalNioBuffer(0, 0))));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testMemoryAddress() {
|
||||||
|
EmptyByteBuf empty = new EmptyByteBuf(UnpooledByteBufAllocator.DEFAULT);
|
||||||
|
if (empty.hasMemoryAddress()) {
|
||||||
|
assertThat(empty.memoryAddress(), is(not(0L)));
|
||||||
|
} else {
|
||||||
|
try {
|
||||||
|
empty.memoryAddress();
|
||||||
|
fail();
|
||||||
|
} catch (UnsupportedOperationException ignored) {
|
||||||
|
// Ignore.
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user