#include "perfetto/protozero/message.h"
#include <limits>
#include <memory>
#include <utility>
#include <vector>
#include "perfetto/base/logging.h"
#include "perfetto/protozero/message_handle.h"
#include "perfetto/protozero/proto_utils.h"
#include "perfetto/protozero/root_message.h"
#include "src/base/test/utils.h"
#include "src/protozero/test/fake_scattered_buffer.h"
#include "test/gtest_and_gmock.h"
namespace protozero {
namespace {
constexpr size_t kChunkSize = …;
constexpr uint8_t kTestBytes[] = …;
constexpr const char kStartWatermark[] = …;
constexpr const char kEndWatermark[] = …;
class FakeRootMessage : public RootMessage<Message> { … };
class FakeChildMessage : public Message { … };
uint32_t SimpleHash(const std::string& str) { … }
class MessageTest : public ::testing::Test { … };
TEST_F(MessageTest, ZeroLengthArraysAndStrings) { … }
TEST_F(MessageTest, BasicTypesNoNesting) { … }
TEST_F(MessageTest, NestedMessagesSimple) { … }
TEST_F(MessageTest, AppendScatteredBytes) { … }
TEST_F(MessageTest, AppendRawProtoBytesFinalizesNestedMessage) { … }
TEST_F(MessageTest, AppendScatteredBytesFinalizesNestedMessage) { … }
TEST_F(MessageTest, StressTest) { … }
TEST_F(MessageTest, DeeplyNested) { … }
TEST_F(MessageTest, DeeplyNestedEmptyMessages) { … }
TEST_F(MessageTest, DestructInvalidMessageHandle) { … }
TEST_F(MessageTest, MessageHandle) { … }
TEST_F(MessageTest, MoveMessageHandle) { … }
TEST_F(MessageTest, FinalizeWithCompaction) { … }
TEST_F(MessageTest, FinalizeWithoutCompaction) { … }
}
}