Index: third_party/protobuf/java/core/src/test/java/com/google/protobuf/NioByteStringTest.java |
diff --git a/third_party/protobuf/java/src/test/java/com/google/protobuf/NioByteStringTest.java b/third_party/protobuf/java/core/src/test/java/com/google/protobuf/NioByteStringTest.java |
similarity index 73% |
rename from third_party/protobuf/java/src/test/java/com/google/protobuf/NioByteStringTest.java |
rename to third_party/protobuf/java/core/src/test/java/com/google/protobuf/NioByteStringTest.java |
index 0679937f34f16a75c0733dfd2e52e45ec7fbf4d1..6be5b93c31e504983e49f47c8fce6d5abade1b39 100644 |
--- a/third_party/protobuf/java/src/test/java/com/google/protobuf/NioByteStringTest.java |
+++ b/third_party/protobuf/java/core/src/test/java/com/google/protobuf/NioByteStringTest.java |
@@ -41,6 +41,7 @@ import java.io.IOException; |
import java.io.InputStream; |
import java.io.ObjectInputStream; |
import java.io.ObjectOutputStream; |
+import java.io.OutputStream; |
import java.io.UnsupportedEncodingException; |
import java.nio.BufferOverflowException; |
import java.nio.ByteBuffer; |
@@ -52,16 +53,16 @@ import java.util.NoSuchElementException; |
* Tests for {@link NioByteString}. |
*/ |
public class NioByteStringTest extends TestCase { |
- private static final ByteString EMPTY = UnsafeByteStrings.unsafeWrap( |
- ByteBuffer.wrap(new byte[0])); |
+ private static final ByteString EMPTY = new NioByteString(ByteBuffer.wrap(new byte[0])); |
private static final String CLASSNAME = NioByteString.class.getSimpleName(); |
private static final byte[] BYTES = ByteStringTest.getTestBytes(1234, 11337766L); |
- private static final int EXPECTED_HASH = new LiteralByteString(BYTES).hashCode(); |
- private static final ByteBuffer BUFFER = ByteBuffer.wrap(BYTES.clone()); |
- private static final ByteString TEST_STRING = UnsafeByteStrings.unsafeWrap(BUFFER); |
+ private static final int EXPECTED_HASH = ByteString.wrap(BYTES).hashCode(); |
+ |
+ private final ByteBuffer backingBuffer = ByteBuffer.wrap(BYTES.clone()); |
+ private final ByteString testString = new NioByteString(backingBuffer); |
public void testExpectedType() { |
- String actualClassName = getActualClassName(TEST_STRING); |
+ String actualClassName = getActualClassName(testString); |
assertEquals(CLASSNAME + " should match type exactly", CLASSNAME, actualClassName); |
} |
@@ -74,14 +75,14 @@ public class NioByteStringTest extends TestCase { |
public void testByteAt() { |
boolean stillEqual = true; |
for (int i = 0; stillEqual && i < BYTES.length; ++i) { |
- stillEqual = (BYTES[i] == TEST_STRING.byteAt(i)); |
+ stillEqual = (BYTES[i] == testString.byteAt(i)); |
} |
assertTrue(CLASSNAME + " must capture the right bytes", stillEqual); |
} |
public void testByteIterator() { |
boolean stillEqual = true; |
- ByteString.ByteIterator iter = TEST_STRING.iterator(); |
+ ByteString.ByteIterator iter = testString.iterator(); |
for (int i = 0; stillEqual && i < BYTES.length; ++i) { |
stillEqual = (iter.hasNext() && BYTES[i] == iter.nextByte()); |
} |
@@ -99,7 +100,7 @@ public class NioByteStringTest extends TestCase { |
public void testByteIterable() { |
boolean stillEqual = true; |
int j = 0; |
- for (byte quantum : TEST_STRING) { |
+ for (byte quantum : testString) { |
stillEqual = (BYTES[j] == quantum); |
++j; |
} |
@@ -109,15 +110,15 @@ public class NioByteStringTest extends TestCase { |
public void testSize() { |
assertEquals(CLASSNAME + " must have the expected size", BYTES.length, |
- TEST_STRING.size()); |
+ testString.size()); |
} |
public void testGetTreeDepth() { |
- assertEquals(CLASSNAME + " must have depth 0", 0, TEST_STRING.getTreeDepth()); |
+ assertEquals(CLASSNAME + " must have depth 0", 0, testString.getTreeDepth()); |
} |
public void testIsBalanced() { |
- assertTrue(CLASSNAME + " is technically balanced", TEST_STRING.isBalanced()); |
+ assertTrue(CLASSNAME + " is technically balanced", testString.isBalanced()); |
} |
public void testCopyTo_ByteArrayOffsetLength() { |
@@ -125,7 +126,7 @@ public class NioByteStringTest extends TestCase { |
int length = 100; |
byte[] destination = new byte[destinationOffset + length]; |
int sourceOffset = 213; |
- TEST_STRING.copyTo(destination, sourceOffset, destinationOffset, length); |
+ testString.copyTo(destination, sourceOffset, destinationOffset, length); |
boolean stillEqual = true; |
for (int i = 0; stillEqual && i < length; ++i) { |
stillEqual = BYTES[i + sourceOffset] == destination[i + destinationOffset]; |
@@ -140,7 +141,7 @@ public class NioByteStringTest extends TestCase { |
try { |
// Copy one too many bytes |
- TEST_STRING.copyTo(destination, TEST_STRING.size() + 1 - length, |
+ testString.copyTo(destination, testString.size() + 1 - length, |
destinationOffset, length); |
fail("Should have thrown an exception when copying too many bytes of a " |
+ CLASSNAME); |
@@ -150,7 +151,7 @@ public class NioByteStringTest extends TestCase { |
try { |
// Copy with illegal negative sourceOffset |
- TEST_STRING.copyTo(destination, -1, destinationOffset, length); |
+ testString.copyTo(destination, -1, destinationOffset, length); |
fail("Should have thrown an exception when given a negative sourceOffset in " |
+ CLASSNAME); |
} catch (IndexOutOfBoundsException expected) { |
@@ -159,7 +160,7 @@ public class NioByteStringTest extends TestCase { |
try { |
// Copy with illegal negative destinationOffset |
- TEST_STRING.copyTo(destination, 0, -1, length); |
+ testString.copyTo(destination, 0, -1, length); |
fail("Should have thrown an exception when given a negative destinationOffset in " |
+ CLASSNAME); |
} catch (IndexOutOfBoundsException expected) { |
@@ -168,7 +169,7 @@ public class NioByteStringTest extends TestCase { |
try { |
// Copy with illegal negative size |
- TEST_STRING.copyTo(destination, 0, 0, -1); |
+ testString.copyTo(destination, 0, 0, -1); |
fail("Should have thrown an exception when given a negative size in " |
+ CLASSNAME); |
} catch (IndexOutOfBoundsException expected) { |
@@ -177,7 +178,7 @@ public class NioByteStringTest extends TestCase { |
try { |
// Copy with illegal too-large sourceOffset |
- TEST_STRING.copyTo(destination, 2 * TEST_STRING.size(), 0, length); |
+ testString.copyTo(destination, 2 * testString.size(), 0, length); |
fail("Should have thrown an exception when the destinationOffset is too large in " |
+ CLASSNAME); |
} catch (IndexOutOfBoundsException expected) { |
@@ -186,7 +187,7 @@ public class NioByteStringTest extends TestCase { |
try { |
// Copy with illegal too-large destinationOffset |
- TEST_STRING.copyTo(destination, 0, 2 * destination.length, length); |
+ testString.copyTo(destination, 0, 2 * destination.length, length); |
fail("Should have thrown an exception when the destinationOffset is too large in " |
+ CLASSNAME); |
} catch (IndexOutOfBoundsException expected) { |
@@ -197,21 +198,21 @@ public class NioByteStringTest extends TestCase { |
public void testCopyTo_ByteBuffer() { |
// Same length. |
ByteBuffer myBuffer = ByteBuffer.allocate(BYTES.length); |
- TEST_STRING.copyTo(myBuffer); |
+ testString.copyTo(myBuffer); |
myBuffer.flip(); |
assertEquals(CLASSNAME + ".copyTo(ByteBuffer) must give back the same bytes", |
- BUFFER, myBuffer); |
+ backingBuffer, myBuffer); |
// Target buffer bigger than required. |
- myBuffer = ByteBuffer.allocate(TEST_STRING.size() + 1); |
- TEST_STRING.copyTo(myBuffer); |
+ myBuffer = ByteBuffer.allocate(testString.size() + 1); |
+ testString.copyTo(myBuffer); |
myBuffer.flip(); |
- assertEquals(BUFFER, myBuffer); |
+ assertEquals(backingBuffer, myBuffer); |
// Target buffer has no space. |
myBuffer = ByteBuffer.allocate(0); |
try { |
- TEST_STRING.copyTo(myBuffer); |
+ testString.copyTo(myBuffer); |
fail("Should have thrown an exception when target ByteBuffer has insufficient capacity"); |
} catch (BufferOverflowException e) { |
// Expected. |
@@ -220,7 +221,7 @@ public class NioByteStringTest extends TestCase { |
// Target buffer too small. |
myBuffer = ByteBuffer.allocate(1); |
try { |
- TEST_STRING.copyTo(myBuffer); |
+ testString.copyTo(myBuffer); |
fail("Should have thrown an exception when target ByteBuffer has insufficient capacity"); |
} catch (BufferOverflowException e) { |
// Expected. |
@@ -228,26 +229,26 @@ public class NioByteStringTest extends TestCase { |
} |
public void testMarkSupported() { |
- InputStream stream = TEST_STRING.newInput(); |
+ InputStream stream = testString.newInput(); |
assertTrue(CLASSNAME + ".newInput() must support marking", stream.markSupported()); |
} |
public void testMarkAndReset() throws IOException { |
- int fraction = TEST_STRING.size() / 3; |
+ int fraction = testString.size() / 3; |
- InputStream stream = TEST_STRING.newInput(); |
- stream.mark(TEST_STRING.size()); // First, mark() the end. |
+ InputStream stream = testString.newInput(); |
+ stream.mark(testString.size()); // First, mark() the end. |
skipFully(stream, fraction); // Skip a large fraction, but not all. |
assertEquals( |
CLASSNAME + ": after skipping to the 'middle', half the bytes are available", |
- (TEST_STRING.size() - fraction), stream.available()); |
+ (testString.size() - fraction), stream.available()); |
stream.reset(); |
assertEquals( |
CLASSNAME + ": after resetting, all bytes are available", |
- TEST_STRING.size(), stream.available()); |
+ testString.size(), stream.available()); |
- skipFully(stream, TEST_STRING.size()); // Skip to the end. |
+ skipFully(stream, testString.size()); // Skip to the end. |
assertEquals( |
CLASSNAME + ": after skipping to the end, no more bytes are available", |
0, stream.available()); |
@@ -285,7 +286,7 @@ public class NioByteStringTest extends TestCase { |
} |
public void testAsReadOnlyByteBuffer() { |
- ByteBuffer byteBuffer = TEST_STRING.asReadOnlyByteBuffer(); |
+ ByteBuffer byteBuffer = testString.asReadOnlyByteBuffer(); |
byte[] roundTripBytes = new byte[BYTES.length]; |
assertTrue(byteBuffer.remaining() == BYTES.length); |
assertTrue(byteBuffer.isReadOnly()); |
@@ -295,7 +296,7 @@ public class NioByteStringTest extends TestCase { |
} |
public void testAsReadOnlyByteBufferList() { |
- List<ByteBuffer> byteBuffers = TEST_STRING.asReadOnlyByteBufferList(); |
+ List<ByteBuffer> byteBuffers = testString.asReadOnlyByteBufferList(); |
int bytesSeen = 0; |
byte[] roundTripBytes = new byte[BYTES.length]; |
for (ByteBuffer byteBuffer : byteBuffers) { |
@@ -311,25 +312,98 @@ public class NioByteStringTest extends TestCase { |
} |
public void testToByteArray() { |
- byte[] roundTripBytes = TEST_STRING.toByteArray(); |
+ byte[] roundTripBytes = testString.toByteArray(); |
assertTrue(CLASSNAME + ".toByteArray() must give back the same bytes", |
Arrays.equals(BYTES, roundTripBytes)); |
} |
public void testWriteTo() throws IOException { |
ByteArrayOutputStream bos = new ByteArrayOutputStream(); |
- TEST_STRING.writeTo(bos); |
+ testString.writeTo(bos); |
byte[] roundTripBytes = bos.toByteArray(); |
assertTrue(CLASSNAME + ".writeTo() must give back the same bytes", |
Arrays.equals(BYTES, roundTripBytes)); |
} |
+ public void testWriteToShouldNotExposeInternalBufferToOutputStream() throws IOException { |
+ OutputStream os = new OutputStream() { |
+ @Override |
+ public void write(byte[] b, int off, int len) { |
+ Arrays.fill(b, off, off + len, (byte) 0); |
+ } |
+ |
+ @Override |
+ public void write(int b) { |
+ throw new UnsupportedOperationException(); |
+ } |
+ }; |
+ |
+ byte[] original = Arrays.copyOf(BYTES, BYTES.length); |
+ testString.writeTo(os); |
+ assertTrue(CLASSNAME + ".writeTo() must NOT grant access to underlying buffer", |
+ Arrays.equals(original, BYTES)); |
+ } |
+ |
+ public void testWriteToInternalShouldExposeInternalBufferToOutputStream() throws IOException { |
+ OutputStream os = new OutputStream() { |
+ @Override |
+ public void write(byte[] b, int off, int len) { |
+ Arrays.fill(b, off, off + len, (byte) 0); |
+ } |
+ |
+ @Override |
+ public void write(int b) { |
+ throw new UnsupportedOperationException(); |
+ } |
+ }; |
+ |
+ testString.writeToInternal(os, 0, testString.size()); |
+ byte[] allZeros = new byte[testString.size()]; |
+ assertTrue(CLASSNAME + ".writeToInternal() must grant access to underlying buffer", |
+ Arrays.equals(allZeros, backingBuffer.array())); |
+ } |
+ |
+ public void testWriteToShouldExposeInternalBufferToByteOutput() throws IOException { |
+ ByteOutput out = new ByteOutput() { |
+ @Override |
+ public void write(byte value) throws IOException { |
+ throw new UnsupportedOperationException(); |
+ } |
+ |
+ @Override |
+ public void write(byte[] value, int offset, int length) throws IOException { |
+ throw new UnsupportedOperationException(); |
+ } |
+ |
+ @Override |
+ public void writeLazy(byte[] value, int offset, int length) throws IOException { |
+ throw new UnsupportedOperationException(); |
+ } |
+ |
+ @Override |
+ public void write(ByteBuffer value) throws IOException { |
+ throw new UnsupportedOperationException(); |
+ } |
+ |
+ @Override |
+ public void writeLazy(ByteBuffer value) throws IOException { |
+ Arrays.fill(value.array(), value.arrayOffset(), value.arrayOffset() + value.limit(), |
+ (byte) 0); |
+ } |
+ }; |
+ |
+ testString.writeTo(out); |
+ byte[] allZeros = new byte[testString.size()]; |
+ assertTrue(CLASSNAME + ".writeTo() must grant access to underlying buffer", |
+ Arrays.equals(allZeros, backingBuffer.array())); |
+ } |
+ |
public void testNewOutput() throws IOException { |
ByteArrayOutputStream bos = new ByteArrayOutputStream(); |
ByteString.Output output = ByteString.newOutput(); |
- TEST_STRING.writeTo(output); |
+ testString.writeTo(output); |
assertEquals("Output Size returns correct result", |
- output.size(), TEST_STRING.size()); |
+ output.size(), testString.size()); |
output.writeTo(bos); |
assertTrue("Output.writeTo() must give back the same bytes", |
Arrays.equals(BYTES, bos.toByteArray())); |
@@ -337,7 +411,7 @@ public class NioByteStringTest extends TestCase { |
// write the output stream to itself! This should cause it to double |
output.writeTo(output); |
assertEquals("Writing an output stream to itself is successful", |
- TEST_STRING.concat(TEST_STRING), output.toByteString()); |
+ testString.concat(testString), output.toByteString()); |
output.reset(); |
assertEquals("Output.reset() resets the output", 0, output.size()); |
@@ -362,7 +436,7 @@ public class NioByteStringTest extends TestCase { |
public void testToString_returnsCanonicalEmptyString() { |
assertSame(CLASSNAME + " must be the same string references", |
EMPTY.toString(UTF_8), |
- UnsafeByteStrings.unsafeWrap(ByteBuffer.wrap(new byte[0])).toString(UTF_8)); |
+ new NioByteString(ByteBuffer.wrap(new byte[0])).toString(UTF_8)); |
} |
public void testToString_raisesException() { |
@@ -374,7 +448,7 @@ public class NioByteStringTest extends TestCase { |
} |
try { |
- TEST_STRING.toString("invalid"); |
+ testString.toString("invalid"); |
fail("Should have thrown an exception."); |
} catch (UnsupportedEncodingException expected) { |
// This is success |
@@ -382,36 +456,36 @@ public class NioByteStringTest extends TestCase { |
} |
public void testEquals() { |
- assertEquals(CLASSNAME + " must not equal null", false, TEST_STRING.equals(null)); |
- assertEquals(CLASSNAME + " must equal self", TEST_STRING, TEST_STRING); |
+ assertEquals(CLASSNAME + " must not equal null", false, testString.equals(null)); |
+ assertEquals(CLASSNAME + " must equal self", testString, testString); |
assertFalse(CLASSNAME + " must not equal the empty string", |
- TEST_STRING.equals(EMPTY)); |
+ testString.equals(EMPTY)); |
assertEquals(CLASSNAME + " empty strings must be equal", |
- EMPTY, TEST_STRING.substring(55, 55)); |
+ EMPTY, testString.substring(55, 55)); |
assertEquals(CLASSNAME + " must equal another string with the same value", |
- TEST_STRING, UnsafeByteStrings.unsafeWrap(BUFFER)); |
+ testString, new NioByteString(backingBuffer)); |
byte[] mungedBytes = mungedBytes(); |
assertFalse(CLASSNAME + " must not equal every string with the same length", |
- TEST_STRING.equals(UnsafeByteStrings.unsafeWrap(ByteBuffer.wrap(mungedBytes)))); |
+ testString.equals(new NioByteString(ByteBuffer.wrap(mungedBytes)))); |
} |
public void testEqualsLiteralByteString() { |
ByteString literal = ByteString.copyFrom(BYTES); |
assertEquals(CLASSNAME + " must equal LiteralByteString with same value", literal, |
- TEST_STRING); |
- assertEquals(CLASSNAME + " must equal LiteralByteString with same value", TEST_STRING, |
+ testString); |
+ assertEquals(CLASSNAME + " must equal LiteralByteString with same value", testString, |
literal); |
assertFalse(CLASSNAME + " must not equal the empty string", |
- TEST_STRING.equals(ByteString.EMPTY)); |
+ testString.equals(ByteString.EMPTY)); |
assertEquals(CLASSNAME + " empty strings must be equal", |
- ByteString.EMPTY, TEST_STRING.substring(55, 55)); |
+ ByteString.EMPTY, testString.substring(55, 55)); |
literal = ByteString.copyFrom(mungedBytes()); |
assertFalse(CLASSNAME + " must not equal every LiteralByteString with the same length", |
- TEST_STRING.equals(literal)); |
+ testString.equals(literal)); |
assertFalse(CLASSNAME + " must not equal every LiteralByteString with the same length", |
- literal.equals(TEST_STRING)); |
+ literal.equals(testString)); |
} |
public void testEqualsRopeByteString() { |
@@ -420,22 +494,22 @@ public class NioByteStringTest extends TestCase { |
ByteString rope = p1.concat(p2); |
assertEquals(CLASSNAME + " must equal RopeByteString with same value", rope, |
- TEST_STRING); |
- assertEquals(CLASSNAME + " must equal RopeByteString with same value", TEST_STRING, |
+ testString); |
+ assertEquals(CLASSNAME + " must equal RopeByteString with same value", testString, |
rope); |
assertFalse(CLASSNAME + " must not equal the empty string", |
- TEST_STRING.equals(ByteString.EMPTY.concat(ByteString.EMPTY))); |
+ testString.equals(ByteString.EMPTY.concat(ByteString.EMPTY))); |
assertEquals(CLASSNAME + " empty strings must be equal", |
- ByteString.EMPTY.concat(ByteString.EMPTY), TEST_STRING.substring(55, 55)); |
+ ByteString.EMPTY.concat(ByteString.EMPTY), testString.substring(55, 55)); |
byte[] mungedBytes = mungedBytes(); |
p1 = ByteString.copyFrom(mungedBytes, 0, 5); |
p2 = ByteString.copyFrom(mungedBytes, 5, mungedBytes.length - 5); |
rope = p1.concat(p2); |
assertFalse(CLASSNAME + " must not equal every RopeByteString with the same length", |
- TEST_STRING.equals(rope)); |
+ testString.equals(rope)); |
assertFalse(CLASSNAME + " must not equal every RopeByteString with the same length", |
- rope.equals(TEST_STRING)); |
+ rope.equals(testString)); |
} |
private byte[] mungedBytes() { |
@@ -446,12 +520,12 @@ public class NioByteStringTest extends TestCase { |
} |
public void testHashCode() { |
- int hash = TEST_STRING.hashCode(); |
+ int hash = testString.hashCode(); |
assertEquals(CLASSNAME + " must have expected hashCode", EXPECTED_HASH, hash); |
} |
public void testPeekCachedHashCode() { |
- ByteString newString = UnsafeByteStrings.unsafeWrap(BUFFER); |
+ ByteString newString = new NioByteString(backingBuffer); |
assertEquals(CLASSNAME + ".peekCachedHashCode() should return zero at first", 0, |
newString.peekCachedHashCode()); |
newString.hashCode(); |
@@ -462,15 +536,15 @@ public class NioByteStringTest extends TestCase { |
public void testPartialHash() { |
// partialHash() is more strenuously tested elsewhere by testing hashes of substrings. |
// This test would fail if the expected hash were 1. It's not. |
- int hash = TEST_STRING.partialHash(TEST_STRING.size(), 0, TEST_STRING.size()); |
+ int hash = testString.partialHash(testString.size(), 0, testString.size()); |
assertEquals(CLASSNAME + ".partialHash() must yield expected hashCode", |
EXPECTED_HASH, hash); |
} |
public void testNewInput() throws IOException { |
- InputStream input = TEST_STRING.newInput(); |
+ InputStream input = testString.newInput(); |
assertEquals("InputStream.available() returns correct value", |
- TEST_STRING.size(), input.available()); |
+ testString.size(), input.available()); |
boolean stillEqual = true; |
for (byte referenceByte : BYTES) { |
int expectedInt = (referenceByte & 0xFF); |
@@ -483,8 +557,8 @@ public class NioByteStringTest extends TestCase { |
} |
public void testNewInput_skip() throws IOException { |
- InputStream input = TEST_STRING.newInput(); |
- int stringSize = TEST_STRING.size(); |
+ InputStream input = testString.newInput(); |
+ int stringSize = testString.size(); |
int nearEndIndex = stringSize * 2 / 3; |
long skipped1 = input.skip(nearEndIndex); |
assertEquals("InputStream.skip()", skipped1, nearEndIndex); |
@@ -493,7 +567,7 @@ public class NioByteStringTest extends TestCase { |
assertTrue("InputStream.mark() is available", input.markSupported()); |
input.mark(0); |
assertEquals("InputStream.skip(), read()", |
- TEST_STRING.byteAt(nearEndIndex) & 0xFF, input.read()); |
+ testString.byteAt(nearEndIndex) & 0xFF, input.read()); |
assertEquals("InputStream.available()", |
stringSize - skipped1 - 1, input.available()); |
long skipped2 = input.skip(stringSize); |
@@ -505,11 +579,11 @@ public class NioByteStringTest extends TestCase { |
assertEquals("InputStream.reset() succeded", |
stringSize - skipped1, input.available()); |
assertEquals("InputStream.reset(), read()", |
- TEST_STRING.byteAt(nearEndIndex) & 0xFF, input.read()); |
+ testString.byteAt(nearEndIndex) & 0xFF, input.read()); |
} |
public void testNewCodedInput() throws IOException { |
- CodedInputStream cis = TEST_STRING.newCodedInput(); |
+ CodedInputStream cis = testString.newCodedInput(); |
byte[] roundTripBytes = cis.readRawBytes(BYTES.length); |
assertTrue(CLASSNAME + " must give the same bytes back from the CodedInputStream", |
Arrays.equals(BYTES, roundTripBytes)); |
@@ -522,25 +596,25 @@ public class NioByteStringTest extends TestCase { |
*/ |
public void testConcat_empty() { |
assertSame(CLASSNAME + " concatenated with empty must give " + CLASSNAME, |
- TEST_STRING.concat(EMPTY), TEST_STRING); |
+ testString.concat(EMPTY), testString); |
assertSame("empty concatenated with " + CLASSNAME + " must give " + CLASSNAME, |
- EMPTY.concat(TEST_STRING), TEST_STRING); |
+ EMPTY.concat(testString), testString); |
} |
public void testJavaSerialization() throws Exception { |
ByteArrayOutputStream out = new ByteArrayOutputStream(); |
ObjectOutputStream oos = new ObjectOutputStream(out); |
- oos.writeObject(TEST_STRING); |
+ oos.writeObject(testString); |
oos.close(); |
byte[] pickled = out.toByteArray(); |
InputStream in = new ByteArrayInputStream(pickled); |
ObjectInputStream ois = new ObjectInputStream(in); |
Object o = ois.readObject(); |
assertTrue("Didn't get a ByteString back", o instanceof ByteString); |
- assertEquals("Should get an equal ByteString back", TEST_STRING, o); |
+ assertEquals("Should get an equal ByteString back", testString, o); |
} |
private static ByteString forString(String str) { |
- return UnsafeByteStrings.unsafeWrap(ByteBuffer.wrap(str.getBytes(UTF_8))); |
+ return new NioByteString(ByteBuffer.wrap(str.getBytes(UTF_8))); |
} |
} |