aboutsummaryrefslogtreecommitdiff
path: root/src/ProtocolBuffers.Test/DescriptorsTest.cs
diff options
context:
space:
mode:
authorJon Skeet <skeet@pobox.com>2009-06-05 19:29:36 +0100
committerJon Skeet <skeet@pobox.com>2009-06-05 19:29:36 +0100
commitdf67f1482beab88844296a469aa135fbaebcec9d (patch)
tree86cc32075c445264bd28a582f1a873913664b968 /src/ProtocolBuffers.Test/DescriptorsTest.cs
parent6ef233d4ea9099188310e5278f76c01f931ac817 (diff)
downloadprotobuf-df67f1482beab88844296a469aa135fbaebcec9d.tar.gz
protobuf-df67f1482beab88844296a469aa135fbaebcec9d.tar.bz2
protobuf-df67f1482beab88844296a469aa135fbaebcec9d.zip
Fix custom options behaviour
Diffstat (limited to 'src/ProtocolBuffers.Test/DescriptorsTest.cs')
-rw-r--r--src/ProtocolBuffers.Test/DescriptorsTest.cs36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/ProtocolBuffers.Test/DescriptorsTest.cs b/src/ProtocolBuffers.Test/DescriptorsTest.cs
index 3921a6ee..913a919e 100644
--- a/src/ProtocolBuffers.Test/DescriptorsTest.cs
+++ b/src/ProtocolBuffers.Test/DescriptorsTest.cs
@@ -286,5 +286,41 @@ namespace Google.ProtocolBuffers {
Assert.AreEqual(i, service.Methods[i].Index);
}
}
+
+ [Test]
+ public void CustomOptions() {
+ MessageDescriptor descriptor = TestMessageWithCustomOptions.Descriptor;
+ Assert.IsTrue(descriptor.Options.HasExtension(UnitTestCustomOptionsProtoFile.MessageOpt1));
+ Assert.AreEqual(-56, descriptor.Options.GetExtension(UnitTestCustomOptionsProtoFile.MessageOpt1));
+
+
+ FieldDescriptor field = descriptor.FindFieldByName("field1");
+ Assert.IsNotNull(field);
+
+ Assert.IsTrue(field.Options.HasExtension(UnitTestCustomOptionsProtoFile.FieldOpt1));
+ Assert.AreEqual(8765432109L, field.Options.GetExtension(UnitTestCustomOptionsProtoFile.FieldOpt1));
+
+ // TODO: Write out enum descriptors
+ /*
+ EnumDescriptor enumType = TestMessageWithCustomOptions.Types.
+ UnittestCustomOptions.TestMessageWithCustomOptions.AnEnum.getDescriptor();
+
+ Assert.IsTrue(
+ enumType.getOptions().hasExtension(UnittestCustomOptions.enumOpt1));
+ Assert.AreEqual(Integer.valueOf(-789),
+ enumType.getOptions().getExtension(UnittestCustomOptions.enumOpt1));
+ */
+
+ ServiceDescriptor service = TestServiceWithCustomOptions.Descriptor;
+
+ Assert.IsTrue(service.Options.HasExtension(UnitTestCustomOptionsProtoFile.ServiceOpt1));
+ Assert.AreEqual(-9876543210L, service.Options.GetExtension(UnitTestCustomOptionsProtoFile.ServiceOpt1));
+
+ MethodDescriptor method = service.FindMethodByName("Foo");
+ Assert.IsNotNull(method);
+
+ Assert.IsTrue(method.Options.HasExtension(UnitTestCustomOptionsProtoFile.MethodOpt1));
+ Assert.AreEqual(MethodOpt1.METHODOPT1_VAL2, method.Options.GetExtension(UnitTestCustomOptionsProtoFile.MethodOpt1));
+ }
}
}