1*6777b538SAndroid Build Coastguard Worker // Copyright 2024 The Chromium Authors
2*6777b538SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be
3*6777b538SAndroid Build Coastguard Worker // found in the LICENSE file.
4*6777b538SAndroid Build Coastguard Worker
5*6777b538SAndroid Build Coastguard Worker #include "base/files/file_path.h"
6*6777b538SAndroid Build Coastguard Worker #include "base/notreached.h"
7*6777b538SAndroid Build Coastguard Worker #include "base/path_service.h"
8*6777b538SAndroid Build Coastguard Worker #include "base/test/test_proto_loader.h"
9*6777b538SAndroid Build Coastguard Worker
10*6777b538SAndroid Build Coastguard Worker namespace base::test {
11*6777b538SAndroid Build Coastguard Worker namespace {
12*6777b538SAndroid Build Coastguard Worker
EmptyMessageLoader()13*6777b538SAndroid Build Coastguard Worker const base::TestProtoSetLoader& EmptyMessageLoader() {
14*6777b538SAndroid Build Coastguard Worker // A proto descriptor set with a single "message E{}".
15*6777b538SAndroid Build Coastguard Worker const char kEmptyDescriptor[] = {
16*6777b538SAndroid Build Coastguard Worker 0x0a, 0x08, 0x0a, 0x01, 0x74, 0x22, 0x03, 0x0a, 0x01, 0x45,
17*6777b538SAndroid Build Coastguard Worker };
18*6777b538SAndroid Build Coastguard Worker static const base::TestProtoSetLoader loader(
19*6777b538SAndroid Build Coastguard Worker std::string_view(kEmptyDescriptor, sizeof(kEmptyDescriptor)));
20*6777b538SAndroid Build Coastguard Worker return loader;
21*6777b538SAndroid Build Coastguard Worker }
22*6777b538SAndroid Build Coastguard Worker
23*6777b538SAndroid Build Coastguard Worker } // namespace
24*6777b538SAndroid Build Coastguard Worker
BinaryProtoToRawTextProto(const std::string & binary_message)25*6777b538SAndroid Build Coastguard Worker std::string BinaryProtoToRawTextProto(const std::string& binary_message) {
26*6777b538SAndroid Build Coastguard Worker // This just serializes binary_message into an empty protobuf message. All
27*6777b538SAndroid Build Coastguard Worker // content is interpreted as unknown fields, and reflected in the resulting
28*6777b538SAndroid Build Coastguard Worker // text format.
29*6777b538SAndroid Build Coastguard Worker return EmptyMessageLoader().PrintToText("E", binary_message);
30*6777b538SAndroid Build Coastguard Worker }
31*6777b538SAndroid Build Coastguard Worker
32*6777b538SAndroid Build Coastguard Worker } // namespace base::test
33