git-subtree-dir: third_party/protozero git-subtree-split: d5d8debf1b17c6bb652395957b76cde7787e5377
55 lines
1009 B
C++
55 lines
1009 B
C++
|
|
#include <test.hpp>
|
|
|
|
#include "t/bytes/bytes_testcase.pb.h"
|
|
|
|
TEST_CASE("write bytes field and check with libprotobuf") {
|
|
|
|
std::string buffer;
|
|
protozero::pbf_writer pw{buffer};
|
|
|
|
TestBytes::Test msg;
|
|
|
|
SECTION("empty") {
|
|
pw.add_string(1, "");
|
|
|
|
msg.ParseFromString(buffer);
|
|
|
|
REQUIRE(msg.s().empty());
|
|
}
|
|
|
|
SECTION("one") {
|
|
pw.add_string(1, "x");
|
|
|
|
msg.ParseFromString(buffer);
|
|
|
|
REQUIRE(msg.s() == "x");
|
|
}
|
|
|
|
SECTION("string") {
|
|
pw.add_string(1, "foobar");
|
|
|
|
msg.ParseFromString(buffer);
|
|
|
|
REQUIRE(msg.s() == "foobar");
|
|
}
|
|
|
|
SECTION("binary") {
|
|
std::string data;
|
|
data.append(1, char(1));
|
|
data.append(1, char(2));
|
|
data.append(1, char(3));
|
|
|
|
pw.add_string(1, data);
|
|
|
|
msg.ParseFromString(buffer);
|
|
|
|
REQUIRE(msg.s().size() == 3);
|
|
REQUIRE(msg.s()[1] == char(2));
|
|
REQUIRE(msg.s()[2] == char(3));
|
|
REQUIRE(msg.s()[2] == char(3));
|
|
}
|
|
|
|
}
|
|
|