// Copyright 2023 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef BASE_TEST_PROTOBUF_MATCHERS_H_ #define BASE_TEST_PROTOBUF_MATCHERS_H_ #include <string> #include <tuple> #include "testing/gmock/include/gmock/gmock-matchers.h" namespace base::test { // Parses a binary proto and returns a raw TextProto, where all fields are // unnamed. The input must be a valid serialized protobuf message. std::string BinaryProtoToRawTextProto(const std::string& binary_message); // Matcher that verifies two protobufs contain the same data. MATCHER_P(EqualsProto, message, "Match a proto Message equal to the matcher's argument.") { … } // EqualsProto() implementation for 2-tuple matchers. MATCHER(EqualsProto, "Matches if the tuple's proto Message arguments are equal.") { … } } // namespace base::test #endif // BASE_TEST_PROTOBUF_MATCHERS_H_