use of java.nio.BufferUnderflowException in project intellij-community by JetBrains.
the class Native2AsciiCharsetEncoder method encodeLoop.
protected CoderResult encodeLoop(CharBuffer in, ByteBuffer out) {
while (in.position() < in.limit()) {
in.mark();
try {
char c = in.get();
if (c < '') {
ByteBuffer byteBuffer = myBaseCharset.encode(Character.toString(c));
out.put(byteBuffer);
} else {
if (out.remaining() < 6)
throw new BufferOverflowException();
out.put((byte) '\\');
out.put((byte) 'u');
out.put(toHexChar(c >> 12));
out.put(toHexChar((c >> 8) & 0xf));
out.put(toHexChar((c >> 4) & 0xf));
out.put(toHexChar(c & 0xf));
}
} catch (BufferUnderflowException e) {
in.reset();
} catch (BufferOverflowException e) {
in.reset();
return CoderResult.OVERFLOW;
}
}
return CoderResult.UNDERFLOW;
}
use of java.nio.BufferUnderflowException in project robovm by robovm.
the class BufferUnderflowExceptionTest method test_Constructor.
/**
*@tests {@link java.nio.BufferUnderflowException#BufferUnderflowException()}
*/
public void test_Constructor() {
BufferUnderflowException exception = new BufferUnderflowException();
assertNull(exception.getMessage());
assertNull(exception.getLocalizedMessage());
assertNull(exception.getCause());
}
use of java.nio.BufferUnderflowException in project robovm by robovm.
the class ByteBufferTest method testGetbyteArray.
/*
* Class under test for java.nio.ByteBuffer get(byte[])
*/
public void testGetbyteArray() {
byte[] array = new byte[1];
buf.clear();
for (int i = 0; i < buf.capacity(); i++) {
assertEquals(buf.position(), i);
ByteBuffer ret = buf.get(array);
assertEquals(array[0], buf.get(i));
assertSame(ret, buf);
}
try {
buf.get(array);
//$NON-NLS-1$
fail("Should throw Exception");
} catch (BufferUnderflowException e) {
// expected
}
try {
buf.get((byte[]) null);
//$NON-NLS-1$
fail("Should throw Exception");
} catch (NullPointerException e) {
// expected
}
}
use of java.nio.BufferUnderflowException in project robovm by robovm.
the class LongBufferTest method testGetlongArray.
/*
* Class under test for java.nio.LongBuffer get(long[])
*/
public void testGetlongArray() {
long[] array = new long[1];
buf.clear();
for (int i = 0; i < buf.capacity(); i++) {
assertEquals(buf.position(), i);
LongBuffer ret = buf.get(array);
assertEquals(array[0], buf.get(i));
assertSame(ret, buf);
}
try {
buf.get(array);
//$NON-NLS-1$
fail("Should throw Exception");
} catch (BufferUnderflowException e) {
// expected
}
try {
buf.position(buf.limit());
buf.get((long[]) null);
//$NON-NLS-1$
fail("Should throw Exception");
} catch (NullPointerException e) {
// expected
}
}
use of java.nio.BufferUnderflowException in project robovm by robovm.
the class LongBufferTest method testGetlongArrayintint.
/*
* Class under test for java.nio.LongBuffer get(long[], int, int)
*/
public void testGetlongArrayintint() {
buf.clear();
long[] array = new long[buf.capacity()];
try {
buf.get(new long[buf.capacity() + 1], 0, buf.capacity() + 1);
//$NON-NLS-1$
fail("Should throw Exception");
} catch (BufferUnderflowException e) {
// expected
}
assertEquals(buf.position(), 0);
try {
buf.get(array, -1, array.length);
//$NON-NLS-1$
fail("Should throw Exception");
} catch (IndexOutOfBoundsException e) {
// expected
}
buf.get(array, array.length, 0);
try {
buf.get(array, array.length + 1, 1);
//$NON-NLS-1$
fail("Should throw Exception");
} catch (IndexOutOfBoundsException e) {
// expected
}
assertEquals(buf.position(), 0);
try {
buf.get(array, 2, -1);
//$NON-NLS-1$
fail("Should throw Exception");
} catch (IndexOutOfBoundsException e) {
// expected
}
try {
buf.get((long[]) null, 2, -1);
//$NON-NLS-1$
fail("Should throw Exception");
} catch (NullPointerException e) {
// expected
}
try {
buf.get(array, 2, array.length);
//$NON-NLS-1$
fail("Should throw Exception");
} catch (IndexOutOfBoundsException e) {
// expected
}
try {
buf.get(array, 1, Integer.MAX_VALUE);
//$NON-NLS-1$
fail("Should throw Exception");
} catch (BufferUnderflowException expected) {
} catch (IndexOutOfBoundsException expected) {
}
try {
buf.get(array, Integer.MAX_VALUE, 1);
//$NON-NLS-1$
fail("Should throw Exception");
} catch (IndexOutOfBoundsException e) {
// expected
}
assertEquals(buf.position(), 0);
buf.clear();
LongBuffer ret = buf.get(array, 0, array.length);
assertEquals(buf.position(), buf.capacity());
assertContentEquals(buf, array, 0, array.length);
assertSame(ret, buf);
}
Aggregations