167
167
EXPECT_TRUE(extreme_default.nan_float() != extreme_default.nan_float());
170
TEST(GeneratedMessageTest, Trigraph) {
171
const unittest::TestExtremeDefaultValues& extreme_default =
172
unittest::TestExtremeDefaultValues::default_instance();
174
EXPECT_EQ("? ? ?? ?? ??? ?\?/ ?\?-", extreme_default.cpp_trigraph());
170
177
TEST(GeneratedMessageTest, Accessors) {
171
178
// Set every field to a unique value then go back and check all those
195
202
EXPECT_EQ("hello", *message.mutable_default_string());
205
TEST(GeneratedMessageTest, ReleaseString) {
206
// Check that release_foo() starts out NULL, and gives us a value
207
// that we can delete after it's been set.
208
unittest::TestAllTypes message;
210
EXPECT_EQ(NULL, message.release_default_string());
211
EXPECT_FALSE(message.has_default_string());
212
EXPECT_EQ("hello", message.default_string());
214
message.set_default_string("blah");
215
EXPECT_TRUE(message.has_default_string());
216
string* str = message.release_default_string();
217
EXPECT_FALSE(message.has_default_string());
218
ASSERT_TRUE(str != NULL);
219
EXPECT_EQ("blah", *str);
222
EXPECT_EQ(NULL, message.release_default_string());
223
EXPECT_FALSE(message.has_default_string());
224
EXPECT_EQ("hello", message.default_string());
227
TEST(GeneratedMessageTest, ReleaseMessage) {
228
// Check that release_foo() starts out NULL, and gives us a value
229
// that we can delete after it's been set.
230
unittest::TestAllTypes message;
232
EXPECT_EQ(NULL, message.release_optional_nested_message());
233
EXPECT_FALSE(message.has_optional_nested_message());
235
message.mutable_optional_nested_message()->set_bb(1);
236
unittest::TestAllTypes::NestedMessage* nest =
237
message.release_optional_nested_message();
238
EXPECT_FALSE(message.has_optional_nested_message());
239
ASSERT_TRUE(nest != NULL);
240
EXPECT_EQ(1, nest->bb());
243
EXPECT_EQ(NULL, message.release_optional_nested_message());
244
EXPECT_FALSE(message.has_optional_nested_message());
198
247
TEST(GeneratedMessageTest, Clear) {
199
248
// Set every field to a unique value, clear the message, then check that
200
249
// it is cleared.
282
331
TestUtil::ExpectAllFieldsSet(message2);
285
335
TEST(GeneratedMessageTest, SwapWithEmpty) {
286
336
unittest::TestAllTypes message1, message2;
287
337
TestUtil::SetAllFields(&message1);
719
769
#endif // !PROTOBUF_TEST_NO_DESCRIPTORS
721
772
TEST(GeneratedMessageTest, FieldConstantValues) {
722
773
unittest::TestRequired message;
723
774
EXPECT_EQ(unittest::TestAllTypes_NestedMessage::kBbFieldNumber, 1);
809
860
EXPECT_EQ(12589235, unittest::TestSparseEnum_ARRAYSIZE);
811
862
// Make sure we can take the address of _MIN, _MAX and _ARRAYSIZE.
812
void* nullptr = 0; // NULL may be integer-type, not pointer-type.
813
EXPECT_NE(nullptr, &unittest::TestAllTypes::NestedEnum_MIN);
814
EXPECT_NE(nullptr, &unittest::TestAllTypes::NestedEnum_MAX);
815
EXPECT_NE(nullptr, &unittest::TestAllTypes::NestedEnum_ARRAYSIZE);
863
void* null_pointer = 0; // NULL may be integer-type, not pointer-type.
864
EXPECT_NE(null_pointer, &unittest::TestAllTypes::NestedEnum_MIN);
865
EXPECT_NE(null_pointer, &unittest::TestAllTypes::NestedEnum_MAX);
866
EXPECT_NE(null_pointer, &unittest::TestAllTypes::NestedEnum_ARRAYSIZE);
817
EXPECT_NE(nullptr, &unittest::ForeignEnum_MIN);
818
EXPECT_NE(nullptr, &unittest::ForeignEnum_MAX);
819
EXPECT_NE(nullptr, &unittest::ForeignEnum_ARRAYSIZE);
868
EXPECT_NE(null_pointer, &unittest::ForeignEnum_MIN);
869
EXPECT_NE(null_pointer, &unittest::ForeignEnum_MAX);
870
EXPECT_NE(null_pointer, &unittest::ForeignEnum_ARRAYSIZE);
821
872
// Make sure we can use _MIN, _MAX and _ARRAYSIZE as switch cases.
822
873
switch (unittest::SPARSE_A) {