Add BareDexBuffer for testing DexBuffer

This commit is contained in:
Ben Gruver 2012-10-21 21:24:32 -07:00
parent e593a563ae
commit 198c33bc26
6 changed files with 96 additions and 48 deletions

View File

@ -40,8 +40,16 @@ public class DexBuffer {
// TODO: consider using a direct ByteBuffer instead // TODO: consider using a direct ByteBuffer instead
@Nonnull protected final byte[] buf; @Nonnull protected final byte[] buf;
public DexBuffer(@Nonnull byte[] buf) { protected DexBuffer(@Nonnull byte[] buf, boolean bare) {
this.buf = buf; this.buf = buf;
if (!bare) {
// read header, verify magic, etc. etc.
}
}
public DexBuffer(@Nonnull byte[] buf) {
this(buf, false);
} }
public int getFieldIdItemOffset(int fieldIndex) { public int getFieldIdItemOffset(int fieldIndex) {

View File

@ -0,0 +1,40 @@
/*
* Copyright 2012, Google Inc.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
*
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following disclaimer
* in the documentation and/or other materials provided with the
* distribution.
* * Neither the name of Google Inc. nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package org.jf.dexlib2.dexbacked;
import javax.annotation.Nonnull;
public class BareDexBuffer extends DexBuffer {
public BareDexBuffer(@Nonnull byte[] buf) {
super(buf, true);
}
}

View File

@ -42,56 +42,56 @@ import java.util.Random;
public class DexBufferTest { public class DexBufferTest {
@Test @Test
public void testReadSmallUintSuccess() { public void testReadSmallUintSuccess() {
DexBuffer dexBuf = new DexBuffer(new byte[] {0x11, 0x22, 0x33, 0x44}); BareDexBuffer dexBuf = new BareDexBuffer(new byte[] {0x11, 0x22, 0x33, 0x44});
Assert.assertEquals(0x44332211, dexBuf.readSmallUint(0)); Assert.assertEquals(0x44332211, dexBuf.readSmallUint(0));
dexBuf = new DexBuffer(new byte[] {0x00, 0x00, 0x00, 0x00}); dexBuf = new BareDexBuffer(new byte[] {0x00, 0x00, 0x00, 0x00});
Assert.assertEquals(0, dexBuf.readSmallUint(0)); Assert.assertEquals(0, dexBuf.readSmallUint(0));
dexBuf = new DexBuffer(new byte[] {(byte)0xff, (byte)0xff, (byte)0xff, 0x7f}); dexBuf = new BareDexBuffer(new byte[] {(byte)0xff, (byte)0xff, (byte)0xff, 0x7f});
Assert.assertEquals(0x7fffffff, dexBuf.readSmallUint(0)); Assert.assertEquals(0x7fffffff, dexBuf.readSmallUint(0));
} }
@Test(expected=ExceptionWithContext.class) @Test(expected=ExceptionWithContext.class)
public void testReadSmallUintTooLarge1() { public void testReadSmallUintTooLarge1() {
DexBuffer dexBuf = new DexBuffer(new byte[] {0x00, 0x00, 0x00, (byte)0x80}); BareDexBuffer dexBuf = new BareDexBuffer(new byte[] {0x00, 0x00, 0x00, (byte)0x80});
dexBuf.readSmallUint(0); dexBuf.readSmallUint(0);
} }
@Test(expected=ExceptionWithContext.class) @Test(expected=ExceptionWithContext.class)
public void testReadSmallUintTooLarge2() { public void testReadSmallUintTooLarge2() {
DexBuffer dexBuf = new DexBuffer(new byte[] {(byte)0xff, (byte)0xff, (byte)0xff, (byte)0x80}); BareDexBuffer dexBuf = new BareDexBuffer(new byte[] {(byte)0xff, (byte)0xff, (byte)0xff, (byte)0x80});
dexBuf.readSmallUint(0); dexBuf.readSmallUint(0);
} }
@Test(expected=ExceptionWithContext.class) @Test(expected=ExceptionWithContext.class)
public void testReadSmallUintTooLarge3() { public void testReadSmallUintTooLarge3() {
DexBuffer dexBuf = new DexBuffer(new byte[] {(byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff}); BareDexBuffer dexBuf = new BareDexBuffer(new byte[] {(byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff});
dexBuf.readSmallUint(0); dexBuf.readSmallUint(0);
} }
@Test @Test
public void testReadUshort() { public void testReadUshort() {
DexBuffer dexBuf = new DexBuffer(new byte[] {0x11, 0x22}); BareDexBuffer dexBuf = new BareDexBuffer(new byte[] {0x11, 0x22});
Assert.assertEquals(dexBuf.readUshort(0), 0x2211); Assert.assertEquals(dexBuf.readUshort(0), 0x2211);
dexBuf = new DexBuffer(new byte[] {0x00, 0x00}); dexBuf = new BareDexBuffer(new byte[] {0x00, 0x00});
Assert.assertEquals(dexBuf.readUshort(0), 0); Assert.assertEquals(dexBuf.readUshort(0), 0);
dexBuf = new DexBuffer(new byte[] {(byte)0xff, (byte)0xff}); dexBuf = new BareDexBuffer(new byte[] {(byte)0xff, (byte)0xff});
Assert.assertEquals(dexBuf.readUshort(0), 0xffff); Assert.assertEquals(dexBuf.readUshort(0), 0xffff);
dexBuf = new DexBuffer(new byte[] {(byte)0x00, (byte)0x80}); dexBuf = new BareDexBuffer(new byte[] {(byte)0x00, (byte)0x80});
Assert.assertEquals(dexBuf.readUshort(0), 0x8000); Assert.assertEquals(dexBuf.readUshort(0), 0x8000);
dexBuf = new DexBuffer(new byte[] {(byte)0xff, (byte)0x7f}); dexBuf = new BareDexBuffer(new byte[] {(byte)0xff, (byte)0x7f});
Assert.assertEquals(dexBuf.readUshort(0), 0x7fff); Assert.assertEquals(dexBuf.readUshort(0), 0x7fff);
} }
@Test @Test
public void testReadUbyte() { public void testReadUbyte() {
byte[] buf = new byte[1]; byte[] buf = new byte[1];
DexBuffer dexBuf = new DexBuffer(buf); BareDexBuffer dexBuf = new BareDexBuffer(buf);
for (int i=0; i<=0xff; i++) { for (int i=0; i<=0xff; i++) {
buf[0] = (byte)i; buf[0] = (byte)i;
@ -101,24 +101,24 @@ public class DexBufferTest {
@Test @Test
public void testReadLong() { public void testReadLong() {
DexBuffer dexBuf = new DexBuffer(new byte[] {0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77}); BareDexBuffer dexBuf = new BareDexBuffer(new byte[] {0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77});
Assert.assertEquals(0x7766554433221100L, dexBuf.readLong(0)); Assert.assertEquals(0x7766554433221100L, dexBuf.readLong(0));
dexBuf = new DexBuffer(new byte[] {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}); dexBuf = new BareDexBuffer(new byte[] {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00});
Assert.assertEquals(0, dexBuf.readLong(0)); Assert.assertEquals(0, dexBuf.readLong(0));
dexBuf = new DexBuffer(new byte[] {(byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, dexBuf = new BareDexBuffer(new byte[] {(byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff,
(byte)0xff, (byte)0xff, (byte)0xff, 0x7f}); (byte)0xff, (byte)0xff, (byte)0xff, 0x7f});
Assert.assertEquals(Long.MAX_VALUE, dexBuf.readLong(0)); Assert.assertEquals(Long.MAX_VALUE, dexBuf.readLong(0));
dexBuf = new DexBuffer(new byte[] {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, (byte)0x80}); dexBuf = new BareDexBuffer(new byte[] {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, (byte)0x80});
Assert.assertEquals(Long.MIN_VALUE, dexBuf.readLong(0)); Assert.assertEquals(Long.MIN_VALUE, dexBuf.readLong(0));
dexBuf = new DexBuffer(new byte[] {(byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, dexBuf = new BareDexBuffer(new byte[] {(byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff,
(byte)0xff, (byte)0xff, (byte)0xff, (byte)0x80}); (byte)0xff, (byte)0xff, (byte)0xff, (byte)0x80});
Assert.assertEquals(0x80ffffffffffffffL, dexBuf.readLong(0)); Assert.assertEquals(0x80ffffffffffffffL, dexBuf.readLong(0));
dexBuf = new DexBuffer(new byte[] {(byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, dexBuf = new BareDexBuffer(new byte[] {(byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff,
(byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff}); (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff});
Assert.assertEquals(-1, dexBuf.readLong(0)); Assert.assertEquals(-1, dexBuf.readLong(0));
@ -126,50 +126,50 @@ public class DexBufferTest {
@Test @Test
public void testReadInt() { public void testReadInt() {
DexBuffer dexBuf = new DexBuffer(new byte[] {0x11, 0x22, 0x33, 0x44}); BareDexBuffer dexBuf = new BareDexBuffer(new byte[] {0x11, 0x22, 0x33, 0x44});
Assert.assertEquals(0x44332211, dexBuf.readInt(0)); Assert.assertEquals(0x44332211, dexBuf.readInt(0));
dexBuf = new DexBuffer(new byte[] {0x00, 0x00, 0x00, 0x00}); dexBuf = new BareDexBuffer(new byte[] {0x00, 0x00, 0x00, 0x00});
Assert.assertEquals(0, dexBuf.readInt(0)); Assert.assertEquals(0, dexBuf.readInt(0));
dexBuf = new DexBuffer(new byte[] {(byte)0xff, (byte)0xff, (byte)0xff, 0x7f}); dexBuf = new BareDexBuffer(new byte[] {(byte)0xff, (byte)0xff, (byte)0xff, 0x7f});
Assert.assertEquals(Integer.MAX_VALUE, dexBuf.readInt(0)); Assert.assertEquals(Integer.MAX_VALUE, dexBuf.readInt(0));
dexBuf = new DexBuffer(new byte[] {0x00, 0x00, 0x00, (byte)0x80}); dexBuf = new BareDexBuffer(new byte[] {0x00, 0x00, 0x00, (byte)0x80});
Assert.assertEquals(Integer.MIN_VALUE, dexBuf.readInt(0)); Assert.assertEquals(Integer.MIN_VALUE, dexBuf.readInt(0));
dexBuf = new DexBuffer(new byte[] {(byte)0xff, (byte)0xff, (byte)0xff, (byte)0x80}); dexBuf = new BareDexBuffer(new byte[] {(byte)0xff, (byte)0xff, (byte)0xff, (byte)0x80});
Assert.assertEquals(0x80ffffff, dexBuf.readInt(0)); Assert.assertEquals(0x80ffffff, dexBuf.readInt(0));
dexBuf = new DexBuffer(new byte[] {(byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff}); dexBuf = new BareDexBuffer(new byte[] {(byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff});
Assert.assertEquals(-1, dexBuf.readInt(0)); Assert.assertEquals(-1, dexBuf.readInt(0));
} }
@Test @Test
public void testReadShort() { public void testReadShort() {
DexBuffer dexBuf = new DexBuffer(new byte[] {0x11, 0x22}); BareDexBuffer dexBuf = new BareDexBuffer(new byte[] {0x11, 0x22});
Assert.assertEquals(dexBuf.readShort(0), 0x2211); Assert.assertEquals(dexBuf.readShort(0), 0x2211);
dexBuf = new DexBuffer(new byte[] {0x00, 0x00}); dexBuf = new BareDexBuffer(new byte[] {0x00, 0x00});
Assert.assertEquals(dexBuf.readShort(0), 0); Assert.assertEquals(dexBuf.readShort(0), 0);
dexBuf = new DexBuffer(new byte[] {(byte)0xff, (byte)0xff}); dexBuf = new BareDexBuffer(new byte[] {(byte)0xff, (byte)0xff});
Assert.assertEquals(dexBuf.readShort(0), -1); Assert.assertEquals(dexBuf.readShort(0), -1);
dexBuf = new DexBuffer(new byte[] {(byte)0x00, (byte)0x80}); dexBuf = new BareDexBuffer(new byte[] {(byte)0x00, (byte)0x80});
Assert.assertEquals(dexBuf.readShort(0), Short.MIN_VALUE); Assert.assertEquals(dexBuf.readShort(0), Short.MIN_VALUE);
dexBuf = new DexBuffer(new byte[] {(byte)0xff, (byte)0x7f}); dexBuf = new BareDexBuffer(new byte[] {(byte)0xff, (byte)0x7f});
Assert.assertEquals(dexBuf.readShort(0), 0x7fff); Assert.assertEquals(dexBuf.readShort(0), 0x7fff);
dexBuf = new DexBuffer(new byte[] {(byte)0xff, (byte)0x80}); dexBuf = new BareDexBuffer(new byte[] {(byte)0xff, (byte)0x80});
Assert.assertEquals(dexBuf.readShort(0), 0xffff80ff); Assert.assertEquals(dexBuf.readShort(0), 0xffff80ff);
} }
@Test @Test
public void testReadByte() { public void testReadByte() {
byte[] buf = new byte[1]; byte[] buf = new byte[1];
DexBuffer dexBuf = new DexBuffer(buf); BareDexBuffer dexBuf = new BareDexBuffer(buf);
for (int i=0; i<=0xff; i++) { for (int i=0; i<=0xff; i++) {
buf[0] = (byte)i; buf[0] = (byte)i;
@ -182,7 +182,7 @@ public class DexBufferTest {
Random r = new Random(1234567890); Random r = new Random(1234567890);
ByteBuffer byteBuf = ByteBuffer.allocateDirect(4).order(ByteOrder.LITTLE_ENDIAN); ByteBuffer byteBuf = ByteBuffer.allocateDirect(4).order(ByteOrder.LITTLE_ENDIAN);
byte[] buf = new byte[4]; byte[] buf = new byte[4];
DexBuffer dexBuf = new DexBuffer(buf); BareDexBuffer dexBuf = new BareDexBuffer(buf);
for (int i=0; i<10000; i++) { for (int i=0; i<10000; i++) {
int val = r.nextInt(); int val = r.nextInt();
@ -216,7 +216,7 @@ public class DexBufferTest {
Random r = new Random(1234567890); Random r = new Random(1234567890);
ByteBuffer byteBuf = ByteBuffer.allocateDirect(8).order(ByteOrder.LITTLE_ENDIAN); ByteBuffer byteBuf = ByteBuffer.allocateDirect(8).order(ByteOrder.LITTLE_ENDIAN);
byte[] buf = new byte[8]; byte[] buf = new byte[8];
DexBuffer dexBuf = new DexBuffer(buf); BareDexBuffer dexBuf = new BareDexBuffer(buf);
for (int i=0; i<10000; i++) { for (int i=0; i<10000; i++) {
int val = r.nextInt(); int val = r.nextInt();

View File

@ -246,7 +246,7 @@ public class DexFileReaderLeb128Test {
} }
private void performTest(int expectedValue, byte[] buf, int expectedLength) { private void performTest(int expectedValue, byte[] buf, int expectedLength) {
DexBuffer dexBuf = new DexBuffer(buf); BareDexBuffer dexBuf = new BareDexBuffer(buf);
DexReader reader = dexBuf.readerAt(0); DexReader reader = dexBuf.readerAt(0);
Assert.assertEquals(expectedValue, reader.readSmallUleb128()); Assert.assertEquals(expectedValue, reader.readSmallUleb128());
Assert.assertEquals(expectedLength, reader.getOffset()); Assert.assertEquals(expectedLength, reader.getOffset());
@ -257,7 +257,7 @@ public class DexFileReaderLeb128Test {
} }
private void performFailureTest(byte[] buf) { private void performFailureTest(byte[] buf) {
DexBuffer dexBuf = new DexBuffer(buf); BareDexBuffer dexBuf = new BareDexBuffer(buf);
DexReader reader = dexBuf.readerAt(0); DexReader reader = dexBuf.readerAt(0);
try { try {
reader.readSmallUleb128(); reader.readSmallUleb128();

View File

@ -253,14 +253,14 @@ public class DexReaderSleb128Test {
} }
private void performTest(int expectedValue, byte[] buf, int expectedLength) { private void performTest(int expectedValue, byte[] buf, int expectedLength) {
DexBuffer dexBuf = new DexBuffer(buf); BareDexBuffer dexBuf = new BareDexBuffer(buf);
DexReader reader = dexBuf.readerAt(0); DexReader reader = dexBuf.readerAt(0);
Assert.assertEquals(expectedValue, reader.readSleb128()); Assert.assertEquals(expectedValue, reader.readSleb128());
Assert.assertEquals(expectedLength, reader.getOffset()); Assert.assertEquals(expectedLength, reader.getOffset());
} }
private void performFailureTest(byte[] buf) { private void performFailureTest(byte[] buf) {
DexBuffer dexBuf = new DexBuffer(buf); BareDexBuffer dexBuf = new BareDexBuffer(buf);
DexReader reader = dexBuf.readerAt(0); DexReader reader = dexBuf.readerAt(0);
try { try {
reader.readSleb128(); reader.readSleb128();

View File

@ -67,7 +67,7 @@ public class DexReaderTest {
} }
private void performSizedIntTest(int expectedValue, byte[] buf) { private void performSizedIntTest(int expectedValue, byte[] buf) {
DexBuffer dexBuf = new DexBuffer(buf); BareDexBuffer dexBuf = new BareDexBuffer(buf);
DexReader reader = dexBuf.readerAt(0); DexReader reader = dexBuf.readerAt(0);
Assert.assertEquals(expectedValue, reader.readSizedInt(buf.length)); Assert.assertEquals(expectedValue, reader.readSizedInt(buf.length));
} }
@ -82,7 +82,7 @@ public class DexReaderTest {
} }
private void performSizedIntFailureTest(byte[] buf) { private void performSizedIntFailureTest(byte[] buf) {
DexBuffer dexBuf = new DexBuffer(buf); BareDexBuffer dexBuf = new BareDexBuffer(buf);
DexReader reader = dexBuf.readerAt(0); DexReader reader = dexBuf.readerAt(0);
try { try {
reader.readSizedInt(buf.length); reader.readSizedInt(buf.length);
@ -122,7 +122,7 @@ public class DexReaderTest {
} }
private void performSizedSmallUintTest(int expectedValue, byte[] buf) { private void performSizedSmallUintTest(int expectedValue, byte[] buf) {
DexBuffer dexBuf = new DexBuffer(buf); BareDexBuffer dexBuf = new BareDexBuffer(buf);
DexReader reader = dexBuf.readerAt(0); DexReader reader = dexBuf.readerAt(0);
Assert.assertEquals(expectedValue, reader.readSizedSmallUint(buf.length)); Assert.assertEquals(expectedValue, reader.readSizedSmallUint(buf.length));
} }
@ -141,7 +141,7 @@ public class DexReaderTest {
} }
private void performSizedSmallUintFailureTest(byte[] buf) { private void performSizedSmallUintFailureTest(byte[] buf) {
DexBuffer dexBuf = new DexBuffer(buf); BareDexBuffer dexBuf = new BareDexBuffer(buf);
DexReader reader = dexBuf.readerAt(0); DexReader reader = dexBuf.readerAt(0);
try { try {
reader.readSizedSmallUint(buf.length); reader.readSizedSmallUint(buf.length);
@ -192,7 +192,7 @@ public class DexReaderTest {
} }
private void performSizedRightExtendedIntTest(int expectedValue, byte[] buf) { private void performSizedRightExtendedIntTest(int expectedValue, byte[] buf) {
DexBuffer dexBuf = new DexBuffer(buf); BareDexBuffer dexBuf = new BareDexBuffer(buf);
DexReader reader = dexBuf.readerAt(0); DexReader reader = dexBuf.readerAt(0);
Assert.assertEquals(expectedValue, reader.readSizedRightExtendedInt(buf.length)); Assert.assertEquals(expectedValue, reader.readSizedRightExtendedInt(buf.length));
} }
@ -207,7 +207,7 @@ public class DexReaderTest {
} }
private void performSizedRightExtendedIntFailureTest(byte[] buf) { private void performSizedRightExtendedIntFailureTest(byte[] buf) {
DexBuffer dexBuf = new DexBuffer(buf); BareDexBuffer dexBuf = new BareDexBuffer(buf);
DexReader reader = dexBuf.readerAt(0); DexReader reader = dexBuf.readerAt(0);
try { try {
reader.readSizedRightExtendedInt(buf.length); reader.readSizedRightExtendedInt(buf.length);
@ -301,7 +301,7 @@ public class DexReaderTest {
} }
private void performSizedRightExtendedLongTest(long expectedValue, byte[] buf) { private void performSizedRightExtendedLongTest(long expectedValue, byte[] buf) {
DexBuffer dexBuf = new DexBuffer(buf); BareDexBuffer dexBuf = new BareDexBuffer(buf);
DexReader reader = dexBuf.readerAt(0); DexReader reader = dexBuf.readerAt(0);
Assert.assertEquals(expectedValue, reader.readSizedRightExtendedLong(buf.length)); Assert.assertEquals(expectedValue, reader.readSizedRightExtendedLong(buf.length));
} }
@ -316,7 +316,7 @@ public class DexReaderTest {
} }
private void performSizedRightExtendedLongFailureTest(byte[] buf) { private void performSizedRightExtendedLongFailureTest(byte[] buf) {
DexBuffer dexBuf = new DexBuffer(buf); BareDexBuffer dexBuf = new BareDexBuffer(buf);
DexReader reader = dexBuf.readerAt(0); DexReader reader = dexBuf.readerAt(0);
try { try {
reader.readSizedRightExtendedLong(buf.length); reader.readSizedRightExtendedLong(buf.length);
@ -410,7 +410,7 @@ public class DexReaderTest {
} }
private void performSizedLongTest(long expectedValue, byte[] buf) { private void performSizedLongTest(long expectedValue, byte[] buf) {
DexBuffer dexBuf = new DexBuffer(buf); BareDexBuffer dexBuf = new BareDexBuffer(buf);
DexReader reader = dexBuf.readerAt(0); DexReader reader = dexBuf.readerAt(0);
Assert.assertEquals(expectedValue, reader.readSizedLong(buf.length)); Assert.assertEquals(expectedValue, reader.readSizedLong(buf.length));
} }
@ -425,7 +425,7 @@ public class DexReaderTest {
} }
private void performSizedLongFailureTest(byte[] buf) { private void performSizedLongFailureTest(byte[] buf) {
DexBuffer dexBuf = new DexBuffer(buf); BareDexBuffer dexBuf = new BareDexBuffer(buf);
DexReader reader = dexBuf.readerAt(0); DexReader reader = dexBuf.readerAt(0);
try { try {
reader.readSizedLong(buf.length); reader.readSizedLong(buf.length);