| OLD | NEW |
| 1 // Protocol Buffers - Google's data interchange format | 1 // Protocol Buffers - Google's data interchange format |
| 2 // Copyright 2008 Google Inc. All rights reserved. | 2 // Copyright 2008 Google Inc. All rights reserved. |
| 3 // https://developers.google.com/protocol-buffers/ | 3 // https://developers.google.com/protocol-buffers/ |
| 4 // | 4 // |
| 5 // Redistribution and use in source and binary forms, with or without | 5 // Redistribution and use in source and binary forms, with or without |
| 6 // modification, are permitted provided that the following conditions are | 6 // modification, are permitted provided that the following conditions are |
| 7 // met: | 7 // met: |
| 8 // | 8 // |
| 9 // * Redistributions of source code must retain the above copyright | 9 // * Redistributions of source code must retain the above copyright |
| 10 // notice, this list of conditions and the following disclaimer. | 10 // notice, this list of conditions and the following disclaimer. |
| (...skipping 470 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 481 | 481 |
| 482 EXPECT_EQ(repeated_field->number(), unknown_fields.field(2).number()); | 482 EXPECT_EQ(repeated_field->number(), unknown_fields.field(2).number()); |
| 483 ASSERT_EQ(UnknownField::TYPE_VARINT, unknown_fields.field(2).type()); | 483 ASSERT_EQ(UnknownField::TYPE_VARINT, unknown_fields.field(2).type()); |
| 484 EXPECT_EQ(6, unknown_fields.field(2).varint()); | 484 EXPECT_EQ(6, unknown_fields.field(2).varint()); |
| 485 } | 485 } |
| 486 } | 486 } |
| 487 | 487 |
| 488 TEST_F(UnknownFieldSetTest, SpaceUsedExcludingSelf) { | 488 TEST_F(UnknownFieldSetTest, SpaceUsedExcludingSelf) { |
| 489 UnknownFieldSet empty; | 489 UnknownFieldSet empty; |
| 490 empty.AddVarint(1, 0); | 490 empty.AddVarint(1, 0); |
| 491 EXPECT_EQ(sizeof(std::vector<UnknownField>) + sizeof(UnknownField), | 491 EXPECT_EQ(sizeof(vector<UnknownField>) + sizeof(UnknownField), |
| 492 empty.SpaceUsedExcludingSelf()); | 492 empty.SpaceUsedExcludingSelf()); |
| 493 } | 493 } |
| 494 | 494 |
| 495 TEST_F(UnknownFieldSetTest, SpaceUsed) { | 495 TEST_F(UnknownFieldSetTest, SpaceUsed) { |
| 496 unittest::TestEmptyMessage empty_message; | 496 unittest::TestEmptyMessage empty_message; |
| 497 | 497 |
| 498 // Make sure an unknown field set has zero space used until a field is | 498 // Make sure an unknown field set has zero space used until a field is |
| 499 // actually added. | 499 // actually added. |
| 500 int base_size = empty_message.SpaceUsed(); | 500 int base_size = empty_message.SpaceUsed(); |
| 501 UnknownFieldSet* unknown_fields = empty_message.mutable_unknown_fields(); | 501 UnknownFieldSet* unknown_fields = empty_message.mutable_unknown_fields(); |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 552 EXPECT_EQ(i, unknown.field(i).fixed32()); | 552 EXPECT_EQ(i, unknown.field(i).fixed32()); |
| 553 } else { | 553 } else { |
| 554 EXPECT_EQ(i + num, unknown.field(i).fixed32()); | 554 EXPECT_EQ(i + num, unknown.field(i).fixed32()); |
| 555 } | 555 } |
| 556 } | 556 } |
| 557 } | 557 } |
| 558 } | 558 } |
| 559 } | 559 } |
| 560 } | 560 } |
| 561 | 561 |
| 562 void CheckDeleteByNumber(const std::vector<int>& field_numbers, | 562 void CheckDeleteByNumber(const vector<int>& field_numbers, int deleted_number, |
| 563 int deleted_number, | 563 const vector<int>& expected_field_nubmers) { |
| 564 const std::vector<int>& expected_field_nubmers) { | |
| 565 UnknownFieldSet unknown_fields; | 564 UnknownFieldSet unknown_fields; |
| 566 for (int i = 0; i < field_numbers.size(); ++i) { | 565 for (int i = 0; i < field_numbers.size(); ++i) { |
| 567 unknown_fields.AddFixed32(field_numbers[i], i); | 566 unknown_fields.AddFixed32(field_numbers[i], i); |
| 568 } | 567 } |
| 569 unknown_fields.DeleteByNumber(deleted_number); | 568 unknown_fields.DeleteByNumber(deleted_number); |
| 570 ASSERT_EQ(expected_field_nubmers.size(), unknown_fields.field_count()); | 569 ASSERT_EQ(expected_field_nubmers.size(), unknown_fields.field_count()); |
| 571 for (int i = 0; i < expected_field_nubmers.size(); ++i) { | 570 for (int i = 0; i < expected_field_nubmers.size(); ++i) { |
| 572 EXPECT_EQ(expected_field_nubmers[i], | 571 EXPECT_EQ(expected_field_nubmers[i], |
| 573 unknown_fields.field(i).number()); | 572 unknown_fields.field(i).number()); |
| 574 } | 573 } |
| 575 } | 574 } |
| 576 | 575 |
| 577 #define MAKE_VECTOR(x) std::vector<int>(x, x + GOOGLE_ARRAYSIZE(x)) | 576 #define MAKE_VECTOR(x) vector<int>(x, x + GOOGLE_ARRAYSIZE(x)) |
| 578 TEST_F(UnknownFieldSetTest, DeleteByNumber) { | 577 TEST_F(UnknownFieldSetTest, DeleteByNumber) { |
| 579 CheckDeleteByNumber(std::vector<int>(), 1, std::vector<int>()); | 578 CheckDeleteByNumber(vector<int>(), 1, vector<int>()); |
| 580 static const int kTestFieldNumbers1[] = {1, 2, 3}; | 579 static const int kTestFieldNumbers1[] = {1, 2, 3}; |
| 581 static const int kFieldNumberToDelete1 = 1; | 580 static const int kFieldNumberToDelete1 = 1; |
| 582 static const int kExpectedFieldNumbers1[] = {2, 3}; | 581 static const int kExpectedFieldNumbers1[] = {2, 3}; |
| 583 CheckDeleteByNumber(MAKE_VECTOR(kTestFieldNumbers1), kFieldNumberToDelete1, | 582 CheckDeleteByNumber(MAKE_VECTOR(kTestFieldNumbers1), kFieldNumberToDelete1, |
| 584 MAKE_VECTOR(kExpectedFieldNumbers1)); | 583 MAKE_VECTOR(kExpectedFieldNumbers1)); |
| 585 static const int kTestFieldNumbers2[] = {1, 2, 3}; | 584 static const int kTestFieldNumbers2[] = {1, 2, 3}; |
| 586 static const int kFieldNumberToDelete2 = 2; | 585 static const int kFieldNumberToDelete2 = 2; |
| 587 static const int kExpectedFieldNumbers2[] = {1, 3}; | 586 static const int kExpectedFieldNumbers2[] = {1, 3}; |
| 588 CheckDeleteByNumber(MAKE_VECTOR(kTestFieldNumbers2), kFieldNumberToDelete2, | 587 CheckDeleteByNumber(MAKE_VECTOR(kTestFieldNumbers2), kFieldNumberToDelete2, |
| 589 MAKE_VECTOR(kExpectedFieldNumbers2)); | 588 MAKE_VECTOR(kExpectedFieldNumbers2)); |
| (...skipping 11 matching lines...) Expand all Loading... |
| 601 static const int kFieldNumberToDelete5 = 6; | 600 static const int kFieldNumberToDelete5 = 6; |
| 602 static const int kExpectedFieldNumbers5[] = {1, 2, 3, 4, 5}; | 601 static const int kExpectedFieldNumbers5[] = {1, 2, 3, 4, 5}; |
| 603 CheckDeleteByNumber(MAKE_VECTOR(kTestFieldNumbers5), kFieldNumberToDelete5, | 602 CheckDeleteByNumber(MAKE_VECTOR(kTestFieldNumbers5), kFieldNumberToDelete5, |
| 604 MAKE_VECTOR(kExpectedFieldNumbers5)); | 603 MAKE_VECTOR(kExpectedFieldNumbers5)); |
| 605 } | 604 } |
| 606 #undef MAKE_VECTOR | 605 #undef MAKE_VECTOR |
| 607 } // namespace | 606 } // namespace |
| 608 | 607 |
| 609 } // namespace protobuf | 608 } // namespace protobuf |
| 610 } // namespace google | 609 } // namespace google |
| OLD | NEW |