diff options
author | Jon Skeet <jonskeet@google.com> | 2016-04-29 10:10:40 +0100 |
---|---|---|
committer | Jon Skeet <jonskeet@google.com> | 2016-04-29 10:20:03 +0100 |
commit | 61307b86f561721ac47ecd74d9fd1dffa0acad53 (patch) | |
tree | bda7a9541f0639d05bfb9b1c0acde474e8e14133 /csharp/src/Google.Protobuf.Test/WellKnownTypes/AnyTest.cs | |
parent | b53417c7356deab70f44b60bd7e6270023ddc3b6 (diff) | |
download | protobuf-61307b86f561721ac47ecd74d9fd1dffa0acad53.tar.gz protobuf-61307b86f561721ac47ecd74d9fd1dffa0acad53.tar.bz2 protobuf-61307b86f561721ac47ecd74d9fd1dffa0acad53.zip |
Allow custom type URL prefixes in Any.Pack
(And likewise ignore the prefix in unpack.)
Fixes issue #1459.
Diffstat (limited to 'csharp/src/Google.Protobuf.Test/WellKnownTypes/AnyTest.cs')
-rw-r--r-- | csharp/src/Google.Protobuf.Test/WellKnownTypes/AnyTest.cs | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/csharp/src/Google.Protobuf.Test/WellKnownTypes/AnyTest.cs b/csharp/src/Google.Protobuf.Test/WellKnownTypes/AnyTest.cs index f3593e5f..f21be7d9 100644 --- a/csharp/src/Google.Protobuf.Test/WellKnownTypes/AnyTest.cs +++ b/csharp/src/Google.Protobuf.Test/WellKnownTypes/AnyTest.cs @@ -47,6 +47,24 @@ namespace Google.Protobuf.WellKnownTypes } [Test] + public void Pack_WithCustomPrefix() + { + var message = SampleMessages.CreateFullTestAllTypes(); + var any = Any.Pack(message, "foo.bar/baz"); + Assert.AreEqual("foo.bar/baz/protobuf_unittest.TestAllTypes", any.TypeUrl); + Assert.AreEqual(message.CalculateSize(), any.Value.Length); + } + + [Test] + public void Pack_WithCustomPrefixTrailingSlash() + { + var message = SampleMessages.CreateFullTestAllTypes(); + var any = Any.Pack(message, "foo.bar/baz/"); + Assert.AreEqual("foo.bar/baz/protobuf_unittest.TestAllTypes", any.TypeUrl); + Assert.AreEqual(message.CalculateSize(), any.Value.Length); + } + + [Test] public void Unpack_WrongType() { var message = SampleMessages.CreateFullTestAllTypes(); @@ -64,6 +82,15 @@ namespace Google.Protobuf.WellKnownTypes } [Test] + public void Unpack_CustomPrefix_Success() + { + var message = SampleMessages.CreateFullTestAllTypes(); + var any = Any.Pack(message, "foo.bar/baz"); + var unpacked = any.Unpack<TestAllTypes>(); + Assert.AreEqual(message, unpacked); + } + + [Test] public void ToString_WithValues() { var message = SampleMessages.CreateFullTestAllTypes(); |