Index: net/http/http_util_unittest.cc |
diff --git a/net/http/http_util_unittest.cc b/net/http/http_util_unittest.cc |
index 90750e999c6e24596178fe33f288873c788288e2..e83f6b9916362a4a65391e39e2f1ee4594d380ac 100644 |
--- a/net/http/http_util_unittest.cc |
+++ b/net/http/http_util_unittest.cc |
@@ -1177,4 +1177,27 @@ TEST(HttpUtilTest, NameValuePairsIteratorMissingEndQuote) { |
&parser, false, true, std::string(), std::string())); |
} |
+TEST(HttpUtilTest, IsValidHeaderValueRFC7230) { |
+ EXPECT_TRUE(HttpUtil::IsValidHeaderValueRFC7230("")); |
+ |
+ EXPECT_FALSE(HttpUtil::IsValidHeaderValueRFC7230(" ")); |
+ EXPECT_FALSE(HttpUtil::IsValidHeaderValueRFC7230(" q")); |
+ EXPECT_FALSE(HttpUtil::IsValidHeaderValueRFC7230("q ")); |
+ EXPECT_FALSE(HttpUtil::IsValidHeaderValueRFC7230("\t")); |
+ EXPECT_FALSE(HttpUtil::IsValidHeaderValueRFC7230("\tq")); |
+ EXPECT_FALSE(HttpUtil::IsValidHeaderValueRFC7230("q\t")); |
+ |
+ EXPECT_TRUE(HttpUtil::IsValidHeaderValueRFC7230("q q")); |
+ EXPECT_TRUE(HttpUtil::IsValidHeaderValueRFC7230("q\tq")); |
+ |
+ EXPECT_FALSE(HttpUtil::IsValidHeaderValueRFC7230(std::string("\0", 1))); |
+ EXPECT_FALSE(HttpUtil::IsValidHeaderValueRFC7230(std::string("q\0q", 3))); |
+ EXPECT_FALSE(HttpUtil::IsValidHeaderValueRFC7230("q\rq")); |
+ EXPECT_FALSE(HttpUtil::IsValidHeaderValueRFC7230("q\nq")); |
+ EXPECT_FALSE(HttpUtil::IsValidHeaderValueRFC7230("q\x01q")); |
+ EXPECT_FALSE(HttpUtil::IsValidHeaderValueRFC7230("q\x7fq")); |
+ |
+ EXPECT_TRUE(HttpUtil::IsValidHeaderValueRFC7230("q\x80q")); |
+} |
+ |
} // namespace net |