#include <google/protobuf/stubs/casts.h>
#include <google/protobuf/stubs/strutil.h>
#include <google/protobuf/stubs/logging.h>
#include <google/protobuf/stubs/common.h>
#include <google/protobuf/test_util.h>
#include <google/protobuf/test_util2.h>
#include <google/protobuf/unittest.pb.h>
#include <google/protobuf/unittest_mset.pb.h>
#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/io/zero_copy_stream_impl.h>
#include <google/protobuf/descriptor.pb.h>
#include <google/protobuf/arena.h>
#include <google/protobuf/descriptor.h>
#include <google/protobuf/dynamic_message.h>
#include <google/protobuf/extension_set.h>
#include <google/protobuf/wire_format.h>
#include <google/protobuf/testing/googletest.h>
#include <gtest/gtest.h>
#include <google/protobuf/stubs/stl_util.h>
#include <google/protobuf/port_def.inc>
Go to the source code of this file.
◆ TEST_REPEATED_EXTENSIONS_SPACE_USED
      
        
          | #define TEST_REPEATED_EXTENSIONS_SPACE_USED | ( |  | type, | 
        
          |  |  |  | cpptype, | 
        
          |  |  |  | value | 
        
          |  | ) |  |  | 
      
 
Value:  do {                                                                        \
    unittest::TestAllExtensions 
message;                                      \
    const 
size_t base_size = 
message.SpaceUsedLong();                         \
    message.AddExtension(unittest::repeated_##
type##_extension, 
value);       \
    message.ClearExtension(unittest::repeated_##
type##_extension);            \
    const 
size_t empty_repeated_field_size = 
message.SpaceUsedLong();         \
    EXPECT_LE(min_expected_size, empty_repeated_field_size) << #
type;         \
    message.AddExtension(unittest::repeated_##
type##_extension, 
value);       \
    message.AddExtension(unittest::repeated_##
type##_extension, 
value);       \
    EXPECT_EQ(empty_repeated_field_size, 
message.SpaceUsedLong()) << #
type;   \
    message.ClearExtension(unittest::repeated_##
type##_extension);            \
    const size_t old_capacity =                                               \
        message.GetRepeatedExtension(unittest::repeated_##
type##_extension)   \
            .Capacity();                                                      \
    for (
int i = 0; 
i < 16; ++
i) {                                            \
      message.AddExtension(unittest::repeated_##
type##_extension, 
value);     \
    }                                                                         \
    int expected_size =                                                       \
        sizeof(cpptype) *                                                     \
                 .GetRepeatedExtension(unittest::repeated_##
type##_extension) \
                 .Capacity() -                                                \
             old_capacity) +                                                  \
        empty_repeated_field_size;                                            \
    EXPECT_LE(expected_size, 
message.SpaceUsedLong()) << #
type;               \
  } while (0)
 
 
◆ TEST_SCALAR_EXTENSIONS_SPACE_USED
      
        
          | #define TEST_SCALAR_EXTENSIONS_SPACE_USED | ( |  | type, | 
        
          |  |  |  | value | 
        
          |  | ) |  |  | 
      
 
Value:  do {                                                                       \
    unittest::TestAllExtensions 
message;                                     \
    const 
int base_size = 
message.SpaceUsedLong();                           \
    message.SetExtension(unittest::optional_##
type##_extension, 
value);      \
    int min_expected_size =                                                  \
        base_size +                                                          \
        sizeof(
message.GetExtension(unittest::optional_##
type##_extension)); \
    EXPECT_LE(min_expected_size, 
message.SpaceUsedLong());                   \
  } while (0)