| Index: third_party/protobuf/java/compatibility_tests/v2.5.0/tests/src/main/java/com/google/protobuf/test/LazyStringArrayListTest.java
|
| diff --git a/third_party/protobuf/java/core/src/test/java/com/google/protobuf/LazyStringArrayListTest.java b/third_party/protobuf/java/compatibility_tests/v2.5.0/tests/src/main/java/com/google/protobuf/test/LazyStringArrayListTest.java
|
| similarity index 54%
|
| copy from third_party/protobuf/java/core/src/test/java/com/google/protobuf/LazyStringArrayListTest.java
|
| copy to third_party/protobuf/java/compatibility_tests/v2.5.0/tests/src/main/java/com/google/protobuf/test/LazyStringArrayListTest.java
|
| index 0f42ac506075b394e2024f754b6208cafdbee361..9bc94eef1df4a7f106b3ecd9ddbd6d70e866ebc0 100644
|
| --- a/third_party/protobuf/java/core/src/test/java/com/google/protobuf/LazyStringArrayListTest.java
|
| +++ b/third_party/protobuf/java/compatibility_tests/v2.5.0/tests/src/main/java/com/google/protobuf/test/LazyStringArrayListTest.java
|
| @@ -1,6 +1,6 @@
|
| // Protocol Buffers - Google's data interchange format
|
| // Copyright 2008 Google Inc. All rights reserved.
|
| -// https://developers.google.com/protocol-buffers/
|
| +// http://code.google.com/p/protobuf/
|
| //
|
| // Redistribution and use in source and binary forms, with or without
|
| // modification, are permitted provided that the following conditions are
|
| @@ -28,15 +28,12 @@
|
| // (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 com.google.protobuf;
|
| -
|
| -import static java.util.Arrays.asList;
|
| +package com.google.protobuf.test;
|
| +import com.google.protobuf.*;
|
|
|
| import junit.framework.TestCase;
|
|
|
| import java.util.ArrayList;
|
| -import java.util.ConcurrentModificationException;
|
| -import java.util.Iterator;
|
| import java.util.List;
|
|
|
| /**
|
| @@ -71,14 +68,6 @@ public class LazyStringArrayListTest extends TestCase {
|
| list.remove(1);
|
| assertSame(STRING_A, list.get(0));
|
| assertSame(STRING_C, list.get(1));
|
| -
|
| - List<ByteString> byteStringList = list.asByteStringList();
|
| - assertEquals(BYTE_STRING_A, byteStringList.get(0));
|
| - assertEquals(BYTE_STRING_C, byteStringList.get(1));
|
| -
|
| - // Underlying list should be transformed.
|
| - assertSame(byteStringList.get(0), list.getByteString(0));
|
| - assertSame(byteStringList.get(1), list.getByteString(1));
|
| }
|
|
|
| public void testJustByteString() {
|
| @@ -95,10 +84,6 @@ public class LazyStringArrayListTest extends TestCase {
|
| list.remove(1);
|
| assertSame(BYTE_STRING_A, list.getByteString(0));
|
| assertSame(BYTE_STRING_C, list.getByteString(1));
|
| -
|
| - List<ByteString> byteStringList = list.asByteStringList();
|
| - assertSame(BYTE_STRING_A, byteStringList.get(0));
|
| - assertSame(BYTE_STRING_C, byteStringList.get(1));
|
| }
|
|
|
| public void testConversionBackAndForth() {
|
| @@ -175,188 +160,4 @@ public class LazyStringArrayListTest extends TestCase {
|
| assertSame(BYTE_STRING_B, list2.getByteString(1));
|
| assertSame(BYTE_STRING_C, list2.getByteString(2));
|
| }
|
| -
|
| - public void testModificationWithIteration() {
|
| - LazyStringArrayList list = new LazyStringArrayList();
|
| - list.addAll(asList(STRING_A, STRING_B, STRING_C));
|
| - Iterator<String> iterator = list.iterator();
|
| - assertEquals(3, list.size());
|
| - assertEquals(STRING_A, list.get(0));
|
| - assertEquals(STRING_A, iterator.next());
|
| -
|
| - // Does not structurally modify.
|
| - iterator = list.iterator();
|
| - list.set(0, STRING_B);
|
| - iterator.next();
|
| -
|
| - list.remove(0);
|
| - try {
|
| - iterator.next();
|
| - fail();
|
| - } catch (ConcurrentModificationException e) {
|
| - // expected
|
| - }
|
| -
|
| - iterator = list.iterator();
|
| - list.add(0, STRING_C);
|
| - try {
|
| - iterator.next();
|
| - fail();
|
| - } catch (ConcurrentModificationException e) {
|
| - // expected
|
| - }
|
| - }
|
| -
|
| - public void testMakeImmutable() {
|
| - LazyStringArrayList list = new LazyStringArrayList();
|
| - list.add(STRING_A);
|
| - list.add(STRING_B);
|
| - list.add(STRING_C);
|
| - list.makeImmutable();
|
| - assertGenericListImmutable(list, STRING_A);
|
| -
|
| - // LazyStringArrayList has extra methods not covered in the generic
|
| - // assertion.
|
| -
|
| - try {
|
| - list.add(BYTE_STRING_A.toByteArray());
|
| - fail();
|
| - } catch (UnsupportedOperationException e) {
|
| - // expected
|
| - }
|
| -
|
| - try {
|
| - list.add(BYTE_STRING_A);
|
| - fail();
|
| - } catch (UnsupportedOperationException e) {
|
| - // expected
|
| - }
|
| -
|
| - try {
|
| - list.addAllByteArray(asList(BYTE_STRING_A.toByteArray()));
|
| - fail();
|
| - } catch (UnsupportedOperationException e) {
|
| - // expected
|
| - }
|
| -
|
| - try {
|
| - list.addAllByteString(asList(BYTE_STRING_A));
|
| - fail();
|
| - } catch (UnsupportedOperationException e) {
|
| - // expected
|
| - }
|
| -
|
| - try {
|
| - list.mergeFrom(new LazyStringArrayList());
|
| - fail();
|
| - } catch (UnsupportedOperationException e) {
|
| - // expected
|
| - }
|
| -
|
| - try {
|
| - list.set(0, BYTE_STRING_A.toByteArray());
|
| - fail();
|
| - } catch (UnsupportedOperationException e) {
|
| - // expected
|
| - }
|
| -
|
| - try {
|
| - list.set(0, BYTE_STRING_A);
|
| - fail();
|
| - } catch (UnsupportedOperationException e) {
|
| - // expected
|
| - }
|
| - }
|
| -
|
| - public void testImmutabilityPropagation() {
|
| - LazyStringArrayList list = new LazyStringArrayList();
|
| - list.add(STRING_A);
|
| - list.makeImmutable();
|
| -
|
| - assertGenericListImmutable(list.asByteStringList(), BYTE_STRING_A);
|
| -
|
| - // Arrays use reference equality so need to retrieve the underlying value
|
| - // to properly test deep immutability.
|
| - List<byte[]> byteArrayList = list.asByteArrayList();
|
| - assertGenericListImmutable(byteArrayList, byteArrayList.get(0));
|
| - }
|
| -
|
| - private static <T> void assertGenericListImmutable(List<T> list, T value) {
|
| - try {
|
| - list.add(value);
|
| - fail();
|
| - } catch (UnsupportedOperationException e) {
|
| - // expected
|
| - }
|
| -
|
| - try {
|
| - list.add(0, value);
|
| - fail();
|
| - } catch (UnsupportedOperationException e) {
|
| - // expected
|
| - }
|
| -
|
| - try {
|
| - list.addAll(asList(value));
|
| - fail();
|
| - } catch (UnsupportedOperationException e) {
|
| - // expected
|
| - }
|
| -
|
| - try {
|
| - list.addAll(0, asList(value));
|
| - fail();
|
| - } catch (UnsupportedOperationException e) {
|
| - // expected
|
| - }
|
| -
|
| - try {
|
| - list.clear();
|
| - fail();
|
| - } catch (UnsupportedOperationException e) {
|
| - // expected
|
| - }
|
| -
|
| - try {
|
| - list.remove(0);
|
| - fail();
|
| - } catch (UnsupportedOperationException e) {
|
| - // expected
|
| - }
|
| -
|
| - try {
|
| - list.remove(value);
|
| - fail();
|
| - } catch (UnsupportedOperationException e) {
|
| - // expected
|
| - }
|
| -
|
| - try {
|
| - list.removeAll(asList(value));
|
| - fail();
|
| - } catch (UnsupportedOperationException e) {
|
| - // expected
|
| - }
|
| -
|
| - try {
|
| - list.retainAll(asList());
|
| - fail();
|
| - } catch (UnsupportedOperationException e) {
|
| - // expected
|
| - }
|
| -
|
| - try {
|
| - list.retainAll(asList());
|
| - fail();
|
| - } catch (UnsupportedOperationException e) {
|
| - // expected
|
| - }
|
| -
|
| - try {
|
| - list.set(0, value);
|
| - fail();
|
| - } catch (UnsupportedOperationException e) {
|
| - // expected
|
| - }
|
| - }
|
| }
|
|
|