< prev index next >
test/jdk/java/nio/Buffer/Basic-X.java.template
Print this page
*** 167,176 ****
--- 167,215 ----
for (int i = 0; i < len; i++)
a[i + 7] = ($type$)ic(i);
b.position(42);
b.put(7, a, 7, len);
ck(b, b.position() == 42);
+ for (int i = 0; i < len; i++)
+ ck(b, ($type$)b.get(i + 7), ($type$)ic(i));
+ }
+
+ private static void absBulkPutBuffer($Type$Buffer b) {
+ int n = b.capacity();
+ b.clear();
+ int lim = n - 7;
+ int len = lim - 7;
+ b.limit(lim);
+ $Type$Buffer a;
+ #if[byte]
+ a = b.isDirect() ? ByteBuffer.allocateDirect(len + 7) :
+ ByteBuffer.allocate(len + 7);
+ #else[byte]
+ // $Type$ does not map to class name corresponding to primitive type for
+ // Char or Int so special cases are required.
+ int bytes =
+ #if[char]
+ Character.BYTES*(len + 7);
+ #else[char]
+ #if[int]
+ Integer.BYTES*(len + 7);
+ #else[int]
+ $Type$.BYTES*(len + 7);
+ #end[int]
+ #end[char]
+ a = b.isDirect() ? ByteBuffer.allocateDirect(bytes).as$Type$Buffer() :
+ ByteBuffer.allocate(bytes).as$Type$Buffer();
+ #end[byte]
+ for (int i = 0; i < len; i++)
+ a.put(i + 7, ($type$)ic(i));
+ a.position(7);
+ b.position(42);
+ b.put(7, a, 7, len);
+ ck(a, a.position() == 7);
+ ck(b, b.position() == 42);
+ for (int i = 0; i < len; i++)
+ ck(b, ($type$)b.get(i + 7), ($type$)ic(i));
}
//6231529
private static void callReset($Type$Buffer b) {
b.position(0);
*** 591,600 ****
--- 630,640 ----
relGet(b);
absBulkPutArray(b);
absBulkGet(b);
+ absBulkPutBuffer(b);
#if[char]
bulkPutString(b);
relGet(b);
b.position(1);
*** 937,946 ****
--- 977,987 ----
catchReadOnlyBuffer(b, () -> relPut(rb));
catchReadOnlyBuffer(b, () -> absPut(rb));
catchReadOnlyBuffer(b, () -> bulkPutArray(rb));
catchReadOnlyBuffer(b, () -> bulkPutBuffer(rb));
catchReadOnlyBuffer(b, () -> absBulkPutArray(rb));
+ catchReadOnlyBuffer(b, () -> absBulkPutBuffer(rb));
// put($Type$Buffer) should not change source position
final $Type$Buffer src = $Type$Buffer.allocate(1);
catchReadOnlyBuffer(b, () -> rb.put(src));
ck(src, src.position(), 0);
< prev index next >