This change simplifies SpdyHeaderBlock and SpdyHeaderStorage, now that the underlying arena implementation does not allocate memory upon construction.
gfe-relnote: Code simplifications to classes in //third_party/spdy, no functional change; not protected.
PiperOrigin-RevId: 284805587
Change-Id: I3b0cbdda821c1f2ea89b9f880d76a3132490b196
diff --git a/spdy/core/spdy_header_block_test.cc b/spdy/core/spdy_header_block_test.cc
index a744a3b..774854b 100644
--- a/spdy/core/spdy_header_block_test.cc
+++ b/spdy/core/spdy_header_block_test.cc
@@ -118,6 +118,13 @@
EXPECT_NE(block1, block2);
}
+SpdyHeaderBlock ReturnTestHeaderBlock() {
+ SpdyHeaderBlock block;
+ block["foo"] = "bar";
+ block.insert(std::make_pair("foo2", "baz"));
+ return block;
+}
+
// Test that certain methods do not crash on moved-from instances.
TEST(SpdyHeaderBlockTest, MovedFromIsValid) {
SpdyHeaderBlock block1;
@@ -139,6 +146,11 @@
block1["foo"] = "bar";
EXPECT_THAT(block1, ElementsAre(Pair("foo", "bar")));
+
+ SpdyHeaderBlock block5 = ReturnTestHeaderBlock();
+ block5.AppendValueOrAddHeader("foo", "bar2");
+ EXPECT_THAT(block5, ElementsAre(Pair("foo", std::string("bar\0bar2", 8)),
+ Pair("foo2", "baz")));
}
// This test verifies that headers can be appended to no matter how they were