| 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 1182 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1193 EXPECT_FALSE(HttpUtil::IsValidHeaderValueRFC7230(std::string("\0", 1))); | 1193 EXPECT_FALSE(HttpUtil::IsValidHeaderValueRFC7230(std::string("\0", 1))); |
| 1194 EXPECT_FALSE(HttpUtil::IsValidHeaderValueRFC7230(std::string("q\0q", 3))); | 1194 EXPECT_FALSE(HttpUtil::IsValidHeaderValueRFC7230(std::string("q\0q", 3))); |
| 1195 EXPECT_FALSE(HttpUtil::IsValidHeaderValueRFC7230("q\rq")); | 1195 EXPECT_FALSE(HttpUtil::IsValidHeaderValueRFC7230("q\rq")); |
| 1196 EXPECT_FALSE(HttpUtil::IsValidHeaderValueRFC7230("q\nq")); | 1196 EXPECT_FALSE(HttpUtil::IsValidHeaderValueRFC7230("q\nq")); |
| 1197 EXPECT_FALSE(HttpUtil::IsValidHeaderValueRFC7230("q\x01q")); | 1197 EXPECT_FALSE(HttpUtil::IsValidHeaderValueRFC7230("q\x01q")); |
| 1198 EXPECT_FALSE(HttpUtil::IsValidHeaderValueRFC7230("q\x7fq")); | 1198 EXPECT_FALSE(HttpUtil::IsValidHeaderValueRFC7230("q\x7fq")); |
| 1199 | 1199 |
| 1200 EXPECT_TRUE(HttpUtil::IsValidHeaderValueRFC7230("q\x80q")); | 1200 EXPECT_TRUE(HttpUtil::IsValidHeaderValueRFC7230("q\x80q")); |
| 1201 } | 1201 } |
| 1202 | 1202 |
| 1203 TEST(HttpUtilTest, HasValidators) { |
| 1204 const char* const kMissing = ""; |
| 1205 const char* const kEtagEmpty = "\"\""; |
| 1206 const char* const kEtagStrong = "\"strong\""; |
| 1207 const char* const kEtagWeak = "W/\"weak\""; |
| 1208 const char* const kLastModified = "Tue, 15 Nov 1994 12:45:26 GMT"; |
| 1209 const char* const kLastModifiedInvalid = "invalid"; |
| 1210 |
| 1211 const HttpVersion v0_9 = HttpVersion(0, 9); |
| 1212 EXPECT_FALSE(HttpUtil::HasValidators(v0_9, kMissing, kMissing)); |
| 1213 EXPECT_FALSE(HttpUtil::HasValidators(v0_9, kEtagStrong, kMissing)); |
| 1214 EXPECT_FALSE(HttpUtil::HasValidators(v0_9, kEtagWeak, kMissing)); |
| 1215 EXPECT_FALSE(HttpUtil::HasValidators(v0_9, kEtagEmpty, kMissing)); |
| 1216 |
| 1217 EXPECT_FALSE(HttpUtil::HasValidators(v0_9, kMissing, kLastModified)); |
| 1218 EXPECT_FALSE(HttpUtil::HasValidators(v0_9, kEtagStrong, kLastModified)); |
| 1219 EXPECT_FALSE(HttpUtil::HasValidators(v0_9, kEtagWeak, kLastModified)); |
| 1220 EXPECT_FALSE(HttpUtil::HasValidators(v0_9, kEtagEmpty, kLastModified)); |
| 1221 |
| 1222 EXPECT_FALSE(HttpUtil::HasValidators(v0_9, kMissing, kLastModifiedInvalid)); |
| 1223 EXPECT_FALSE( |
| 1224 HttpUtil::HasValidators(v0_9, kEtagStrong, kLastModifiedInvalid)); |
| 1225 EXPECT_FALSE(HttpUtil::HasValidators(v0_9, kEtagWeak, kLastModifiedInvalid)); |
| 1226 EXPECT_FALSE(HttpUtil::HasValidators(v0_9, kEtagEmpty, kLastModifiedInvalid)); |
| 1227 |
| 1228 const HttpVersion v1_0 = HttpVersion(1, 0); |
| 1229 EXPECT_FALSE(HttpUtil::HasValidators(v1_0, kMissing, kMissing)); |
| 1230 EXPECT_FALSE(HttpUtil::HasValidators(v1_0, kEtagStrong, kMissing)); |
| 1231 EXPECT_FALSE(HttpUtil::HasValidators(v1_0, kEtagWeak, kMissing)); |
| 1232 EXPECT_FALSE(HttpUtil::HasValidators(v1_0, kEtagEmpty, kMissing)); |
| 1233 |
| 1234 EXPECT_TRUE(HttpUtil::HasValidators(v1_0, kMissing, kLastModified)); |
| 1235 EXPECT_TRUE(HttpUtil::HasValidators(v1_0, kEtagStrong, kLastModified)); |
| 1236 EXPECT_TRUE(HttpUtil::HasValidators(v1_0, kEtagWeak, kLastModified)); |
| 1237 EXPECT_TRUE(HttpUtil::HasValidators(v1_0, kEtagEmpty, kLastModified)); |
| 1238 |
| 1239 EXPECT_FALSE(HttpUtil::HasValidators(v1_0, kMissing, kLastModifiedInvalid)); |
| 1240 EXPECT_FALSE( |
| 1241 HttpUtil::HasValidators(v1_0, kEtagStrong, kLastModifiedInvalid)); |
| 1242 EXPECT_FALSE(HttpUtil::HasValidators(v1_0, kEtagWeak, kLastModifiedInvalid)); |
| 1243 EXPECT_FALSE(HttpUtil::HasValidators(v1_0, kEtagEmpty, kLastModifiedInvalid)); |
| 1244 |
| 1245 const HttpVersion v1_1 = HttpVersion(1, 1); |
| 1246 EXPECT_FALSE(HttpUtil::HasValidators(v1_1, kMissing, kMissing)); |
| 1247 EXPECT_TRUE(HttpUtil::HasValidators(v1_1, kEtagStrong, kMissing)); |
| 1248 EXPECT_TRUE(HttpUtil::HasValidators(v1_1, kEtagWeak, kMissing)); |
| 1249 EXPECT_TRUE(HttpUtil::HasValidators(v1_1, kEtagEmpty, kMissing)); |
| 1250 |
| 1251 EXPECT_TRUE(HttpUtil::HasValidators(v1_1, kMissing, kLastModified)); |
| 1252 EXPECT_TRUE(HttpUtil::HasValidators(v1_1, kEtagStrong, kLastModified)); |
| 1253 EXPECT_TRUE(HttpUtil::HasValidators(v1_1, kEtagWeak, kLastModified)); |
| 1254 EXPECT_TRUE(HttpUtil::HasValidators(v1_1, kEtagEmpty, kLastModified)); |
| 1255 |
| 1256 EXPECT_FALSE(HttpUtil::HasValidators(v1_1, kMissing, kLastModifiedInvalid)); |
| 1257 EXPECT_TRUE(HttpUtil::HasValidators(v1_1, kEtagStrong, kLastModifiedInvalid)); |
| 1258 EXPECT_TRUE(HttpUtil::HasValidators(v1_1, kEtagWeak, kLastModifiedInvalid)); |
| 1259 EXPECT_TRUE(HttpUtil::HasValidators(v1_1, kEtagEmpty, kLastModifiedInvalid)); |
| 1260 } |
| 1261 |
| 1203 } // namespace net | 1262 } // namespace net |
| OLD | NEW |