| 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 #ifndef NET_COOKIES_COOKIE_STORE_UNITTEST_H_ | 5 #ifndef NET_COOKIES_COOKIE_STORE_UNITTEST_H_ |
| 6 #define NET_COOKIES_COOKIE_STORE_UNITTEST_H_ | 6 #define NET_COOKIES_COOKIE_STORE_UNITTEST_H_ |
| 7 | 7 |
| 8 #include <stdint.h> |
| 9 |
| 8 #include <set> | 10 #include <set> |
| 9 #include <string> | 11 #include <string> |
| 10 #include <vector> | 12 #include <vector> |
| 11 | 13 |
| 12 #include "base/bind.h" | 14 #include "base/bind.h" |
| 13 #include "base/location.h" | 15 #include "base/location.h" |
| 14 #include "base/message_loop/message_loop.h" | 16 #include "base/message_loop/message_loop.h" |
| 15 #include "base/single_thread_task_runner.h" | 17 #include "base/single_thread_task_runner.h" |
| 16 #include "base/strings/string_tokenizer.h" | 18 #include "base/strings/string_tokenizer.h" |
| 17 #include "base/threading/thread.h" | 19 #include "base/threading/thread.h" |
| (...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 219 const GURL& url, | 221 const GURL& url, |
| 220 const std::string& cookie_name) { | 222 const std::string& cookie_name) { |
| 221 DCHECK(cs); | 223 DCHECK(cs); |
| 222 NoResultCookieCallback callback; | 224 NoResultCookieCallback callback; |
| 223 cs->DeleteCookieAsync( | 225 cs->DeleteCookieAsync( |
| 224 url, cookie_name, | 226 url, cookie_name, |
| 225 base::Bind(&NoResultCookieCallback::Run, base::Unretained(&callback))); | 227 base::Bind(&NoResultCookieCallback::Run, base::Unretained(&callback))); |
| 226 callback.WaitUntilDone(); | 228 callback.WaitUntilDone(); |
| 227 } | 229 } |
| 228 | 230 |
| 229 int DeleteCanonicalCookie(CookieStore* cs, const CanonicalCookie& cookie) { | 231 uint32_t DeleteCanonicalCookie(CookieStore* cs, |
| 232 const CanonicalCookie& cookie) { |
| 230 DCHECK(cs); | 233 DCHECK(cs); |
| 231 ResultSavingCookieCallback<int> callback; | 234 ResultSavingCookieCallback<uint32_t> callback; |
| 232 cs->DeleteCanonicalCookieAsync( | 235 cs->DeleteCanonicalCookieAsync( |
| 233 cookie, base::Bind(&ResultSavingCookieCallback<int>::Run, | 236 cookie, base::Bind(&ResultSavingCookieCallback<uint32_t>::Run, |
| 234 base::Unretained(&callback))); | 237 base::Unretained(&callback))); |
| 235 callback.WaitUntilDone(); | 238 callback.WaitUntilDone(); |
| 236 return callback.result(); | 239 return callback.result(); |
| 237 } | 240 } |
| 238 | 241 |
| 239 int DeleteCreatedBetween(CookieStore* cs, | 242 uint32_t DeleteCreatedBetween(CookieStore* cs, |
| 240 const base::Time& delete_begin, | 243 const base::Time& delete_begin, |
| 241 const base::Time& delete_end) { | 244 const base::Time& delete_end) { |
| 242 DCHECK(cs); | 245 DCHECK(cs); |
| 243 ResultSavingCookieCallback<int> callback; | 246 ResultSavingCookieCallback<uint32_t> callback; |
| 244 cs->DeleteAllCreatedBetweenAsync( | 247 cs->DeleteAllCreatedBetweenAsync( |
| 245 delete_begin, delete_end, | 248 delete_begin, delete_end, |
| 246 base::Bind( | 249 base::Bind(&ResultSavingCookieCallback<uint32_t>::Run, |
| 247 &ResultSavingCookieCallback<int>::Run, | 250 base::Unretained(&callback))); |
| 248 base::Unretained(&callback))); | |
| 249 callback.WaitUntilDone(); | 251 callback.WaitUntilDone(); |
| 250 return callback.result(); | 252 return callback.result(); |
| 251 } | 253 } |
| 252 | 254 |
| 253 int DeleteAllCreatedBetweenWithPredicate( | 255 uint32_t DeleteAllCreatedBetweenWithPredicate( |
| 254 CookieStore* cs, | 256 CookieStore* cs, |
| 255 const base::Time delete_begin, | 257 const base::Time delete_begin, |
| 256 const base::Time delete_end, | 258 const base::Time delete_end, |
| 257 const CookieStore::CookiePredicate& predicate) { | 259 const CookieStore::CookiePredicate& predicate) { |
| 258 DCHECK(cs); | 260 DCHECK(cs); |
| 259 ResultSavingCookieCallback<int> callback; | 261 ResultSavingCookieCallback<uint32_t> callback; |
| 260 cs->DeleteAllCreatedBetweenWithPredicateAsync( | 262 cs->DeleteAllCreatedBetweenWithPredicateAsync( |
| 261 delete_begin, delete_end, predicate, | 263 delete_begin, delete_end, predicate, |
| 262 base::Bind(&ResultSavingCookieCallback<int>::Run, | 264 base::Bind(&ResultSavingCookieCallback<uint32_t>::Run, |
| 263 base::Unretained(&callback))); | 265 base::Unretained(&callback))); |
| 264 callback.WaitUntilDone(); | 266 callback.WaitUntilDone(); |
| 265 return callback.result(); | 267 return callback.result(); |
| 266 } | 268 } |
| 267 | 269 |
| 268 int DeleteSessionCookies(CookieStore* cs) { | 270 uint32_t DeleteSessionCookies(CookieStore* cs) { |
| 269 DCHECK(cs); | 271 DCHECK(cs); |
| 270 ResultSavingCookieCallback<int> callback; | 272 ResultSavingCookieCallback<uint32_t> callback; |
| 271 cs->DeleteSessionCookiesAsync( | 273 cs->DeleteSessionCookiesAsync( |
| 272 base::Bind( | 274 base::Bind(&ResultSavingCookieCallback<uint32_t>::Run, |
| 273 &ResultSavingCookieCallback<int>::Run, | 275 base::Unretained(&callback))); |
| 274 base::Unretained(&callback))); | |
| 275 callback.WaitUntilDone(); | 276 callback.WaitUntilDone(); |
| 276 return callback.result(); | 277 return callback.result(); |
| 277 } | 278 } |
| 278 | 279 |
| 279 int DeleteAll(CookieStore* cs) { | 280 uint32_t DeleteAll(CookieStore* cs) { |
| 280 DCHECK(cs); | 281 DCHECK(cs); |
| 281 ResultSavingCookieCallback<int> callback; | 282 ResultSavingCookieCallback<uint32_t> callback; |
| 282 cs->DeleteAllAsync(base::Bind(&ResultSavingCookieCallback<int>::Run, | 283 cs->DeleteAllAsync(base::Bind(&ResultSavingCookieCallback<uint32_t>::Run, |
| 283 base::Unretained(&callback))); | 284 base::Unretained(&callback))); |
| 284 callback.WaitUntilDone(); | 285 callback.WaitUntilDone(); |
| 285 return callback.result(); | 286 return callback.result(); |
| 286 } | 287 } |
| 287 | 288 |
| 288 // Returns the CookieStore for the test - each test only uses one CookieStore. | 289 // Returns the CookieStore for the test - each test only uses one CookieStore. |
| 289 CookieStore* GetCookieStore() { | 290 CookieStore* GetCookieStore() { |
| 290 if (!cookie_store_) | 291 if (!cookie_store_) |
| 291 cookie_store_ = CookieStoreTestTraits::Create(); | 292 cookie_store_ = CookieStoreTestTraits::Create(); |
| 292 return cookie_store_.get(); | 293 return cookie_store_.get(); |
| (...skipping 916 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1209 EXPECT_TRUE(this->SetCookie(cs, this->http_www_foo_.url(), kValidCookieLine)); | 1210 EXPECT_TRUE(this->SetCookie(cs, this->http_www_foo_.url(), kValidCookieLine)); |
| 1210 EXPECT_EQ("A=B", this->GetCookies(cs, this->http_www_foo_.url())); | 1211 EXPECT_EQ("A=B", this->GetCookies(cs, this->http_www_foo_.url())); |
| 1211 | 1212 |
| 1212 // Set a persistent cookie. | 1213 // Set a persistent cookie. |
| 1213 EXPECT_TRUE(this->SetCookie(cs, this->http_www_foo_.url(), | 1214 EXPECT_TRUE(this->SetCookie(cs, this->http_www_foo_.url(), |
| 1214 "C=D; expires=Mon, 18-Apr-22 22:50:13 GMT")); | 1215 "C=D; expires=Mon, 18-Apr-22 22:50:13 GMT")); |
| 1215 | 1216 |
| 1216 EXPECT_EQ(2u, this->GetAllCookies(cs).size()); | 1217 EXPECT_EQ(2u, this->GetAllCookies(cs).size()); |
| 1217 | 1218 |
| 1218 // Delete both, and make sure it works | 1219 // Delete both, and make sure it works |
| 1219 EXPECT_EQ(2, this->DeleteAll(cs)); | 1220 EXPECT_EQ(2u, this->DeleteAll(cs)); |
| 1220 EXPECT_EQ(0u, this->GetAllCookies(cs).size()); | 1221 EXPECT_EQ(0u, this->GetAllCookies(cs).size()); |
| 1221 } | 1222 } |
| 1222 | 1223 |
| 1223 TYPED_TEST_P(CookieStoreTest, TestDeleteAllCreatedBetween) { | 1224 TYPED_TEST_P(CookieStoreTest, TestDeleteAllCreatedBetween) { |
| 1224 CookieStore* cs = this->GetCookieStore(); | 1225 CookieStore* cs = this->GetCookieStore(); |
| 1225 const base::Time last_month = base::Time::Now() - | 1226 const base::Time last_month = base::Time::Now() - |
| 1226 base::TimeDelta::FromDays(30); | 1227 base::TimeDelta::FromDays(30); |
| 1227 const base::Time last_minute = base::Time::Now() - | 1228 const base::Time last_minute = base::Time::Now() - |
| 1228 base::TimeDelta::FromMinutes(1); | 1229 base::TimeDelta::FromMinutes(1); |
| 1229 const base::Time next_minute = base::Time::Now() + | 1230 const base::Time next_minute = base::Time::Now() + |
| 1230 base::TimeDelta::FromMinutes(1); | 1231 base::TimeDelta::FromMinutes(1); |
| 1231 const base::Time next_month = base::Time::Now() + | 1232 const base::Time next_month = base::Time::Now() + |
| 1232 base::TimeDelta::FromDays(30); | 1233 base::TimeDelta::FromDays(30); |
| 1233 | 1234 |
| 1234 // Add a cookie. | 1235 // Add a cookie. |
| 1235 EXPECT_TRUE(this->SetCookie(cs, this->http_www_foo_.url(), "A=B")); | 1236 EXPECT_TRUE(this->SetCookie(cs, this->http_www_foo_.url(), "A=B")); |
| 1236 // Check that the cookie is in the store. | 1237 // Check that the cookie is in the store. |
| 1237 this->MatchCookieLines("A=B", | 1238 this->MatchCookieLines("A=B", |
| 1238 this->GetCookies(cs, this->http_www_foo_.url())); | 1239 this->GetCookies(cs, this->http_www_foo_.url())); |
| 1239 | 1240 |
| 1240 // Remove cookies in empty intervals. | 1241 // Remove cookies in empty intervals. |
| 1241 EXPECT_EQ(0, this->DeleteCreatedBetween(cs, last_month, last_minute)); | 1242 EXPECT_EQ(0u, this->DeleteCreatedBetween(cs, last_month, last_minute)); |
| 1242 EXPECT_EQ(0, this->DeleteCreatedBetween(cs, next_minute, next_month)); | 1243 EXPECT_EQ(0u, this->DeleteCreatedBetween(cs, next_minute, next_month)); |
| 1243 // Check that the cookie is still there. | 1244 // Check that the cookie is still there. |
| 1244 this->MatchCookieLines("A=B", | 1245 this->MatchCookieLines("A=B", |
| 1245 this->GetCookies(cs, this->http_www_foo_.url())); | 1246 this->GetCookies(cs, this->http_www_foo_.url())); |
| 1246 | 1247 |
| 1247 // Remove the cookie with an interval defined by two dates. | 1248 // Remove the cookie with an interval defined by two dates. |
| 1248 EXPECT_EQ(1, this->DeleteCreatedBetween(cs, last_minute, next_minute)); | 1249 EXPECT_EQ(1u, this->DeleteCreatedBetween(cs, last_minute, next_minute)); |
| 1249 // Check that the cookie disappeared. | 1250 // Check that the cookie disappeared. |
| 1250 this->MatchCookieLines(std::string(), | 1251 this->MatchCookieLines(std::string(), |
| 1251 this->GetCookies(cs, this->http_www_foo_.url())); | 1252 this->GetCookies(cs, this->http_www_foo_.url())); |
| 1252 | 1253 |
| 1253 // Add another cookie. | 1254 // Add another cookie. |
| 1254 EXPECT_TRUE(this->SetCookie(cs, this->http_www_foo_.url(), "C=D")); | 1255 EXPECT_TRUE(this->SetCookie(cs, this->http_www_foo_.url(), "C=D")); |
| 1255 // Check that the cookie is in the store. | 1256 // Check that the cookie is in the store. |
| 1256 this->MatchCookieLines("C=D", | 1257 this->MatchCookieLines("C=D", |
| 1257 this->GetCookies(cs, this->http_www_foo_.url())); | 1258 this->GetCookies(cs, this->http_www_foo_.url())); |
| 1258 | 1259 |
| 1259 // Remove the cookie with a null ending time. | 1260 // Remove the cookie with a null ending time. |
| 1260 EXPECT_EQ(1, this->DeleteCreatedBetween(cs, last_minute, base::Time())); | 1261 EXPECT_EQ(1u, this->DeleteCreatedBetween(cs, last_minute, base::Time())); |
| 1261 // Check that the cookie disappeared. | 1262 // Check that the cookie disappeared. |
| 1262 this->MatchCookieLines(std::string(), | 1263 this->MatchCookieLines(std::string(), |
| 1263 this->GetCookies(cs, this->http_www_foo_.url())); | 1264 this->GetCookies(cs, this->http_www_foo_.url())); |
| 1264 } | 1265 } |
| 1265 | 1266 |
| 1266 namespace { | 1267 namespace { |
| 1267 static bool CookieHasValue(const std::string& value, | 1268 static bool CookieHasValue(const std::string& value, |
| 1268 const CanonicalCookie& cookie) { | 1269 const CanonicalCookie& cookie) { |
| 1269 return cookie.Value() == value; | 1270 return cookie.Value() == value; |
| 1270 } | 1271 } |
| 1271 } | 1272 } |
| 1272 | 1273 |
| 1273 TYPED_TEST_P(CookieStoreTest, TestDeleteAllCreatedBetweenWithPredicate) { | 1274 TYPED_TEST_P(CookieStoreTest, TestDeleteAllCreatedBetweenWithPredicate) { |
| 1274 CookieStore* cs = this->GetCookieStore(); | 1275 CookieStore* cs = this->GetCookieStore(); |
| 1275 base::Time now = base::Time::Now(); | 1276 base::Time now = base::Time::Now(); |
| 1276 base::Time last_month = base::Time::Now() - base::TimeDelta::FromDays(30); | 1277 base::Time last_month = base::Time::Now() - base::TimeDelta::FromDays(30); |
| 1277 base::Time last_minute = base::Time::Now() - base::TimeDelta::FromMinutes(1); | 1278 base::Time last_minute = base::Time::Now() - base::TimeDelta::FromMinutes(1); |
| 1278 std::string desired_value("B"); | 1279 std::string desired_value("B"); |
| 1279 | 1280 |
| 1280 // These 3 cookies match the time range and host. | 1281 // These 3 cookies match the time range and host. |
| 1281 EXPECT_TRUE(this->SetCookie(cs, this->http_www_foo_.url(), "A=B")); | 1282 EXPECT_TRUE(this->SetCookie(cs, this->http_www_foo_.url(), "A=B")); |
| 1282 EXPECT_TRUE(this->SetCookie(cs, this->http_www_foo_.url(), "C=D")); | 1283 EXPECT_TRUE(this->SetCookie(cs, this->http_www_foo_.url(), "C=D")); |
| 1283 EXPECT_TRUE(this->SetCookie(cs, this->http_www_foo_.url(), "Y=Z")); | 1284 EXPECT_TRUE(this->SetCookie(cs, this->http_www_foo_.url(), "Y=Z")); |
| 1284 EXPECT_TRUE(this->SetCookie(cs, this->https_www_foo_.url(), "E=B")); | 1285 EXPECT_TRUE(this->SetCookie(cs, this->https_www_foo_.url(), "E=B")); |
| 1285 | 1286 |
| 1286 // Delete cookies. | 1287 // Delete cookies. |
| 1287 EXPECT_EQ(2, // Deletes A=B, E=B | 1288 EXPECT_EQ(2u, // Deletes A=B, E=B |
| 1288 this->DeleteAllCreatedBetweenWithPredicate( | 1289 this->DeleteAllCreatedBetweenWithPredicate( |
| 1289 cs, now, base::Time::Max(), | 1290 cs, now, base::Time::Max(), |
| 1290 base::Bind(&CookieHasValue, desired_value))); | 1291 base::Bind(&CookieHasValue, desired_value))); |
| 1291 | 1292 |
| 1292 // Check that we deleted the right ones. | 1293 // Check that we deleted the right ones. |
| 1293 this->MatchCookieLines("C=D;Y=Z", | 1294 this->MatchCookieLines("C=D;Y=Z", |
| 1294 this->GetCookies(cs, this->https_www_foo_.url())); | 1295 this->GetCookies(cs, this->https_www_foo_.url())); |
| 1295 | 1296 |
| 1296 // Now check that using a null predicate will do nothing. | 1297 // Now check that using a null predicate will do nothing. |
| 1297 EXPECT_EQ(0, this->DeleteAllCreatedBetweenWithPredicate( | 1298 EXPECT_EQ(0u, |
| 1298 cs, now, base::Time::Max(), CookieStore::CookiePredicate())); | 1299 this->DeleteAllCreatedBetweenWithPredicate( |
| 1300 cs, now, base::Time::Max(), CookieStore::CookiePredicate())); |
| 1299 | 1301 |
| 1300 // Finally, check that we don't delete cookies when our time range is off. | 1302 // Finally, check that we don't delete cookies when our time range is off. |
| 1301 desired_value = "D"; | 1303 desired_value = "D"; |
| 1302 EXPECT_EQ(0, this->DeleteAllCreatedBetweenWithPredicate( | 1304 EXPECT_EQ(0u, this->DeleteAllCreatedBetweenWithPredicate( |
| 1303 cs, last_month, last_minute, | 1305 cs, last_month, last_minute, |
| 1304 base::Bind(&CookieHasValue, desired_value))); | 1306 base::Bind(&CookieHasValue, desired_value))); |
| 1305 this->MatchCookieLines("C=D;Y=Z", | 1307 this->MatchCookieLines("C=D;Y=Z", |
| 1306 this->GetCookies(cs, this->https_www_foo_.url())); | 1308 this->GetCookies(cs, this->https_www_foo_.url())); |
| 1307 // Same thing, but with a good time range. | 1309 // Same thing, but with a good time range. |
| 1308 EXPECT_EQ(1, this->DeleteAllCreatedBetweenWithPredicate( | 1310 EXPECT_EQ(1u, this->DeleteAllCreatedBetweenWithPredicate( |
| 1309 cs, now, base::Time::Max(), | 1311 cs, now, base::Time::Max(), |
| 1310 base::Bind(&CookieHasValue, desired_value))); | 1312 base::Bind(&CookieHasValue, desired_value))); |
| 1311 this->MatchCookieLines("Y=Z", | 1313 this->MatchCookieLines("Y=Z", |
| 1312 this->GetCookies(cs, this->https_www_foo_.url())); | 1314 this->GetCookies(cs, this->https_www_foo_.url())); |
| 1313 } | 1315 } |
| 1314 | 1316 |
| 1315 TYPED_TEST_P(CookieStoreTest, TestSecure) { | 1317 TYPED_TEST_P(CookieStoreTest, TestSecure) { |
| 1316 CookieStore* cs = this->GetCookieStore(); | 1318 CookieStore* cs = this->GetCookieStore(); |
| 1317 | 1319 |
| 1318 EXPECT_TRUE(this->SetCookie(cs, this->http_www_foo_.url(), "A=B")); | 1320 EXPECT_TRUE(this->SetCookie(cs, this->http_www_foo_.url(), "A=B")); |
| 1319 this->MatchCookieLines("A=B", | 1321 this->MatchCookieLines("A=B", |
| 1320 this->GetCookies(cs, this->http_www_foo_.url())); | 1322 this->GetCookies(cs, this->http_www_foo_.url())); |
| (...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1433 CookieStore* cs = this->GetCookieStore(); | 1435 CookieStore* cs = this->GetCookieStore(); |
| 1434 | 1436 |
| 1435 CookieOptions options; | 1437 CookieOptions options; |
| 1436 if (!TypeParam::supports_http_only) | 1438 if (!TypeParam::supports_http_only) |
| 1437 options.set_include_httponly(); | 1439 options.set_include_httponly(); |
| 1438 EXPECT_TRUE(this->SetCookieWithOptions(cs, url_foo, "a", options)); | 1440 EXPECT_TRUE(this->SetCookieWithOptions(cs, url_foo, "a", options)); |
| 1439 CookieList list = this->GetAllCookiesForURL(cs, url_foo); | 1441 CookieList list = this->GetAllCookiesForURL(cs, url_foo); |
| 1440 EXPECT_EQ(1u, list.size()); | 1442 EXPECT_EQ(1u, list.size()); |
| 1441 EXPECT_EQ("", list[0].Name()); | 1443 EXPECT_EQ("", list[0].Name()); |
| 1442 EXPECT_EQ("a", list[0].Value()); | 1444 EXPECT_EQ("a", list[0].Value()); |
| 1443 EXPECT_EQ(1, this->DeleteAll(cs)); | 1445 EXPECT_EQ(1u, this->DeleteAll(cs)); |
| 1444 | 1446 |
| 1445 EXPECT_TRUE(this->SetCookieWithOptions(cs, url_foo, "=b", options)); | 1447 EXPECT_TRUE(this->SetCookieWithOptions(cs, url_foo, "=b", options)); |
| 1446 list = this->GetAllCookiesForURL(cs, url_foo); | 1448 list = this->GetAllCookiesForURL(cs, url_foo); |
| 1447 EXPECT_EQ(1u, list.size()); | 1449 EXPECT_EQ(1u, list.size()); |
| 1448 EXPECT_EQ("", list[0].Name()); | 1450 EXPECT_EQ("", list[0].Name()); |
| 1449 EXPECT_EQ("b", list[0].Value()); | 1451 EXPECT_EQ("b", list[0].Value()); |
| 1450 EXPECT_EQ(1, this->DeleteAll(cs)); | 1452 EXPECT_EQ(1u, this->DeleteAll(cs)); |
| 1451 } | 1453 } |
| 1452 | 1454 |
| 1453 TYPED_TEST_P(CookieStoreTest, CookieOrdering) { | 1455 TYPED_TEST_P(CookieStoreTest, CookieOrdering) { |
| 1454 // Put a random set of cookies into a store and make sure they're returned in | 1456 // Put a random set of cookies into a store and make sure they're returned in |
| 1455 // the right order. | 1457 // the right order. |
| 1456 // Cookies should be sorted by path length and creation time, as per RFC6265. | 1458 // Cookies should be sorted by path length and creation time, as per RFC6265. |
| 1457 CookieStore* cs = this->GetCookieStore(); | 1459 CookieStore* cs = this->GetCookieStore(); |
| 1458 EXPECT_TRUE( | 1460 EXPECT_TRUE( |
| 1459 this->SetCookie(cs, GURL("http://d.c.b.a.foo.com/aa/x.html"), "c=1")); | 1461 this->SetCookie(cs, GURL("http://d.c.b.a.foo.com/aa/x.html"), "c=1")); |
| 1460 EXPECT_TRUE(this->SetCookie(cs, GURL("http://b.a.foo.com/aa/bb/cc/x.html"), | 1462 EXPECT_TRUE(this->SetCookie(cs, GURL("http://b.a.foo.com/aa/bb/cc/x.html"), |
| (...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1563 EXPECT_TRUE(this->SetCookie(cs, this->http_www_foo_.url(), "A=B;Path=/foo")); | 1565 EXPECT_TRUE(this->SetCookie(cs, this->http_www_foo_.url(), "A=B;Path=/foo")); |
| 1564 EXPECT_TRUE(this->SetCookie(cs, this->http_www_foo_.url(), "A=C;Path=/bar")); | 1566 EXPECT_TRUE(this->SetCookie(cs, this->http_www_foo_.url(), "A=C;Path=/bar")); |
| 1565 EXPECT_EQ(2u, this->GetAllCookies(cs).size()); | 1567 EXPECT_EQ(2u, this->GetAllCookies(cs).size()); |
| 1566 EXPECT_EQ("A=B", this->GetCookies(cs, this->www_foo_foo_.url())); | 1568 EXPECT_EQ("A=B", this->GetCookies(cs, this->www_foo_foo_.url())); |
| 1567 EXPECT_EQ("A=C", this->GetCookies(cs, this->www_foo_bar_.url())); | 1569 EXPECT_EQ("A=C", this->GetCookies(cs, this->www_foo_bar_.url())); |
| 1568 | 1570 |
| 1569 // Delete the "/foo" cookie, and make sure only it was deleted. | 1571 // Delete the "/foo" cookie, and make sure only it was deleted. |
| 1570 CookieList cookies = this->GetCookieListWithOptions( | 1572 CookieList cookies = this->GetCookieListWithOptions( |
| 1571 cs, this->www_foo_foo_.url(), CookieOptions()); | 1573 cs, this->www_foo_foo_.url(), CookieOptions()); |
| 1572 ASSERT_EQ(1u, cookies.size()); | 1574 ASSERT_EQ(1u, cookies.size()); |
| 1573 EXPECT_EQ(1, this->DeleteCanonicalCookie(cs, cookies[0])); | 1575 EXPECT_EQ(1u, this->DeleteCanonicalCookie(cs, cookies[0])); |
| 1574 EXPECT_EQ(1u, this->GetAllCookies(cs).size()); | 1576 EXPECT_EQ(1u, this->GetAllCookies(cs).size()); |
| 1575 EXPECT_EQ("", this->GetCookies(cs, this->www_foo_foo_.url())); | 1577 EXPECT_EQ("", this->GetCookies(cs, this->www_foo_foo_.url())); |
| 1576 EXPECT_EQ("A=C", this->GetCookies(cs, this->www_foo_bar_.url())); | 1578 EXPECT_EQ("A=C", this->GetCookies(cs, this->www_foo_bar_.url())); |
| 1577 | 1579 |
| 1578 // Deleting the "/foo" cookie again should fail. | 1580 // Deleting the "/foo" cookie again should fail. |
| 1579 EXPECT_EQ(0, this->DeleteCanonicalCookie(cs, cookies[0])); | 1581 EXPECT_EQ(0u, this->DeleteCanonicalCookie(cs, cookies[0])); |
| 1580 | 1582 |
| 1581 // Try to delete the "/bar" cookie after overwriting it with a new cookie. | 1583 // Try to delete the "/bar" cookie after overwriting it with a new cookie. |
| 1582 cookies = this->GetCookieListWithOptions(cs, this->www_foo_bar_.url(), | 1584 cookies = this->GetCookieListWithOptions(cs, this->www_foo_bar_.url(), |
| 1583 CookieOptions()); | 1585 CookieOptions()); |
| 1584 ASSERT_EQ(1u, cookies.size()); | 1586 ASSERT_EQ(1u, cookies.size()); |
| 1585 EXPECT_TRUE(this->SetCookie(cs, this->http_www_foo_.url(), "A=D;Path=/bar")); | 1587 EXPECT_TRUE(this->SetCookie(cs, this->http_www_foo_.url(), "A=D;Path=/bar")); |
| 1586 EXPECT_EQ(0, this->DeleteCanonicalCookie(cs, cookies[0])); | 1588 EXPECT_EQ(0u, this->DeleteCanonicalCookie(cs, cookies[0])); |
| 1587 EXPECT_EQ(1u, this->GetAllCookies(cs).size()); | 1589 EXPECT_EQ(1u, this->GetAllCookies(cs).size()); |
| 1588 EXPECT_EQ("A=D", this->GetCookies(cs, this->www_foo_bar_.url())); | 1590 EXPECT_EQ("A=D", this->GetCookies(cs, this->www_foo_bar_.url())); |
| 1589 | 1591 |
| 1590 // Delete the new "/bar" cookie. | 1592 // Delete the new "/bar" cookie. |
| 1591 cookies = this->GetCookieListWithOptions(cs, this->www_foo_bar_.url(), | 1593 cookies = this->GetCookieListWithOptions(cs, this->www_foo_bar_.url(), |
| 1592 CookieOptions()); | 1594 CookieOptions()); |
| 1593 ASSERT_EQ(1u, cookies.size()); | 1595 ASSERT_EQ(1u, cookies.size()); |
| 1594 EXPECT_EQ(1, this->DeleteCanonicalCookie(cs, cookies[0])); | 1596 EXPECT_EQ(1u, this->DeleteCanonicalCookie(cs, cookies[0])); |
| 1595 EXPECT_EQ(0u, this->GetAllCookies(cs).size()); | 1597 EXPECT_EQ(0u, this->GetAllCookies(cs).size()); |
| 1596 EXPECT_EQ("", this->GetCookies(cs, this->www_foo_bar_.url())); | 1598 EXPECT_EQ("", this->GetCookies(cs, this->www_foo_bar_.url())); |
| 1597 } | 1599 } |
| 1598 | 1600 |
| 1599 TYPED_TEST_P(CookieStoreTest, DeleteSessionCookie) { | 1601 TYPED_TEST_P(CookieStoreTest, DeleteSessionCookie) { |
| 1600 CookieStore* cs = this->GetCookieStore(); | 1602 CookieStore* cs = this->GetCookieStore(); |
| 1601 // Create a session cookie and a persistent cookie. | 1603 // Create a session cookie and a persistent cookie. |
| 1602 EXPECT_TRUE(this->SetCookie(cs, this->http_www_foo_.url(), | 1604 EXPECT_TRUE(this->SetCookie(cs, this->http_www_foo_.url(), |
| 1603 std::string(kValidCookieLine))); | 1605 std::string(kValidCookieLine))); |
| 1604 EXPECT_TRUE(this->SetCookie( | 1606 EXPECT_TRUE(this->SetCookie( |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1651 EmptyName, | 1653 EmptyName, |
| 1652 CookieOrdering, | 1654 CookieOrdering, |
| 1653 GetAllCookiesAsync, | 1655 GetAllCookiesAsync, |
| 1654 DeleteCookieAsync, | 1656 DeleteCookieAsync, |
| 1655 DeleteCanonicalCookieAsync, | 1657 DeleteCanonicalCookieAsync, |
| 1656 DeleteSessionCookie); | 1658 DeleteSessionCookie); |
| 1657 | 1659 |
| 1658 } // namespace net | 1660 } // namespace net |
| 1659 | 1661 |
| 1660 #endif // NET_COOKIES_COOKIE_STORE_UNITTEST_H_ | 1662 #endif // NET_COOKIES_COOKIE_STORE_UNITTEST_H_ |
| OLD | NEW |