| Index: third_party/protobuf/java/core/src/test/java/com/google/protobuf/ByteStringTest.java
|
| diff --git a/third_party/protobuf/java/src/test/java/com/google/protobuf/ByteStringTest.java b/third_party/protobuf/java/core/src/test/java/com/google/protobuf/ByteStringTest.java
|
| similarity index 97%
|
| rename from third_party/protobuf/java/src/test/java/com/google/protobuf/ByteStringTest.java
|
| rename to third_party/protobuf/java/core/src/test/java/com/google/protobuf/ByteStringTest.java
|
| index 36f642515ce11b1551b0805851ceb2cf7b85b766..ad9f266e4cdb4f96c99faafcffda742907ed4cb6 100644
|
| --- a/third_party/protobuf/java/src/test/java/com/google/protobuf/ByteStringTest.java
|
| +++ b/third_party/protobuf/java/core/src/test/java/com/google/protobuf/ByteStringTest.java
|
| @@ -39,6 +39,7 @@ import java.io.ByteArrayOutputStream;
|
| import java.io.IOException;
|
| import java.io.InputStream;
|
| import java.io.OutputStream;
|
| +import java.lang.reflect.Field;
|
| import java.nio.ByteBuffer;
|
| import java.nio.charset.Charset;
|
| import java.util.ArrayList;
|
| @@ -655,11 +656,11 @@ public class ByteStringTest extends TestCase {
|
| // trees of empty leaves, to make a string that will fail this test.
|
| for (int i = 1; i < duo.size(); ++i) {
|
| assertTrue("Substrings of size() < 2 must not be RopeByteStrings",
|
| - duo.substring(i - 1, i) instanceof LiteralByteString);
|
| + duo.substring(i - 1, i) instanceof ByteString.LeafByteString);
|
| }
|
| for (int i = 1; i < quintet.size(); ++i) {
|
| assertTrue("Substrings of size() < 2 must not be RopeByteStrings",
|
| - quintet.substring(i - 1, i) instanceof LiteralByteString);
|
| + quintet.substring(i - 1, i) instanceof ByteString.LeafByteString);
|
| }
|
| }
|
|
|
| @@ -724,7 +725,7 @@ public class ByteStringTest extends TestCase {
|
| }
|
| data1[1] = (byte) 11;
|
| // Test LiteralByteString.writeTo(OutputStream,int,int)
|
| - LiteralByteString left = new LiteralByteString(data1);
|
| + ByteString left = ByteString.wrap(data1);
|
| byte[] result = substringUsingWriteTo(left, 1, 1);
|
| assertEquals(1, result.length);
|
| assertEquals((byte) 11, result[0]);
|
| @@ -733,7 +734,7 @@ public class ByteStringTest extends TestCase {
|
| for (int i = 0; i < data1.length; i++) {
|
| data2[i] = (byte) 2;
|
| }
|
| - LiteralByteString right = new LiteralByteString(data2);
|
| + ByteString right = ByteString.wrap(data2);
|
| // Concatenate two ByteStrings to create a RopeByteString.
|
| ByteString root = left.concat(right);
|
| // Make sure we are actually testing a RopeByteString with a simple tree
|
| @@ -757,4 +758,17 @@ public class ByteStringTest extends TestCase {
|
| assertEquals((byte) 2, result[dataSize - dataSize / 2]);
|
| assertEquals((byte) 2, result[dataSize - 1]);
|
| }
|
| +
|
| + /**
|
| + * Tests ByteString uses Arrays based byte copier when running under Hotstop VM.
|
| + */
|
| + public void testByteArrayCopier() throws Exception {
|
| + Field field = ByteString.class.getDeclaredField("byteArrayCopier");
|
| + field.setAccessible(true);
|
| + Object byteArrayCopier = field.get(null);
|
| + assertNotNull(byteArrayCopier);
|
| + assertTrue(
|
| + byteArrayCopier.toString(),
|
| + byteArrayCopier.getClass().getSimpleName().endsWith("ArraysByteArrayCopier"));
|
| + }
|
| }
|
|
|