aboutsummaryrefslogtreecommitdiffhomepage
path: root/conformance
diff options
context:
space:
mode:
authorGravatar Yilun Chong <yilunchong@google.com>2017-06-28 12:17:24 -0700
committerGravatar Yilun Chong <yilunchong@google.com>2017-06-28 12:17:24 -0700
commit06c9057cc32f0155f277dd0842f83b5ac362c386 (patch)
tree2ed96e86c813772f78af4cc0b57029a94da8d772 /conformance
parent5e7e2d3bb8435e4ea20649a9baf9f7420f5f0cce (diff)
add objec support
Diffstat (limited to 'conformance')
-rw-r--r--conformance/conformance_objc.m20
1 files changed, 14 insertions, 6 deletions
diff --git a/conformance/conformance_objc.m b/conformance/conformance_objc.m
index ef037f84..db3cc3e7 100644
--- a/conformance/conformance_objc.m
+++ b/conformance/conformance_objc.m
@@ -71,12 +71,20 @@ static ConformanceResponse *DoTest(ConformanceRequest *request) {
break;
case ConformanceRequest_Payload_OneOfCase_ProtobufPayload: {
- NSError *error = nil;
- testMessage = [TestAllTypes parseFromData:request.protobufPayload
- error:&error];
- if (!testMessage) {
- response.parseError =
- [NSString stringWithFormat:@"Parse error: %@", error];
+ if ([request.messageType isEqualToString:@"proto3"]) {
+ NSError *error = nil;
+ testMessage = [TestAllTypes parseFromData:request.protobufPayload
+ error:&error];
+ if (!testMessage) {
+ response.parseError =
+ [NSString stringWithFormat:@"Parse error: %@", error];
+ }
+ } else if ([request.messageType isEqualToString:@"proto2"]) {
+ response.skipped = @"ObjC doesn't support proto2";
+ break;
+ } else {
+ Die(@"Protobuf request doesn't have specific payload type");
+ break;
}
break;
}