~ubuntu-branches/ubuntu/trusty/protobuf/trusty-proposed

« back to all changes in this revision

Viewing changes to src/google/protobuf/compiler/cpp/cpp_unittest.cc

  • Committer: Bazaar Package Importer
  • Author(s): Matthias Klose
  • Date: 2011-05-31 14:41:47 UTC
  • mfrom: (2.2.8 sid)
  • Revision ID: james.westby@ubuntu.com-20110531144147-s41g5fozgvyo462l
Tags: 2.4.0a-2ubuntu1
* Merge with Debian; remaining changes:
  - Fix linking with -lpthread.

Show diffs side-by-side

added added

removed removed

Lines of Context:
167
167
  EXPECT_TRUE(extreme_default.nan_float() != extreme_default.nan_float());
168
168
}
169
169
 
 
170
TEST(GeneratedMessageTest, Trigraph) {
 
171
  const unittest::TestExtremeDefaultValues& extreme_default =
 
172
      unittest::TestExtremeDefaultValues::default_instance();
 
173
 
 
174
  EXPECT_EQ("? ? ?? ?? ??? ?\?/ ?\?-", extreme_default.cpp_trigraph());
 
175
}
 
176
 
170
177
TEST(GeneratedMessageTest, Accessors) {
171
178
  // Set every field to a unique value then go back and check all those
172
179
  // values.
195
202
  EXPECT_EQ("hello", *message.mutable_default_string());
196
203
}
197
204
 
 
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;
 
209
 
 
210
  EXPECT_EQ(NULL, message.release_default_string());
 
211
  EXPECT_FALSE(message.has_default_string());
 
212
  EXPECT_EQ("hello", message.default_string());
 
213
 
 
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);
 
220
  delete str;
 
221
 
 
222
  EXPECT_EQ(NULL, message.release_default_string());
 
223
  EXPECT_FALSE(message.has_default_string());
 
224
  EXPECT_EQ("hello", message.default_string());
 
225
}
 
226
 
 
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;
 
231
 
 
232
  EXPECT_EQ(NULL, message.release_optional_nested_message());
 
233
  EXPECT_FALSE(message.has_optional_nested_message());
 
234
 
 
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());
 
241
  delete nest;
 
242
 
 
243
  EXPECT_EQ(NULL, message.release_optional_nested_message());
 
244
  EXPECT_FALSE(message.has_optional_nested_message());
 
245
}
 
246
 
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);
283
332
}
284
333
 
 
334
 
285
335
TEST(GeneratedMessageTest, SwapWithEmpty) {
286
336
  unittest::TestAllTypes message1, message2;
287
337
  TestUtil::SetAllFields(&message1);
376
426
  TestUtil::ExpectAllFieldsSet(message2);
377
427
 
378
428
  // Make sure that self-assignment does something sane.
379
 
  message2 = message2;
 
429
  message2.operator=(message2);
380
430
  TestUtil::ExpectAllFieldsSet(message2);
381
431
}
382
432
 
718
768
 
719
769
#endif  // !PROTOBUF_TEST_NO_DESCRIPTORS
720
770
 
 
771
 
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);
810
861
 
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);
816
867
 
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);
820
871
 
821
872
  // Make sure we can use _MIN, _MAX and _ARRAYSIZE as switch cases.
822
873
  switch (unittest::SPARSE_A) {