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")); |
+ } |
} |