Adds a unit test demonstrating that SpdyHeaderBlock can store header names containing uppercase characters.

PiperOrigin-RevId: 282577211
Change-Id: I090e6483aa634837bda8501833a0361a20085afb
diff --git a/spdy/core/spdy_header_block_test.cc b/spdy/core/spdy_header_block_test.cc
index c34b718..56facb4 100644
--- a/spdy/core/spdy_header_block_test.cc
+++ b/spdy/core/spdy_header_block_test.cc
@@ -177,6 +177,21 @@
   EXPECT_EQ("singleton", block["h4"]);
 }
 
+// This test demonstrates that the SpdyHeaderBlock data structure does not place
+// any limitations on the characters present in the header names.
+TEST(SpdyHeaderBlockTest, UpperCaseNames) {
+  SpdyHeaderBlock block;
+  block["Foo"] = "foo";
+  block.AppendValueOrAddHeader("Foo", "bar");
+  EXPECT_EQ(block.end(), block.find("foo"));
+  EXPECT_EQ(Pair("Foo", std::string("foo\0bar", 7)), *block.find("Foo"));
+
+  // The map is case sensitive, so both "Foo" and "foo" can be present.
+  block.AppendValueOrAddHeader("foo", "baz");
+  EXPECT_THAT(block, ElementsAre(Pair("Foo", std::string("foo\0bar", 7)),
+                                 Pair("foo", "baz")));
+}
+
 TEST(JoinTest, JoinEmpty) {
   std::vector<SpdyStringPiece> empty;
   SpdyStringPiece separator = ", ";