OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include <algorithm> | 5 #include <algorithm> |
6 | 6 |
7 #include "base/strings/string_util.h" | 7 #include "base/strings/string_util.h" |
8 #include "net/http/http_util.h" | 8 #include "net/http/http_util.h" |
9 #include "testing/gtest/include/gtest/gtest.h" | 9 #include "testing/gtest/include/gtest/gtest.h" |
10 | 10 |
(...skipping 1270 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1281 EXPECT_TRUE(parser.valid()); | 1281 EXPECT_TRUE(parser.valid()); |
1282 | 1282 |
1283 ASSERT_NO_FATAL_FAILURE( | 1283 ASSERT_NO_FATAL_FAILURE( |
1284 CheckNextNameValuePair(&parser, true, true, "foo", "bar")); | 1284 CheckNextNameValuePair(&parser, true, true, "foo", "bar")); |
1285 ASSERT_NO_FATAL_FAILURE( | 1285 ASSERT_NO_FATAL_FAILURE( |
1286 CheckNextNameValuePair(&parser, true, true, "name", "'value")); | 1286 CheckNextNameValuePair(&parser, true, true, "name", "'value")); |
1287 ASSERT_NO_FATAL_FAILURE( | 1287 ASSERT_NO_FATAL_FAILURE( |
1288 CheckNextNameValuePair(&parser, true, true, "ok", "it'")); | 1288 CheckNextNameValuePair(&parser, true, true, "ok", "it'")); |
1289 } | 1289 } |
1290 | 1290 |
1291 TEST(HttpUtilTest, IsValidHeaderValueRFC7230) { | |
1292 EXPECT_TRUE(HttpUtil::IsValidHeaderValueRFC7230("")); | |
1293 | |
1294 EXPECT_FALSE(HttpUtil::IsValidHeaderValueRFC7230(" ")); | |
1295 EXPECT_FALSE(HttpUtil::IsValidHeaderValueRFC7230(" q")); | |
1296 EXPECT_FALSE(HttpUtil::IsValidHeaderValueRFC7230("q ")); | |
1297 EXPECT_FALSE(HttpUtil::IsValidHeaderValueRFC7230("\t")); | |
1298 EXPECT_FALSE(HttpUtil::IsValidHeaderValueRFC7230("\tq")); | |
1299 EXPECT_FALSE(HttpUtil::IsValidHeaderValueRFC7230("q\t")); | |
1300 | |
1301 EXPECT_TRUE(HttpUtil::IsValidHeaderValueRFC7230("q q")); | |
1302 EXPECT_TRUE(HttpUtil::IsValidHeaderValueRFC7230("q\tq")); | |
1303 | |
1304 EXPECT_FALSE(HttpUtil::IsValidHeaderValueRFC7230(std::string("\0", 1))); | |
1305 EXPECT_FALSE(HttpUtil::IsValidHeaderValueRFC7230(std::string("q\0q", 3))); | |
1306 EXPECT_FALSE(HttpUtil::IsValidHeaderValueRFC7230("q\rq")); | |
1307 EXPECT_FALSE(HttpUtil::IsValidHeaderValueRFC7230("q\nq")); | |
1308 EXPECT_FALSE(HttpUtil::IsValidHeaderValueRFC7230("q\x01q")); | |
1309 EXPECT_FALSE(HttpUtil::IsValidHeaderValueRFC7230("q\x7fq")); | |
1310 | |
1311 EXPECT_TRUE(HttpUtil::IsValidHeaderValueRFC7230("q\x80q")); | |
1312 } | |
1313 | |
1314 TEST(HttpUtilTest, HasValidators) { | 1291 TEST(HttpUtilTest, HasValidators) { |
1315 const char* const kMissing = ""; | 1292 const char* const kMissing = ""; |
1316 const char* const kEtagEmpty = "\"\""; | 1293 const char* const kEtagEmpty = "\"\""; |
1317 const char* const kEtagStrong = "\"strong\""; | 1294 const char* const kEtagStrong = "\"strong\""; |
1318 const char* const kEtagWeak = "W/\"weak\""; | 1295 const char* const kEtagWeak = "W/\"weak\""; |
1319 const char* const kLastModified = "Tue, 15 Nov 1994 12:45:26 GMT"; | 1296 const char* const kLastModified = "Tue, 15 Nov 1994 12:45:26 GMT"; |
1320 const char* const kLastModifiedInvalid = "invalid"; | 1297 const char* const kLastModifiedInvalid = "invalid"; |
1321 | 1298 |
1322 const HttpVersion v0_9 = HttpVersion(0, 9); | 1299 const HttpVersion v0_9 = HttpVersion(0, 9); |
1323 EXPECT_FALSE(HttpUtil::HasValidators(v0_9, kMissing, kMissing)); | 1300 EXPECT_FALSE(HttpUtil::HasValidators(v0_9, kMissing, kMissing)); |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1364 EXPECT_TRUE(HttpUtil::HasValidators(v1_1, kEtagWeak, kLastModified)); | 1341 EXPECT_TRUE(HttpUtil::HasValidators(v1_1, kEtagWeak, kLastModified)); |
1365 EXPECT_TRUE(HttpUtil::HasValidators(v1_1, kEtagEmpty, kLastModified)); | 1342 EXPECT_TRUE(HttpUtil::HasValidators(v1_1, kEtagEmpty, kLastModified)); |
1366 | 1343 |
1367 EXPECT_FALSE(HttpUtil::HasValidators(v1_1, kMissing, kLastModifiedInvalid)); | 1344 EXPECT_FALSE(HttpUtil::HasValidators(v1_1, kMissing, kLastModifiedInvalid)); |
1368 EXPECT_TRUE(HttpUtil::HasValidators(v1_1, kEtagStrong, kLastModifiedInvalid)); | 1345 EXPECT_TRUE(HttpUtil::HasValidators(v1_1, kEtagStrong, kLastModifiedInvalid)); |
1369 EXPECT_TRUE(HttpUtil::HasValidators(v1_1, kEtagWeak, kLastModifiedInvalid)); | 1346 EXPECT_TRUE(HttpUtil::HasValidators(v1_1, kEtagWeak, kLastModifiedInvalid)); |
1370 EXPECT_TRUE(HttpUtil::HasValidators(v1_1, kEtagEmpty, kLastModifiedInvalid)); | 1347 EXPECT_TRUE(HttpUtil::HasValidators(v1_1, kEtagEmpty, kLastModifiedInvalid)); |
1371 } | 1348 } |
1372 | 1349 |
1373 } // namespace net | 1350 } // namespace net |
OLD | NEW |