aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Van Lenten <thomasvl@google.com>2016-08-12 11:59:07 -0400
committerJisi Liu <jisi.liu@gmail.com>2016-09-08 12:45:20 -0700
commit5699b920bf2d3fa7a023748006a2421b9e7815c7 (patch)
treea8c701b0666543d2323209003d68e0e9cb116ac0
parent708296e583af06400533d8766470e09844a289bc (diff)
downloadprotobuf-5699b920bf2d3fa7a023748006a2421b9e7815c7.tar.gz
protobuf-5699b920bf2d3fa7a023748006a2421b9e7815c7.tar.bz2
protobuf-5699b920bf2d3fa7a023748006a2421b9e7815c7.zip
More complete nil/reset tests within a oneof
-rw-r--r--objectivec/Tests/GPBMessageTests+Runtime.m18
1 files changed, 12 insertions, 6 deletions
diff --git a/objectivec/Tests/GPBMessageTests+Runtime.m b/objectivec/Tests/GPBMessageTests+Runtime.m
index 87f02e39..60844c94 100644
--- a/objectivec/Tests/GPBMessageTests+Runtime.m
+++ b/objectivec/Tests/GPBMessageTests+Runtime.m
@@ -2063,7 +2063,7 @@
// Should be set to the correct case.
XCTAssertEqual(msg.oOneOfCase, values[i], "Loop: %zd", i);
- // Confirm everything is back as the defaults.
+ // Confirm everything is the defaults.
XCTAssertEqual(msg.oneofInt32, 100, "Loop: %zd", i);
XCTAssertEqual(msg.oneofInt64, 101, "Loop: %zd", i);
XCTAssertEqual(msg.oneofUint32, 102U, "Loop: %zd", i);
@@ -2079,22 +2079,25 @@
XCTAssertEqual(msg.oneofBool, YES, "Loop: %zd", i);
XCTAssertEqualObjects(msg.oneofString, oneofStringDefault, "Loop: %zd", i);
XCTAssertEqualObjects(msg.oneofBytes, oneofBytesDefault, "Loop: %zd", i);
- XCTAssertNotNil(msg.oneofGroup, "Loop: %zd", i);
- // Skip group
- // Skip message
+ // Skip group, no default to consider.
+ // Skip message, no default to consider.
XCTAssertEqual(msg.oneofEnum, Message2_Enum_Baz, "Loop: %zd", i);
}
- // We special case nil on string, data, group, message, ensure they work as
- // expected. i.e. - it clears the case.
+ // We special case nil on string, data, group, and message, ensure they work
+ // as expected. i.e. - it clears the case.
msg.oneofString = nil;
+ XCTAssertEqualObjects(msg.oneofString, oneofStringDefault);
XCTAssertEqual(msg.oOneOfCase, Message2_O_OneOfCase_GPBUnsetOneOfCase);
msg.oneofBytes = nil;
XCTAssertEqual(msg.oOneOfCase, Message2_O_OneOfCase_GPBUnsetOneOfCase);
+ XCTAssertEqualObjects(msg.oneofBytes, oneofBytesDefault);
msg.oneofGroup = nil;
XCTAssertEqual(msg.oOneOfCase, Message2_O_OneOfCase_GPBUnsetOneOfCase);
+ XCTAssertNotNil(msg.oneofGroup);
msg.oneofMessage = nil;
XCTAssertEqual(msg.oOneOfCase, Message2_O_OneOfCase_GPBUnsetOneOfCase);
+ XCTAssertNotNil(msg.oneofMessage);
[msg release];
}
@@ -2214,10 +2217,13 @@
// We special case nil on string, data, message, ensure they work as expected.
msg.oneofString = nil;
XCTAssertEqual(msg.oOneOfCase, Message3_O_OneOfCase_GPBUnsetOneOfCase);
+ XCTAssertEqualObjects(msg.oneofString, oneofStringDefault);
msg.oneofBytes = nil;
XCTAssertEqual(msg.oOneOfCase, Message3_O_OneOfCase_GPBUnsetOneOfCase);
+ XCTAssertEqualObjects(msg.oneofBytes, oneofBytesDefault);
msg.oneofMessage = nil;
XCTAssertEqual(msg.oOneOfCase, Message3_O_OneOfCase_GPBUnsetOneOfCase);
+ XCTAssertNotNil(msg.oneofMessage);
[msg release];
}