Index: third_party/protobuf/java/core/src/test/java/com/google/protobuf/AnyTest.java |
diff --git a/third_party/protobuf/java/src/test/java/com/google/protobuf/AnyTest.java b/third_party/protobuf/java/core/src/test/java/com/google/protobuf/AnyTest.java |
similarity index 70% |
rename from third_party/protobuf/java/src/test/java/com/google/protobuf/AnyTest.java |
rename to third_party/protobuf/java/core/src/test/java/com/google/protobuf/AnyTest.java |
index e169f69d2453b5259788b0d43ce26b7fc6950c04..cf91ed91c61d7f8de76bc9259eda4c982c208bd6 100644 |
--- a/third_party/protobuf/java/src/test/java/com/google/protobuf/AnyTest.java |
+++ b/third_party/protobuf/java/core/src/test/java/com/google/protobuf/AnyTest.java |
@@ -75,6 +75,51 @@ public class AnyTest extends TestCase { |
} |
} |
+ public void testCustomTypeUrls() throws Exception { |
+ TestAllTypes.Builder builder = TestAllTypes.newBuilder(); |
+ TestUtil.setAllFields(builder); |
+ TestAllTypes message = builder.build(); |
+ |
+ TestAny container = TestAny.newBuilder() |
+ .setValue(Any.pack(message, "xxx.com")).build(); |
+ |
+ assertEquals( |
+ "xxx.com/" + TestAllTypes.getDescriptor().getFullName(), |
+ container.getValue().getTypeUrl()); |
+ |
+ assertTrue(container.getValue().is(TestAllTypes.class)); |
+ assertFalse(container.getValue().is(TestAny.class)); |
+ |
+ TestAllTypes result = container.getValue().unpack(TestAllTypes.class); |
+ TestUtil.assertAllFieldsSet(result); |
+ |
+ container = TestAny.newBuilder() |
+ .setValue(Any.pack(message, "yyy.com/")).build(); |
+ |
+ assertEquals( |
+ "yyy.com/" + TestAllTypes.getDescriptor().getFullName(), |
+ container.getValue().getTypeUrl()); |
+ |
+ assertTrue(container.getValue().is(TestAllTypes.class)); |
+ assertFalse(container.getValue().is(TestAny.class)); |
+ |
+ result = container.getValue().unpack(TestAllTypes.class); |
+ TestUtil.assertAllFieldsSet(result); |
+ |
+ container = TestAny.newBuilder() |
+ .setValue(Any.pack(message, "")).build(); |
+ |
+ assertEquals( |
+ "/" + TestAllTypes.getDescriptor().getFullName(), |
+ container.getValue().getTypeUrl()); |
+ |
+ assertTrue(container.getValue().is(TestAllTypes.class)); |
+ assertFalse(container.getValue().is(TestAny.class)); |
+ |
+ result = container.getValue().unpack(TestAllTypes.class); |
+ TestUtil.assertAllFieldsSet(result); |
+ } |
+ |
public void testCachedUnpackResult() throws Exception { |
TestAllTypes.Builder builder = TestAllTypes.newBuilder(); |
TestUtil.setAllFields(builder); |