Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(405)

Unified Diff: net/http/http_util_unittest.cc

Issue 1211363005: Parse HPKP report-uri and persist in TransportSecurityPersister (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: GetNext() fix Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/http/http_util.cc ('k') | net/http/transport_security_persister.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/http/http_util_unittest.cc
diff --git a/net/http/http_util_unittest.cc b/net/http/http_util_unittest.cc
index 8d0a219573be91063469068410d0af2e9bdd0c6d..6ea1ca479e7edbad150bcb1cbd6255508bc286aa 100644
--- a/net/http/http_util_unittest.cc
+++ b/net/http/http_util_unittest.cc
@@ -1092,6 +1092,48 @@ TEST(HttpUtilTest, NameValuePairsIterator) {
&parser, false, true, std::string(), std::string()));
}
+TEST(HttpUtilTest, NameValuePairsIteratorOptionalValues) {
+ std::string data = "alpha=1; beta;cappa ; delta; e ; f=1";
+ // Test that the default parser requires values.
+ HttpUtil::NameValuePairsIterator default_parser(data.begin(), data.end(),
+ ';');
+ EXPECT_TRUE(default_parser.valid());
+ ASSERT_NO_FATAL_FAILURE(
+ CheckNextNameValuePair(&default_parser, true, true, "alpha", "1"));
+ ASSERT_NO_FATAL_FAILURE(CheckNextNameValuePair(&default_parser, false, false,
+ std::string(), std::string()));
+
+ HttpUtil::NameValuePairsIterator values_required_parser(
+ data.begin(), data.end(), ';',
+ HttpUtil::NameValuePairsIterator::VALUES_NOT_OPTIONAL);
+ EXPECT_TRUE(values_required_parser.valid());
+ ASSERT_NO_FATAL_FAILURE(CheckNextNameValuePair(&values_required_parser, true,
+ true, "alpha", "1"));
+ ASSERT_NO_FATAL_FAILURE(CheckNextNameValuePair(
+ &values_required_parser, false, false, std::string(), std::string()));
+
+ HttpUtil::NameValuePairsIterator parser(
+ data.begin(), data.end(), ';',
+ HttpUtil::NameValuePairsIterator::VALUES_OPTIONAL);
+ EXPECT_TRUE(parser.valid());
+
+ ASSERT_NO_FATAL_FAILURE(
+ CheckNextNameValuePair(&parser, true, true, "alpha", "1"));
+ ASSERT_NO_FATAL_FAILURE(
+ CheckNextNameValuePair(&parser, true, true, "beta", std::string()));
+ ASSERT_NO_FATAL_FAILURE(
+ CheckNextNameValuePair(&parser, true, true, "cappa", std::string()));
+ ASSERT_NO_FATAL_FAILURE(
+ CheckNextNameValuePair(&parser, true, true, "delta", std::string()));
+ ASSERT_NO_FATAL_FAILURE(
+ CheckNextNameValuePair(&parser, true, true, "e", std::string()));
+ ASSERT_NO_FATAL_FAILURE(
+ CheckNextNameValuePair(&parser, true, true, "f", "1"));
+ ASSERT_NO_FATAL_FAILURE(CheckNextNameValuePair(&parser, false, true,
+ std::string(), std::string()));
+ EXPECT_TRUE(parser.valid());
+}
+
TEST(HttpUtilTest, NameValuePairsIteratorIllegalInputs) {
ASSERT_NO_FATAL_FAILURE(CheckInvalidNameValuePair("alpha=1", "; beta"));
ASSERT_NO_FATAL_FAILURE(CheckInvalidNameValuePair(std::string(), "beta"));
« no previous file with comments | « net/http/http_util.cc ('k') | net/http/transport_security_persister.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698