Skip to content

Commit 5863b17

Browse files
Fix ByteBuffer ordering to account for reader endianness
1 parent 98f04a2 commit 5863b17

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

src/test/java/com/glencoesoftware/raw2ometiff/test/ConversionTest.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import java.io.IOException;
1212
import java.lang.reflect.Array;
1313
import java.nio.ByteBuffer;
14+
import java.nio.ByteOrder;
1415
import java.nio.ShortBuffer;
1516
import java.nio.file.Files;
1617
import java.nio.file.Path;
@@ -473,7 +474,10 @@ public void testEdgePaddingUint16(String version) throws Exception {
473474
Assert.assertEquals(2, reader.getResolutionCount());
474475
Assert.assertEquals(240, reader.getOptimalTileWidth());
475476
Assert.assertEquals(240, reader.getOptimalTileHeight());
476-
ShortBuffer plane = ByteBuffer.wrap(reader.openBytes(0)).asShortBuffer();
477+
boolean le = reader.isLittleEndian();
478+
ByteOrder order = le ? ByteOrder.LITTLE_ENDIAN : ByteOrder.BIG_ENDIAN;
479+
ByteBuffer bytes = ByteBuffer.wrap(reader.openBytes(0)).order(order);
480+
ShortBuffer plane = bytes.asShortBuffer();
477481
Assert.assertEquals(512 * 512, plane.capacity());
478482
int offset = 0;
479483
for (int y = 0; y < reader.getSizeY(); y++) {

0 commit comments

Comments
 (0)