@Test public void testRawOffset() { try { entry.setRawOffset(UNKNOWN - 1); fail(); } catch (IllegalArgumentException expected) { } try { entry.setRawOffset(ULong.MIN_VALUE - 1); fail(); } catch (IllegalArgumentException expected) { } try { entry.setRawOffset(ULong.MAX_VALUE + 1); fail(); } catch (IllegalArgumentException expected) { } assertEquals(UNKNOWN, entry.getOffset()); assertEquals(0, entry.getRawOffset()); entry.setRawOffset(UInt.MIN_VALUE); assertEquals(UInt.MIN_VALUE, entry.getOffset()); assertEquals(UInt.MIN_VALUE, entry.getRawOffset()); entry.setRawOffset(UInt.MAX_VALUE); assertEquals(UInt.MAX_VALUE, entry.getOffset()); assertEquals(UInt.MAX_VALUE, entry.getRawOffset()); entry.setRawOffset(UInt.MAX_VALUE + 1); // ZIP64! assertEquals(UInt.MAX_VALUE + 1, entry.getOffset()); assertEquals(UInt.MAX_VALUE, entry.getRawOffset()); }
if (UInt.MAX_VALUE <= offset) { assert UInt.MAX_VALUE == offset; setRawOffset(readLong(data, off));
entry.setRawOffset(lfhOff); // must be unmapped!
entry.setRawOffset(UInt.MAX_VALUE);
entry.setRawOffset(mapper.unmap(fp));