OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "chrome/browser/cookies_tree_model.h" | 5 #include "chrome/browser/cookies_tree_model.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "chrome/browser/content_settings/host_content_settings_map.h" | 9 #include "chrome/browser/content_settings/host_content_settings_map.h" |
10 #include "chrome/browser/content_settings/mock_settings_observer.h" | 10 #include "chrome/browser/content_settings/mock_settings_observer.h" |
11 #include "chrome/browser/mock_browsing_data_appcache_helper.h" | 11 #include "chrome/browser/mock_browsing_data_appcache_helper.h" |
12 #include "chrome/browser/mock_browsing_data_cookie_helper.h" | |
13 #include "chrome/browser/mock_browsing_data_database_helper.h" | 12 #include "chrome/browser/mock_browsing_data_database_helper.h" |
14 #include "chrome/browser/mock_browsing_data_file_system_helper.h" | 13 #include "chrome/browser/mock_browsing_data_file_system_helper.h" |
15 #include "chrome/browser/mock_browsing_data_indexed_db_helper.h" | 14 #include "chrome/browser/mock_browsing_data_indexed_db_helper.h" |
16 #include "chrome/browser/mock_browsing_data_local_storage_helper.h" | 15 #include "chrome/browser/mock_browsing_data_local_storage_helper.h" |
17 #include "chrome/test/base/testing_profile.h" | 16 #include "chrome/test/base/testing_profile.h" |
18 #include "chrome/test/testing_browser_process_test.h" | 17 #include "chrome/test/testing_browser_process_test.h" |
19 #include "content/common/content_notification_types.h" | 18 #include "content/common/content_notification_types.h" |
20 #include "content/common/notification_details.h" | 19 #include "content/common/notification_details.h" |
21 #include "net/url_request/url_request_context.h" | 20 #include "net/url_request/url_request_context.h" |
22 #include "net/url_request/url_request_context_getter.h" | 21 #include "net/url_request/url_request_context_getter.h" |
(...skipping 10 matching lines...) Expand all Loading... |
33 CookiesTreeModelTest() : ui_thread_(BrowserThread::UI, &message_loop_), | 32 CookiesTreeModelTest() : ui_thread_(BrowserThread::UI, &message_loop_), |
34 io_thread_(BrowserThread::IO, &message_loop_) { | 33 io_thread_(BrowserThread::IO, &message_loop_) { |
35 } | 34 } |
36 | 35 |
37 virtual ~CookiesTreeModelTest() { | 36 virtual ~CookiesTreeModelTest() { |
38 } | 37 } |
39 | 38 |
40 virtual void SetUp() { | 39 virtual void SetUp() { |
41 profile_.reset(new TestingProfile()); | 40 profile_.reset(new TestingProfile()); |
42 profile_->CreateRequestContext(); | 41 profile_->CreateRequestContext(); |
43 mock_browsing_data_cookie_helper_ = | |
44 new MockBrowsingDataCookieHelper(profile_.get()); | |
45 mock_browsing_data_database_helper_ = | 42 mock_browsing_data_database_helper_ = |
46 new MockBrowsingDataDatabaseHelper(profile_.get()); | 43 new MockBrowsingDataDatabaseHelper(profile_.get()); |
47 mock_browsing_data_local_storage_helper_ = | 44 mock_browsing_data_local_storage_helper_ = |
48 new MockBrowsingDataLocalStorageHelper(profile_.get()); | 45 new MockBrowsingDataLocalStorageHelper(profile_.get()); |
49 mock_browsing_data_session_storage_helper_ = | 46 mock_browsing_data_session_storage_helper_ = |
50 new MockBrowsingDataLocalStorageHelper(profile_.get()); | 47 new MockBrowsingDataLocalStorageHelper(profile_.get()); |
51 mock_browsing_data_appcache_helper_ = | 48 mock_browsing_data_appcache_helper_ = |
52 new MockBrowsingDataAppCacheHelper(profile_.get()); | 49 new MockBrowsingDataAppCacheHelper(profile_.get()); |
53 mock_browsing_data_indexed_db_helper_ = | 50 mock_browsing_data_indexed_db_helper_ = |
54 new MockBrowsingDataIndexedDBHelper(profile_.get()); | 51 new MockBrowsingDataIndexedDBHelper(profile_.get()); |
55 mock_browsing_data_file_system_helper_ = | 52 mock_browsing_data_file_system_helper_ = |
56 new MockBrowsingDataFileSystemHelper(profile_.get()); | 53 new MockBrowsingDataFileSystemHelper(profile_.get()); |
57 } | 54 } |
58 | 55 |
59 CookiesTreeModel* CreateCookiesTreeModelWithInitialSample() { | 56 CookiesTreeModel* CreateCookiesTreeModelWithInitialSample() { |
| 57 net::CookieMonster* monster = profile_->GetCookieMonster(); |
| 58 monster->SetCookie(GURL("http://foo1"), "A=1"); |
| 59 monster->SetCookie(GURL("http://foo2"), "B=1"); |
| 60 monster->SetCookie(GURL("http://foo3"), "C=1"); |
60 CookiesTreeModel* cookies_model = new CookiesTreeModel( | 61 CookiesTreeModel* cookies_model = new CookiesTreeModel( |
61 mock_browsing_data_cookie_helper_, | 62 monster, mock_browsing_data_database_helper_, |
62 mock_browsing_data_database_helper_, | |
63 mock_browsing_data_local_storage_helper_, | 63 mock_browsing_data_local_storage_helper_, |
64 mock_browsing_data_session_storage_helper_, | 64 mock_browsing_data_session_storage_helper_, |
65 mock_browsing_data_appcache_helper_, | 65 mock_browsing_data_appcache_helper_, |
66 mock_browsing_data_indexed_db_helper_, | 66 mock_browsing_data_indexed_db_helper_, |
67 mock_browsing_data_file_system_helper_, | 67 mock_browsing_data_file_system_helper_, |
68 false); | 68 false); |
69 mock_browsing_data_cookie_helper_-> | |
70 AddCookieSamples(GURL("http://foo1"), "A=1"); | |
71 mock_browsing_data_cookie_helper_-> | |
72 AddCookieSamples(GURL("http://foo2"), "B=1"); | |
73 mock_browsing_data_cookie_helper_-> | |
74 AddCookieSamples(GURL("http://foo3"), "C=1"); | |
75 mock_browsing_data_cookie_helper_->Notify(); | |
76 mock_browsing_data_database_helper_->AddDatabaseSamples(); | 69 mock_browsing_data_database_helper_->AddDatabaseSamples(); |
77 mock_browsing_data_database_helper_->Notify(); | 70 mock_browsing_data_database_helper_->Notify(); |
78 mock_browsing_data_local_storage_helper_->AddLocalStorageSamples(); | 71 mock_browsing_data_local_storage_helper_->AddLocalStorageSamples(); |
79 mock_browsing_data_local_storage_helper_->Notify(); | 72 mock_browsing_data_local_storage_helper_->Notify(); |
80 mock_browsing_data_session_storage_helper_->AddLocalStorageSamples(); | 73 mock_browsing_data_session_storage_helper_->AddLocalStorageSamples(); |
81 mock_browsing_data_session_storage_helper_->Notify(); | 74 mock_browsing_data_session_storage_helper_->Notify(); |
82 mock_browsing_data_indexed_db_helper_->AddIndexedDBSamples(); | 75 mock_browsing_data_indexed_db_helper_->AddIndexedDBSamples(); |
83 mock_browsing_data_indexed_db_helper_->Notify(); | 76 mock_browsing_data_indexed_db_helper_->Notify(); |
84 mock_browsing_data_file_system_helper_->AddFileSystemSamples(); | 77 mock_browsing_data_file_system_helper_->AddFileSystemSamples(); |
85 mock_browsing_data_file_system_helper_->Notify(); | 78 mock_browsing_data_file_system_helper_->Notify(); |
86 { | 79 { |
87 SCOPED_TRACE("Initial State 3 cookies, 2 databases, 2 local storages, " | 80 SCOPED_TRACE("Initial State 3 cookies, 2 databases, 2 local storages, " |
88 "2 session storages, 2 indexed DBs, 3 filesystems"); | 81 "2 session storages, 2 indexed DBs, 3 filesystems"); |
89 // 41 because there's the root, then foo1 -> cookies -> a, | 82 // 41 because there's the root, then foo1 -> cookies -> a, |
90 // foo2 -> cookies -> b, foo3 -> cookies -> c, | 83 // foo2 -> cookies -> b, foo3 -> cookies -> c, |
91 // dbhost1 -> database -> db1, dbhost2 -> database -> db2, | 84 // dbhost1 -> database -> db1, dbhost2 -> database -> db2, |
92 // fshost1 -> filesystem -> http://fshost1:1/, | 85 // fshost1 -> filesystem -> http://fshost1:1/, |
93 // fshost2 -> filesystem -> http://fshost2:1/, | 86 // fshost2 -> filesystem -> http://fshost2:1/, |
94 // fshost3 -> filesystem -> http://fshost3:1/, | 87 // fshost3 -> filesystem -> http://fshost3:1/, |
95 // host1 -> localstorage -> http://host1:1/, | 88 // host1 -> localstorage -> http://host1:1/, |
96 // host2 -> localstorage -> http://host2:2/. | 89 // host2 -> localstorage -> http://host2:2/. |
97 // host1 -> sessionstorage -> http://host1:1/, | 90 // host1 -> sessionstorage -> http://host1:1/, |
98 // host2 -> sessionstorage -> http://host2:2/, | 91 // host2 -> sessionstorage -> http://host2:2/, |
99 // idbhost1 -> indexeddb -> http://idbhost1:1/, | 92 // idbhost1 -> indexeddb -> http://idbhost1:1/, |
100 // idbhost2 -> indexeddb -> http://idbhost2:2/. | 93 // idbhost2 -> indexeddb -> http://idbhost2:2/. |
101 EXPECT_EQ(41, cookies_model->GetRoot()->GetTotalNodeCount()); | 94 EXPECT_EQ(41, cookies_model->GetRoot()->GetTotalNodeCount()); |
102 EXPECT_EQ("A,B,C", GetDisplayedCookies(cookies_model)); | |
103 EXPECT_EQ("db1,db2", GetDisplayedDatabases(cookies_model)); | 95 EXPECT_EQ("db1,db2", GetDisplayedDatabases(cookies_model)); |
104 EXPECT_EQ("http://host1:1/,http://host2:2/", | 96 EXPECT_EQ("http://host1:1/,http://host2:2/", |
105 GetDisplayedLocalStorages(cookies_model)); | 97 GetDisplayedLocalStorages(cookies_model)); |
106 EXPECT_EQ("http://host1:1/,http://host2:2/", | 98 EXPECT_EQ("http://host1:1/,http://host2:2/", |
107 GetDisplayedSessionStorages(cookies_model)); | 99 GetDisplayedSessionStorages(cookies_model)); |
108 EXPECT_EQ("http://idbhost1:1/,http://idbhost2:2/", | 100 EXPECT_EQ("http://idbhost1:1/,http://idbhost2:2/", |
109 GetDisplayedIndexedDBs(cookies_model)); | 101 GetDisplayedIndexedDBs(cookies_model)); |
110 EXPECT_EQ("http://fshost1:1/,http://fshost2:2/,http://fshost3:3/", | 102 EXPECT_EQ("http://fshost1:1/,http://fshost2:2/,http://fshost3:3/", |
111 GetDisplayedFileSystems(cookies_model)); | 103 GetDisplayedFileSystems(cookies_model)); |
112 } | 104 } |
113 return cookies_model; | 105 return cookies_model; |
114 } | 106 } |
115 | 107 |
| 108 // Get the cookie names in the cookie list, as a comma seperated string. |
| 109 // (Note that the CookieMonster cookie list is sorted by domain.) |
| 110 // Ex: |
| 111 // monster->SetCookie(GURL("http://b"), "X=1") |
| 112 // monster->SetCookie(GURL("http://a"), "Y=1") |
| 113 // EXPECT_STREQ("Y,X", GetMonsterCookies(monster).c_str()); |
| 114 std::string GetMonsterCookies(net::CookieMonster* monster) { |
| 115 std::vector<std::string> parts; |
| 116 net::CookieList cookie_list = monster->GetAllCookies(); |
| 117 for (size_t i = 0; i < cookie_list.size(); ++i) |
| 118 parts.push_back(cookie_list[i].Name()); |
| 119 return JoinString(parts, ','); |
| 120 } |
| 121 |
116 std::string GetNodesOfChildren( | 122 std::string GetNodesOfChildren( |
117 const CookieTreeNode* node, | 123 const CookieTreeNode* node, |
118 CookieTreeNode::DetailedInfo::NodeType node_type) { | 124 CookieTreeNode::DetailedInfo::NodeType node_type) { |
119 if (!node->empty()) { | 125 if (!node->empty()) { |
120 std::string retval; | 126 std::string retval; |
121 for (int i = 0; i < node->child_count(); ++i) { | 127 for (int i = 0; i < node->child_count(); ++i) { |
122 retval += GetNodesOfChildren(node->GetChild(i), node_type); | 128 retval += GetNodesOfChildren(node->GetChild(i), node_type); |
123 } | 129 } |
124 return retval; | 130 return retval; |
125 } else { | 131 } else { |
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
234 DCHECK(parent_node); | 240 DCHECK(parent_node); |
235 delete parent_node->GetModel()->Remove(parent_node, node); | 241 delete parent_node->GetModel()->Remove(parent_node, node); |
236 } | 242 } |
237 | 243 |
238 protected: | 244 protected: |
239 MessageLoop message_loop_; | 245 MessageLoop message_loop_; |
240 BrowserThread ui_thread_; | 246 BrowserThread ui_thread_; |
241 BrowserThread io_thread_; | 247 BrowserThread io_thread_; |
242 | 248 |
243 scoped_ptr<TestingProfile> profile_; | 249 scoped_ptr<TestingProfile> profile_; |
244 scoped_refptr<MockBrowsingDataCookieHelper> | |
245 mock_browsing_data_cookie_helper_; | |
246 scoped_refptr<MockBrowsingDataDatabaseHelper> | 250 scoped_refptr<MockBrowsingDataDatabaseHelper> |
247 mock_browsing_data_database_helper_; | 251 mock_browsing_data_database_helper_; |
248 scoped_refptr<MockBrowsingDataLocalStorageHelper> | 252 scoped_refptr<MockBrowsingDataLocalStorageHelper> |
249 mock_browsing_data_local_storage_helper_; | 253 mock_browsing_data_local_storage_helper_; |
250 scoped_refptr<MockBrowsingDataLocalStorageHelper> | 254 scoped_refptr<MockBrowsingDataLocalStorageHelper> |
251 mock_browsing_data_session_storage_helper_; | 255 mock_browsing_data_session_storage_helper_; |
252 scoped_refptr<MockBrowsingDataAppCacheHelper> | 256 scoped_refptr<MockBrowsingDataAppCacheHelper> |
253 mock_browsing_data_appcache_helper_; | 257 mock_browsing_data_appcache_helper_; |
254 scoped_refptr<MockBrowsingDataIndexedDBHelper> | 258 scoped_refptr<MockBrowsingDataIndexedDBHelper> |
255 mock_browsing_data_indexed_db_helper_; | 259 mock_browsing_data_indexed_db_helper_; |
256 scoped_refptr<MockBrowsingDataFileSystemHelper> | 260 scoped_refptr<MockBrowsingDataFileSystemHelper> |
257 mock_browsing_data_file_system_helper_; | 261 mock_browsing_data_file_system_helper_; |
258 }; | 262 }; |
259 | 263 |
260 TEST_F(CookiesTreeModelTest, RemoveAll) { | 264 TEST_F(CookiesTreeModelTest, RemoveAll) { |
261 scoped_ptr<CookiesTreeModel> cookies_model( | 265 scoped_ptr<CookiesTreeModel> cookies_model( |
262 CreateCookiesTreeModelWithInitialSample()); | 266 CreateCookiesTreeModelWithInitialSample()); |
| 267 net::CookieMonster* monster = profile_->GetCookieMonster(); |
263 | 268 |
264 // Reset the selection of the first row. | 269 // Reset the selection of the first row. |
265 { | 270 { |
266 SCOPED_TRACE("Before removing"); | 271 SCOPED_TRACE("Before removing"); |
267 EXPECT_EQ("A,B,C", | 272 EXPECT_EQ(GetMonsterCookies(monster), |
268 GetDisplayedCookies(cookies_model.get())); | 273 GetDisplayedCookies(cookies_model.get())); |
269 EXPECT_EQ("db1,db2", | 274 EXPECT_EQ("db1,db2", |
270 GetDisplayedDatabases(cookies_model.get())); | 275 GetDisplayedDatabases(cookies_model.get())); |
271 EXPECT_EQ("http://host1:1/,http://host2:2/", | 276 EXPECT_EQ("http://host1:1/,http://host2:2/", |
272 GetDisplayedLocalStorages(cookies_model.get())); | 277 GetDisplayedLocalStorages(cookies_model.get())); |
273 EXPECT_EQ("http://host1:1/,http://host2:2/", | 278 EXPECT_EQ("http://host1:1/,http://host2:2/", |
274 GetDisplayedSessionStorages(cookies_model.get())); | 279 GetDisplayedSessionStorages(cookies_model.get())); |
275 EXPECT_EQ("http://idbhost1:1/,http://idbhost2:2/", | 280 EXPECT_EQ("http://idbhost1:1/,http://idbhost2:2/", |
276 GetDisplayedIndexedDBs(cookies_model.get())); | 281 GetDisplayedIndexedDBs(cookies_model.get())); |
277 EXPECT_EQ("http://fshost1:1/,http://fshost2:2/,http://fshost3:3/", | 282 EXPECT_EQ("http://fshost1:1/,http://fshost2:2/,http://fshost3:3/", |
278 GetDisplayedFileSystems(cookies_model.get())); | 283 GetDisplayedFileSystems(cookies_model.get())); |
279 } | 284 } |
280 | 285 |
281 mock_browsing_data_cookie_helper_->Reset(); | |
282 mock_browsing_data_database_helper_->Reset(); | 286 mock_browsing_data_database_helper_->Reset(); |
283 mock_browsing_data_local_storage_helper_->Reset(); | 287 mock_browsing_data_local_storage_helper_->Reset(); |
284 mock_browsing_data_session_storage_helper_->Reset(); | 288 mock_browsing_data_session_storage_helper_->Reset(); |
285 mock_browsing_data_indexed_db_helper_->Reset(); | 289 mock_browsing_data_indexed_db_helper_->Reset(); |
286 mock_browsing_data_file_system_helper_->Reset(); | 290 mock_browsing_data_file_system_helper_->Reset(); |
287 | 291 |
288 cookies_model->DeleteAllStoredObjects(); | 292 cookies_model->DeleteAllStoredObjects(); |
289 | 293 |
290 { | 294 { |
291 SCOPED_TRACE("After removing"); | 295 SCOPED_TRACE("After removing"); |
292 EXPECT_EQ(1, cookies_model->GetRoot()->GetTotalNodeCount()); | 296 EXPECT_EQ(1, cookies_model->GetRoot()->GetTotalNodeCount()); |
293 EXPECT_EQ(0, cookies_model->GetRoot()->child_count()); | 297 EXPECT_EQ(0, cookies_model->GetRoot()->child_count()); |
294 EXPECT_EQ(std::string(""), GetDisplayedCookies(cookies_model.get())); | 298 EXPECT_EQ(std::string(""), GetMonsterCookies(monster)); |
295 EXPECT_TRUE(mock_browsing_data_cookie_helper_->AllDeleted()); | 299 EXPECT_EQ(GetMonsterCookies(monster), |
| 300 GetDisplayedCookies(cookies_model.get())); |
296 EXPECT_TRUE(mock_browsing_data_database_helper_->AllDeleted()); | 301 EXPECT_TRUE(mock_browsing_data_database_helper_->AllDeleted()); |
297 EXPECT_TRUE(mock_browsing_data_local_storage_helper_->AllDeleted()); | 302 EXPECT_TRUE(mock_browsing_data_local_storage_helper_->AllDeleted()); |
298 EXPECT_FALSE(mock_browsing_data_session_storage_helper_->AllDeleted()); | 303 EXPECT_FALSE(mock_browsing_data_session_storage_helper_->AllDeleted()); |
299 EXPECT_TRUE(mock_browsing_data_indexed_db_helper_->AllDeleted()); | 304 EXPECT_TRUE(mock_browsing_data_indexed_db_helper_->AllDeleted()); |
300 EXPECT_TRUE(mock_browsing_data_file_system_helper_->AllDeleted()); | 305 EXPECT_TRUE(mock_browsing_data_file_system_helper_->AllDeleted()); |
301 } | 306 } |
302 } | 307 } |
303 | 308 |
304 TEST_F(CookiesTreeModelTest, Remove) { | 309 TEST_F(CookiesTreeModelTest, Remove) { |
305 scoped_ptr<CookiesTreeModel> cookies_model( | 310 scoped_ptr<CookiesTreeModel> cookies_model( |
306 CreateCookiesTreeModelWithInitialSample()); | 311 CreateCookiesTreeModelWithInitialSample()); |
| 312 net::CookieMonster* monster = profile_->GetCookieMonster(); |
307 | 313 |
308 // Children start out arranged as follows: | 314 // Children start out arranged as follows: |
309 // | 315 // |
310 // 0. `foo1` | 316 // 0. `foo1` |
311 // 1. `foo2` | 317 // 1. `foo2` |
312 // 2. `foo3` | 318 // 2. `foo3` |
313 // 3. `fshost1` | 319 // 3. `fshost1` |
314 // 4. `fshost2` | 320 // 4. `fshost2` |
315 // 5. `fshost3` | 321 // 5. `fshost3` |
316 // 6. `gdbhost1` | 322 // 6. `gdbhost1` |
317 // 7. `gdbhost2` | 323 // 7. `gdbhost2` |
318 // 8. `host1` | 324 // 8. `host1` |
319 // 9. `host2` | 325 // 9. `host2` |
320 // 10. `idbhost1` | 326 // 10. `idbhost1` |
321 // 11. `idbhost2` | 327 // 11. `idbhost2` |
322 // | 328 // |
323 // Here, we'll remove them one by one, starting from the end, and | 329 // Here, we'll remove them one by one, starting from the end, and |
324 // check that the state makes sense. | 330 // check that the state makes sense. |
325 | 331 |
326 DeleteStoredObjects(cookies_model->GetRoot()->GetChild(11)); | 332 DeleteStoredObjects(cookies_model->GetRoot()->GetChild(11)); |
327 { | 333 { |
328 SCOPED_TRACE("`idbhost2` removed."); | 334 SCOPED_TRACE("`idbhost2` removed."); |
| 335 EXPECT_STREQ("A,B,C", GetMonsterCookies(monster).c_str()); |
329 EXPECT_STREQ("A,B,C", GetDisplayedCookies(cookies_model.get()).c_str()); | 336 EXPECT_STREQ("A,B,C", GetDisplayedCookies(cookies_model.get()).c_str()); |
330 EXPECT_EQ("db1,db2", GetDisplayedDatabases(cookies_model.get())); | 337 EXPECT_EQ("db1,db2", GetDisplayedDatabases(cookies_model.get())); |
331 EXPECT_EQ("http://host1:1/,http://host2:2/", | 338 EXPECT_EQ("http://host1:1/,http://host2:2/", |
332 GetDisplayedLocalStorages(cookies_model.get())); | 339 GetDisplayedLocalStorages(cookies_model.get())); |
333 EXPECT_EQ("http://host1:1/,http://host2:2/", | 340 EXPECT_EQ("http://host1:1/,http://host2:2/", |
334 GetDisplayedSessionStorages(cookies_model.get())); | 341 GetDisplayedSessionStorages(cookies_model.get())); |
335 EXPECT_EQ("http://fshost1:1/,http://fshost2:2/,http://fshost3:3/", | 342 EXPECT_EQ("http://fshost1:1/,http://fshost2:2/,http://fshost3:3/", |
336 GetDisplayedFileSystems(cookies_model.get())); | 343 GetDisplayedFileSystems(cookies_model.get())); |
337 EXPECT_EQ("http://idbhost1:1/", | 344 EXPECT_EQ("http://idbhost1:1/", |
338 GetDisplayedIndexedDBs(cookies_model.get())); | 345 GetDisplayedIndexedDBs(cookies_model.get())); |
339 EXPECT_EQ(38, cookies_model->GetRoot()->GetTotalNodeCount()); | 346 EXPECT_EQ(38, cookies_model->GetRoot()->GetTotalNodeCount()); |
340 } | 347 } |
341 DeleteStoredObjects(cookies_model->GetRoot()->GetChild(10)); | 348 DeleteStoredObjects(cookies_model->GetRoot()->GetChild(10)); |
342 { | 349 { |
343 SCOPED_TRACE("`idbhost1` removed."); | 350 SCOPED_TRACE("`idbhost1` removed."); |
| 351 EXPECT_STREQ("A,B,C", GetMonsterCookies(monster).c_str()); |
344 EXPECT_STREQ("A,B,C", GetDisplayedCookies(cookies_model.get()).c_str()); | 352 EXPECT_STREQ("A,B,C", GetDisplayedCookies(cookies_model.get()).c_str()); |
345 EXPECT_EQ("db1,db2", GetDisplayedDatabases(cookies_model.get())); | 353 EXPECT_EQ("db1,db2", GetDisplayedDatabases(cookies_model.get())); |
346 EXPECT_EQ("http://host1:1/,http://host2:2/", | 354 EXPECT_EQ("http://host1:1/,http://host2:2/", |
347 GetDisplayedLocalStorages(cookies_model.get())); | 355 GetDisplayedLocalStorages(cookies_model.get())); |
348 EXPECT_EQ("http://host1:1/,http://host2:2/", | 356 EXPECT_EQ("http://host1:1/,http://host2:2/", |
349 GetDisplayedSessionStorages(cookies_model.get())); | 357 GetDisplayedSessionStorages(cookies_model.get())); |
350 EXPECT_EQ("http://fshost1:1/,http://fshost2:2/,http://fshost3:3/", | 358 EXPECT_EQ("http://fshost1:1/,http://fshost2:2/,http://fshost3:3/", |
351 GetDisplayedFileSystems(cookies_model.get())); | 359 GetDisplayedFileSystems(cookies_model.get())); |
352 EXPECT_EQ("", GetDisplayedIndexedDBs(cookies_model.get())); | 360 EXPECT_EQ("", GetDisplayedIndexedDBs(cookies_model.get())); |
353 EXPECT_EQ(35, cookies_model->GetRoot()->GetTotalNodeCount()); | 361 EXPECT_EQ(35, cookies_model->GetRoot()->GetTotalNodeCount()); |
354 } | 362 } |
355 DeleteStoredObjects(cookies_model->GetRoot()->GetChild(9)); | 363 DeleteStoredObjects(cookies_model->GetRoot()->GetChild(9)); |
356 { | 364 { |
357 SCOPED_TRACE("`host2` removed."); | 365 SCOPED_TRACE("`host2` removed."); |
| 366 EXPECT_STREQ("A,B,C", GetMonsterCookies(monster).c_str()); |
358 EXPECT_STREQ("A,B,C", GetDisplayedCookies(cookies_model.get()).c_str()); | 367 EXPECT_STREQ("A,B,C", GetDisplayedCookies(cookies_model.get()).c_str()); |
359 EXPECT_EQ("db1,db2", GetDisplayedDatabases(cookies_model.get())); | 368 EXPECT_EQ("db1,db2", GetDisplayedDatabases(cookies_model.get())); |
360 EXPECT_EQ("http://host1:1/", | 369 EXPECT_EQ("http://host1:1/", |
361 GetDisplayedLocalStorages(cookies_model.get())); | 370 GetDisplayedLocalStorages(cookies_model.get())); |
362 EXPECT_EQ("http://host1:1/", | 371 EXPECT_EQ("http://host1:1/", |
363 GetDisplayedSessionStorages(cookies_model.get())); | 372 GetDisplayedSessionStorages(cookies_model.get())); |
364 EXPECT_EQ("http://fshost1:1/,http://fshost2:2/,http://fshost3:3/", | 373 EXPECT_EQ("http://fshost1:1/,http://fshost2:2/,http://fshost3:3/", |
365 GetDisplayedFileSystems(cookies_model.get())); | 374 GetDisplayedFileSystems(cookies_model.get())); |
366 EXPECT_EQ("", GetDisplayedIndexedDBs(cookies_model.get())); | 375 EXPECT_EQ("", GetDisplayedIndexedDBs(cookies_model.get())); |
367 EXPECT_EQ(30, cookies_model->GetRoot()->GetTotalNodeCount()); | 376 EXPECT_EQ(30, cookies_model->GetRoot()->GetTotalNodeCount()); |
368 } | 377 } |
369 DeleteStoredObjects(cookies_model->GetRoot()->GetChild(8)); | 378 DeleteStoredObjects(cookies_model->GetRoot()->GetChild(8)); |
370 { | 379 { |
371 SCOPED_TRACE("`host1` removed."); | 380 SCOPED_TRACE("`host1` removed."); |
| 381 EXPECT_STREQ("A,B,C", GetMonsterCookies(monster).c_str()); |
372 EXPECT_STREQ("A,B,C", GetDisplayedCookies(cookies_model.get()).c_str()); | 382 EXPECT_STREQ("A,B,C", GetDisplayedCookies(cookies_model.get()).c_str()); |
373 EXPECT_EQ("db1,db2", GetDisplayedDatabases(cookies_model.get())); | 383 EXPECT_EQ("db1,db2", GetDisplayedDatabases(cookies_model.get())); |
374 EXPECT_EQ("", GetDisplayedLocalStorages(cookies_model.get())); | 384 EXPECT_EQ("", GetDisplayedLocalStorages(cookies_model.get())); |
375 EXPECT_EQ("", GetDisplayedSessionStorages(cookies_model.get())); | 385 EXPECT_EQ("", GetDisplayedSessionStorages(cookies_model.get())); |
376 EXPECT_EQ("http://fshost1:1/,http://fshost2:2/,http://fshost3:3/", | 386 EXPECT_EQ("http://fshost1:1/,http://fshost2:2/,http://fshost3:3/", |
377 GetDisplayedFileSystems(cookies_model.get())); | 387 GetDisplayedFileSystems(cookies_model.get())); |
378 EXPECT_EQ("", GetDisplayedIndexedDBs(cookies_model.get())); | 388 EXPECT_EQ("", GetDisplayedIndexedDBs(cookies_model.get())); |
379 EXPECT_EQ(25, cookies_model->GetRoot()->GetTotalNodeCount()); | 389 EXPECT_EQ(25, cookies_model->GetRoot()->GetTotalNodeCount()); |
380 } | 390 } |
381 DeleteStoredObjects(cookies_model->GetRoot()->GetChild(7)); | 391 DeleteStoredObjects(cookies_model->GetRoot()->GetChild(7)); |
382 { | 392 { |
383 SCOPED_TRACE("`gdbhost2` removed."); | 393 SCOPED_TRACE("`gdbhost2` removed."); |
| 394 EXPECT_STREQ("A,B,C", GetMonsterCookies(monster).c_str()); |
384 EXPECT_STREQ("A,B,C", GetDisplayedCookies(cookies_model.get()).c_str()); | 395 EXPECT_STREQ("A,B,C", GetDisplayedCookies(cookies_model.get()).c_str()); |
385 EXPECT_EQ("db1", GetDisplayedDatabases(cookies_model.get())); | 396 EXPECT_EQ("db1", GetDisplayedDatabases(cookies_model.get())); |
386 EXPECT_EQ("", GetDisplayedLocalStorages(cookies_model.get())); | 397 EXPECT_EQ("", GetDisplayedLocalStorages(cookies_model.get())); |
387 EXPECT_EQ("", GetDisplayedSessionStorages(cookies_model.get())); | 398 EXPECT_EQ("", GetDisplayedSessionStorages(cookies_model.get())); |
388 EXPECT_EQ("http://fshost1:1/,http://fshost2:2/,http://fshost3:3/", | 399 EXPECT_EQ("http://fshost1:1/,http://fshost2:2/,http://fshost3:3/", |
389 GetDisplayedFileSystems(cookies_model.get())); | 400 GetDisplayedFileSystems(cookies_model.get())); |
390 EXPECT_EQ("", GetDisplayedIndexedDBs(cookies_model.get())); | 401 EXPECT_EQ("", GetDisplayedIndexedDBs(cookies_model.get())); |
391 EXPECT_EQ(22, cookies_model->GetRoot()->GetTotalNodeCount()); | 402 EXPECT_EQ(22, cookies_model->GetRoot()->GetTotalNodeCount()); |
392 } | 403 } |
393 DeleteStoredObjects(cookies_model->GetRoot()->GetChild(6)); | 404 DeleteStoredObjects(cookies_model->GetRoot()->GetChild(6)); |
394 { | 405 { |
395 SCOPED_TRACE("`gdbhost1` removed."); | 406 SCOPED_TRACE("`gdbhost1` removed."); |
| 407 EXPECT_STREQ("A,B,C", GetMonsterCookies(monster).c_str()); |
396 EXPECT_STREQ("A,B,C", GetDisplayedCookies(cookies_model.get()).c_str()); | 408 EXPECT_STREQ("A,B,C", GetDisplayedCookies(cookies_model.get()).c_str()); |
397 EXPECT_EQ("", GetDisplayedDatabases(cookies_model.get())); | 409 EXPECT_EQ("", GetDisplayedDatabases(cookies_model.get())); |
398 EXPECT_EQ("", GetDisplayedLocalStorages(cookies_model.get())); | 410 EXPECT_EQ("", GetDisplayedLocalStorages(cookies_model.get())); |
399 EXPECT_EQ("", GetDisplayedSessionStorages(cookies_model.get())); | 411 EXPECT_EQ("", GetDisplayedSessionStorages(cookies_model.get())); |
400 EXPECT_EQ("http://fshost1:1/,http://fshost2:2/,http://fshost3:3/", | 412 EXPECT_EQ("http://fshost1:1/,http://fshost2:2/,http://fshost3:3/", |
401 GetDisplayedFileSystems(cookies_model.get())); | 413 GetDisplayedFileSystems(cookies_model.get())); |
402 EXPECT_EQ("", GetDisplayedIndexedDBs(cookies_model.get())); | 414 EXPECT_EQ("", GetDisplayedIndexedDBs(cookies_model.get())); |
403 EXPECT_EQ(19, cookies_model->GetRoot()->GetTotalNodeCount()); | 415 EXPECT_EQ(19, cookies_model->GetRoot()->GetTotalNodeCount()); |
404 } | 416 } |
405 DeleteStoredObjects(cookies_model->GetRoot()->GetChild(5)); | 417 DeleteStoredObjects(cookies_model->GetRoot()->GetChild(5)); |
406 { | 418 { |
407 SCOPED_TRACE("`fshost3` removed."); | 419 SCOPED_TRACE("`fshost3` removed."); |
| 420 EXPECT_STREQ("A,B,C", GetMonsterCookies(monster).c_str()); |
408 EXPECT_STREQ("A,B,C", GetDisplayedCookies(cookies_model.get()).c_str()); | 421 EXPECT_STREQ("A,B,C", GetDisplayedCookies(cookies_model.get()).c_str()); |
409 EXPECT_EQ("", GetDisplayedDatabases(cookies_model.get())); | 422 EXPECT_EQ("", GetDisplayedDatabases(cookies_model.get())); |
410 EXPECT_EQ("", GetDisplayedLocalStorages(cookies_model.get())); | 423 EXPECT_EQ("", GetDisplayedLocalStorages(cookies_model.get())); |
411 EXPECT_EQ("", GetDisplayedSessionStorages(cookies_model.get())); | 424 EXPECT_EQ("", GetDisplayedSessionStorages(cookies_model.get())); |
412 EXPECT_EQ("http://fshost1:1/,http://fshost2:2/", | 425 EXPECT_EQ("http://fshost1:1/,http://fshost2:2/", |
413 GetDisplayedFileSystems(cookies_model.get())); | 426 GetDisplayedFileSystems(cookies_model.get())); |
414 EXPECT_EQ("", GetDisplayedIndexedDBs(cookies_model.get())); | 427 EXPECT_EQ("", GetDisplayedIndexedDBs(cookies_model.get())); |
415 EXPECT_EQ(16, cookies_model->GetRoot()->GetTotalNodeCount()); | 428 EXPECT_EQ(16, cookies_model->GetRoot()->GetTotalNodeCount()); |
416 } | 429 } |
417 DeleteStoredObjects(cookies_model->GetRoot()->GetChild(4)); | 430 DeleteStoredObjects(cookies_model->GetRoot()->GetChild(4)); |
418 { | 431 { |
419 SCOPED_TRACE("`fshost2` removed."); | 432 SCOPED_TRACE("`fshost2` removed."); |
| 433 EXPECT_STREQ("A,B,C", GetMonsterCookies(monster).c_str()); |
420 EXPECT_STREQ("A,B,C", GetDisplayedCookies(cookies_model.get()).c_str()); | 434 EXPECT_STREQ("A,B,C", GetDisplayedCookies(cookies_model.get()).c_str()); |
421 EXPECT_EQ("", GetDisplayedDatabases(cookies_model.get())); | 435 EXPECT_EQ("", GetDisplayedDatabases(cookies_model.get())); |
422 EXPECT_EQ("", GetDisplayedLocalStorages(cookies_model.get())); | 436 EXPECT_EQ("", GetDisplayedLocalStorages(cookies_model.get())); |
423 EXPECT_EQ("", GetDisplayedSessionStorages(cookies_model.get())); | 437 EXPECT_EQ("", GetDisplayedSessionStorages(cookies_model.get())); |
424 EXPECT_EQ("http://fshost1:1/", | 438 EXPECT_EQ("http://fshost1:1/", |
425 GetDisplayedFileSystems(cookies_model.get())); | 439 GetDisplayedFileSystems(cookies_model.get())); |
426 EXPECT_EQ("", GetDisplayedIndexedDBs(cookies_model.get())); | 440 EXPECT_EQ("", GetDisplayedIndexedDBs(cookies_model.get())); |
427 EXPECT_EQ(13, cookies_model->GetRoot()->GetTotalNodeCount()); | 441 EXPECT_EQ(13, cookies_model->GetRoot()->GetTotalNodeCount()); |
428 } | 442 } |
429 DeleteStoredObjects(cookies_model->GetRoot()->GetChild(3)); | 443 DeleteStoredObjects(cookies_model->GetRoot()->GetChild(3)); |
430 { | 444 { |
431 SCOPED_TRACE("`fshost1` removed."); | 445 SCOPED_TRACE("`fshost1` removed."); |
| 446 EXPECT_STREQ("A,B,C", GetMonsterCookies(monster).c_str()); |
432 EXPECT_STREQ("A,B,C", GetDisplayedCookies(cookies_model.get()).c_str()); | 447 EXPECT_STREQ("A,B,C", GetDisplayedCookies(cookies_model.get()).c_str()); |
433 EXPECT_EQ("", GetDisplayedDatabases(cookies_model.get())); | 448 EXPECT_EQ("", GetDisplayedDatabases(cookies_model.get())); |
434 EXPECT_EQ("", GetDisplayedLocalStorages(cookies_model.get())); | 449 EXPECT_EQ("", GetDisplayedLocalStorages(cookies_model.get())); |
435 EXPECT_EQ("", GetDisplayedSessionStorages(cookies_model.get())); | 450 EXPECT_EQ("", GetDisplayedSessionStorages(cookies_model.get())); |
436 EXPECT_EQ("", GetDisplayedFileSystems(cookies_model.get())); | 451 EXPECT_EQ("", GetDisplayedFileSystems(cookies_model.get())); |
437 EXPECT_EQ("", GetDisplayedIndexedDBs(cookies_model.get())); | 452 EXPECT_EQ("", GetDisplayedIndexedDBs(cookies_model.get())); |
438 EXPECT_EQ(10, cookies_model->GetRoot()->GetTotalNodeCount()); | 453 EXPECT_EQ(10, cookies_model->GetRoot()->GetTotalNodeCount()); |
439 } | 454 } |
440 DeleteStoredObjects(cookies_model->GetRoot()->GetChild(2)); | 455 DeleteStoredObjects(cookies_model->GetRoot()->GetChild(2)); |
441 { | 456 { |
442 SCOPED_TRACE("`foo3` removed."); | 457 SCOPED_TRACE("`foo3` removed."); |
| 458 EXPECT_STREQ("A,B", GetMonsterCookies(monster).c_str()); |
443 EXPECT_STREQ("A,B", GetDisplayedCookies(cookies_model.get()).c_str()); | 459 EXPECT_STREQ("A,B", GetDisplayedCookies(cookies_model.get()).c_str()); |
444 EXPECT_EQ("", GetDisplayedDatabases(cookies_model.get())); | 460 EXPECT_EQ("", GetDisplayedDatabases(cookies_model.get())); |
445 EXPECT_EQ("", GetDisplayedLocalStorages(cookies_model.get())); | 461 EXPECT_EQ("", GetDisplayedLocalStorages(cookies_model.get())); |
446 EXPECT_EQ("", GetDisplayedSessionStorages(cookies_model.get())); | 462 EXPECT_EQ("", GetDisplayedSessionStorages(cookies_model.get())); |
447 EXPECT_EQ("", GetDisplayedFileSystems(cookies_model.get())); | 463 EXPECT_EQ("", GetDisplayedFileSystems(cookies_model.get())); |
448 EXPECT_EQ("", GetDisplayedIndexedDBs(cookies_model.get())); | 464 EXPECT_EQ("", GetDisplayedIndexedDBs(cookies_model.get())); |
449 EXPECT_EQ(7, cookies_model->GetRoot()->GetTotalNodeCount()); | 465 EXPECT_EQ(7, cookies_model->GetRoot()->GetTotalNodeCount()); |
450 } | 466 } |
451 DeleteStoredObjects(cookies_model->GetRoot()->GetChild(1)); | 467 DeleteStoredObjects(cookies_model->GetRoot()->GetChild(1)); |
452 { | 468 { |
453 SCOPED_TRACE("`foo2` removed."); | 469 SCOPED_TRACE("`foo2` removed."); |
| 470 EXPECT_STREQ("A", GetMonsterCookies(monster).c_str()); |
454 EXPECT_STREQ("A", GetDisplayedCookies(cookies_model.get()).c_str()); | 471 EXPECT_STREQ("A", GetDisplayedCookies(cookies_model.get()).c_str()); |
455 EXPECT_EQ("", GetDisplayedDatabases(cookies_model.get())); | 472 EXPECT_EQ("", GetDisplayedDatabases(cookies_model.get())); |
456 EXPECT_EQ("", GetDisplayedLocalStorages(cookies_model.get())); | 473 EXPECT_EQ("", GetDisplayedLocalStorages(cookies_model.get())); |
457 EXPECT_EQ("", GetDisplayedSessionStorages(cookies_model.get())); | 474 EXPECT_EQ("", GetDisplayedSessionStorages(cookies_model.get())); |
458 EXPECT_EQ("", GetDisplayedFileSystems(cookies_model.get())); | 475 EXPECT_EQ("", GetDisplayedFileSystems(cookies_model.get())); |
459 EXPECT_EQ("", GetDisplayedIndexedDBs(cookies_model.get())); | 476 EXPECT_EQ("", GetDisplayedIndexedDBs(cookies_model.get())); |
460 EXPECT_EQ(4, cookies_model->GetRoot()->GetTotalNodeCount()); | 477 EXPECT_EQ(4, cookies_model->GetRoot()->GetTotalNodeCount()); |
461 } | 478 } |
462 DeleteStoredObjects(cookies_model->GetRoot()->GetChild(0)); | 479 DeleteStoredObjects(cookies_model->GetRoot()->GetChild(0)); |
463 { | 480 { |
464 SCOPED_TRACE("`foo1` removed."); | 481 SCOPED_TRACE("`foo1` removed."); |
| 482 EXPECT_STREQ("", GetMonsterCookies(monster).c_str()); |
465 EXPECT_STREQ("", GetDisplayedCookies(cookies_model.get()).c_str()); | 483 EXPECT_STREQ("", GetDisplayedCookies(cookies_model.get()).c_str()); |
466 EXPECT_EQ("", GetDisplayedDatabases(cookies_model.get())); | 484 EXPECT_EQ("", GetDisplayedDatabases(cookies_model.get())); |
467 EXPECT_EQ("", GetDisplayedLocalStorages(cookies_model.get())); | 485 EXPECT_EQ("", GetDisplayedLocalStorages(cookies_model.get())); |
468 EXPECT_EQ("", GetDisplayedSessionStorages(cookies_model.get())); | 486 EXPECT_EQ("", GetDisplayedSessionStorages(cookies_model.get())); |
469 EXPECT_EQ("", GetDisplayedFileSystems(cookies_model.get())); | 487 EXPECT_EQ("", GetDisplayedFileSystems(cookies_model.get())); |
470 EXPECT_EQ("", GetDisplayedIndexedDBs(cookies_model.get())); | 488 EXPECT_EQ("", GetDisplayedIndexedDBs(cookies_model.get())); |
471 EXPECT_EQ(1, cookies_model->GetRoot()->GetTotalNodeCount()); | 489 EXPECT_EQ(1, cookies_model->GetRoot()->GetTotalNodeCount()); |
472 } | 490 } |
473 } | 491 } |
474 | 492 |
475 TEST_F(CookiesTreeModelTest, RemoveCookiesNode) { | 493 TEST_F(CookiesTreeModelTest, RemoveCookiesNode) { |
476 scoped_ptr<CookiesTreeModel> cookies_model( | 494 scoped_ptr<CookiesTreeModel> cookies_model( |
477 CreateCookiesTreeModelWithInitialSample()); | 495 CreateCookiesTreeModelWithInitialSample()); |
| 496 net::CookieMonster* monster = profile_->GetCookieMonster(); |
478 | 497 |
479 DeleteStoredObjects(cookies_model->GetRoot()->GetChild(0)->GetChild(0)); | 498 DeleteStoredObjects(cookies_model->GetRoot()->GetChild(0)->GetChild(0)); |
480 { | 499 { |
481 SCOPED_TRACE("First origin removed"); | 500 SCOPED_TRACE("First origin removed"); |
| 501 EXPECT_STREQ("B,C", GetMonsterCookies(monster).c_str()); |
482 EXPECT_STREQ("B,C", GetDisplayedCookies(cookies_model.get()).c_str()); | 502 EXPECT_STREQ("B,C", GetDisplayedCookies(cookies_model.get()).c_str()); |
483 // 39 because in this case, the origin remains, although the COOKIES | 503 // 39 because in this case, the origin remains, although the COOKIES |
484 // node beneath it has been deleted. So, we have | 504 // node beneath it has been deleted. So, we have |
485 // root -> foo1 -> cookies -> a, foo2, foo3 -> cookies -> c | 505 // root -> foo1 -> cookies -> a, foo2, foo3 -> cookies -> c |
486 // dbhost1 -> database -> db1, dbhost2 -> database -> db2, | 506 // dbhost1 -> database -> db1, dbhost2 -> database -> db2, |
487 // fshost1 -> filesystem -> http://fshost1:1/, | 507 // fshost1 -> filesystem -> http://fshost1:1/, |
488 // fshost2 -> filesystem -> http://fshost2:1/, | 508 // fshost2 -> filesystem -> http://fshost2:1/, |
489 // fshost3 -> filesystem -> http://fshost3:1/, | 509 // fshost3 -> filesystem -> http://fshost3:1/, |
490 // host1 -> localstorage -> http://host1:1/, | 510 // host1 -> localstorage -> http://host1:1/, |
491 // host2 -> localstorage -> http://host2:2/, | 511 // host2 -> localstorage -> http://host2:2/, |
492 // idbhost1 -> sessionstorage -> http://idbhost1:1/, | 512 // idbhost1 -> sessionstorage -> http://idbhost1:1/, |
493 // idbhost2 -> sessionstorage -> http://idbhost2:2/. | 513 // idbhost2 -> sessionstorage -> http://idbhost2:2/. |
494 EXPECT_EQ(39, cookies_model->GetRoot()->GetTotalNodeCount()); | 514 EXPECT_EQ(39, cookies_model->GetRoot()->GetTotalNodeCount()); |
495 EXPECT_EQ("db1,db2", GetDisplayedDatabases(cookies_model.get())); | 515 EXPECT_EQ("db1,db2", GetDisplayedDatabases(cookies_model.get())); |
496 EXPECT_EQ("http://host1:1/,http://host2:2/", | 516 EXPECT_EQ("http://host1:1/,http://host2:2/", |
497 GetDisplayedLocalStorages(cookies_model.get())); | 517 GetDisplayedLocalStorages(cookies_model.get())); |
498 EXPECT_EQ("http://host1:1/,http://host2:2/", | 518 EXPECT_EQ("http://host1:1/,http://host2:2/", |
499 GetDisplayedSessionStorages(cookies_model.get())); | 519 GetDisplayedSessionStorages(cookies_model.get())); |
500 EXPECT_EQ("http://idbhost1:1/,http://idbhost2:2/", | 520 EXPECT_EQ("http://idbhost1:1/,http://idbhost2:2/", |
501 GetDisplayedIndexedDBs(cookies_model.get())); | 521 GetDisplayedIndexedDBs(cookies_model.get())); |
502 EXPECT_EQ("http://fshost1:1/,http://fshost2:2/,http://fshost3:3/", | 522 EXPECT_EQ("http://fshost1:1/,http://fshost2:2/,http://fshost3:3/", |
503 GetDisplayedFileSystems(cookies_model.get())); | 523 GetDisplayedFileSystems(cookies_model.get())); |
504 } | 524 } |
505 | 525 |
506 DeleteStoredObjects(cookies_model->GetRoot()->GetChild(6)->GetChild(0)); | 526 DeleteStoredObjects(cookies_model->GetRoot()->GetChild(6)->GetChild(0)); |
507 { | 527 { |
508 SCOPED_TRACE("First database removed"); | 528 SCOPED_TRACE("First database removed"); |
| 529 EXPECT_STREQ("B,C", GetMonsterCookies(monster).c_str()); |
509 EXPECT_STREQ("B,C", GetDisplayedCookies(cookies_model.get()).c_str()); | 530 EXPECT_STREQ("B,C", GetDisplayedCookies(cookies_model.get()).c_str()); |
510 EXPECT_EQ("db2", GetDisplayedDatabases(cookies_model.get())); | 531 EXPECT_EQ("db2", GetDisplayedDatabases(cookies_model.get())); |
511 EXPECT_EQ("http://host1:1/,http://host2:2/", | 532 EXPECT_EQ("http://host1:1/,http://host2:2/", |
512 GetDisplayedLocalStorages(cookies_model.get())); | 533 GetDisplayedLocalStorages(cookies_model.get())); |
513 EXPECT_EQ("http://host1:1/,http://host2:2/", | 534 EXPECT_EQ("http://host1:1/,http://host2:2/", |
514 GetDisplayedSessionStorages(cookies_model.get())); | 535 GetDisplayedSessionStorages(cookies_model.get())); |
515 EXPECT_EQ("http://idbhost1:1/,http://idbhost2:2/", | 536 EXPECT_EQ("http://idbhost1:1/,http://idbhost2:2/", |
516 GetDisplayedIndexedDBs(cookies_model.get())); | 537 GetDisplayedIndexedDBs(cookies_model.get())); |
517 EXPECT_EQ("http://fshost1:1/,http://fshost2:2/,http://fshost3:3/", | 538 EXPECT_EQ("http://fshost1:1/,http://fshost2:2/,http://fshost3:3/", |
518 GetDisplayedFileSystems(cookies_model.get())); | 539 GetDisplayedFileSystems(cookies_model.get())); |
519 EXPECT_EQ(37, cookies_model->GetRoot()->GetTotalNodeCount()); | 540 EXPECT_EQ(37, cookies_model->GetRoot()->GetTotalNodeCount()); |
520 } | 541 } |
521 | 542 |
522 DeleteStoredObjects(cookies_model->GetRoot()->GetChild(8)->GetChild(0)); | 543 DeleteStoredObjects(cookies_model->GetRoot()->GetChild(8)->GetChild(0)); |
523 { | 544 { |
524 SCOPED_TRACE("First origin removed"); | 545 SCOPED_TRACE("First origin removed"); |
| 546 EXPECT_STREQ("B,C", GetMonsterCookies(monster).c_str()); |
525 EXPECT_STREQ("B,C", GetDisplayedCookies(cookies_model.get()).c_str()); | 547 EXPECT_STREQ("B,C", GetDisplayedCookies(cookies_model.get()).c_str()); |
526 EXPECT_EQ("db2", GetDisplayedDatabases(cookies_model.get())); | 548 EXPECT_EQ("db2", GetDisplayedDatabases(cookies_model.get())); |
527 EXPECT_EQ("http://host2:2/", | 549 EXPECT_EQ("http://host2:2/", |
528 GetDisplayedLocalStorages(cookies_model.get())); | 550 GetDisplayedLocalStorages(cookies_model.get())); |
529 EXPECT_EQ("http://host1:1/,http://host2:2/", | 551 EXPECT_EQ("http://host1:1/,http://host2:2/", |
530 GetDisplayedSessionStorages(cookies_model.get())); | 552 GetDisplayedSessionStorages(cookies_model.get())); |
531 EXPECT_EQ("http://idbhost1:1/,http://idbhost2:2/", | 553 EXPECT_EQ("http://idbhost1:1/,http://idbhost2:2/", |
532 GetDisplayedIndexedDBs(cookies_model.get())); | 554 GetDisplayedIndexedDBs(cookies_model.get())); |
533 EXPECT_EQ("http://fshost1:1/,http://fshost2:2/,http://fshost3:3/", | 555 EXPECT_EQ("http://fshost1:1/,http://fshost2:2/,http://fshost3:3/", |
534 GetDisplayedFileSystems(cookies_model.get())); | 556 GetDisplayedFileSystems(cookies_model.get())); |
535 EXPECT_EQ(35, cookies_model->GetRoot()->GetTotalNodeCount()); | 557 EXPECT_EQ(35, cookies_model->GetRoot()->GetTotalNodeCount()); |
536 } | 558 } |
537 } | 559 } |
538 | 560 |
539 TEST_F(CookiesTreeModelTest, RemoveCookieNode) { | 561 TEST_F(CookiesTreeModelTest, RemoveCookieNode) { |
540 scoped_ptr<CookiesTreeModel> cookies_model( | 562 scoped_ptr<CookiesTreeModel> cookies_model( |
541 CreateCookiesTreeModelWithInitialSample()); | 563 CreateCookiesTreeModelWithInitialSample()); |
| 564 net::CookieMonster* monster = profile_->GetCookieMonster(); |
542 | 565 |
543 DeleteStoredObjects(cookies_model->GetRoot()->GetChild(1)->GetChild(0)); | 566 DeleteStoredObjects(cookies_model->GetRoot()->GetChild(1)->GetChild(0)); |
544 { | 567 { |
545 SCOPED_TRACE("Second origin COOKIES node removed"); | 568 SCOPED_TRACE("Second origin COOKIES node removed"); |
| 569 EXPECT_STREQ("A,C", GetMonsterCookies(monster).c_str()); |
546 EXPECT_STREQ("A,C", GetDisplayedCookies(cookies_model.get()).c_str()); | 570 EXPECT_STREQ("A,C", GetDisplayedCookies(cookies_model.get()).c_str()); |
547 EXPECT_EQ("db1,db2", GetDisplayedDatabases(cookies_model.get())); | 571 EXPECT_EQ("db1,db2", GetDisplayedDatabases(cookies_model.get())); |
548 EXPECT_EQ("http://host1:1/,http://host2:2/", | 572 EXPECT_EQ("http://host1:1/,http://host2:2/", |
549 GetDisplayedLocalStorages(cookies_model.get())); | 573 GetDisplayedLocalStorages(cookies_model.get())); |
550 EXPECT_EQ("http://host1:1/,http://host2:2/", | 574 EXPECT_EQ("http://host1:1/,http://host2:2/", |
551 GetDisplayedSessionStorages(cookies_model.get())); | 575 GetDisplayedSessionStorages(cookies_model.get())); |
552 EXPECT_EQ("http://idbhost1:1/,http://idbhost2:2/", | 576 EXPECT_EQ("http://idbhost1:1/,http://idbhost2:2/", |
553 GetDisplayedIndexedDBs(cookies_model.get())); | 577 GetDisplayedIndexedDBs(cookies_model.get())); |
554 EXPECT_EQ("http://fshost1:1/,http://fshost2:2/,http://fshost3:3/", | 578 EXPECT_EQ("http://fshost1:1/,http://fshost2:2/,http://fshost3:3/", |
555 GetDisplayedFileSystems(cookies_model.get())); | 579 GetDisplayedFileSystems(cookies_model.get())); |
556 // 39 because in this case, the origin remains, although the COOKIES | 580 // 39 because in this case, the origin remains, although the COOKIES |
557 // node beneath it has been deleted. So, we have | 581 // node beneath it has been deleted. So, we have |
558 // root -> foo1 -> cookies -> a, foo2, foo3 -> cookies -> c | 582 // root -> foo1 -> cookies -> a, foo2, foo3 -> cookies -> c |
559 // dbhost1 -> database -> db1, dbhost2 -> database -> db2, | 583 // dbhost1 -> database -> db1, dbhost2 -> database -> db2, |
560 // fshost1 -> filesystem -> http://fshost1:1/, | 584 // fshost1 -> filesystem -> http://fshost1:1/, |
561 // fshost2 -> filesystem -> http://fshost2:1/, | 585 // fshost2 -> filesystem -> http://fshost2:1/, |
562 // fshost3 -> filesystem -> http://fshost3:1/, | 586 // fshost3 -> filesystem -> http://fshost3:1/, |
563 // host1 -> localstorage -> http://host1:1/, | 587 // host1 -> localstorage -> http://host1:1/, |
564 // host2 -> localstorage -> http://host2:2/, | 588 // host2 -> localstorage -> http://host2:2/, |
565 // host1 -> sessionstorage -> http://host1:1/, | 589 // host1 -> sessionstorage -> http://host1:1/, |
566 // host2 -> sessionstorage -> http://host2:2/, | 590 // host2 -> sessionstorage -> http://host2:2/, |
567 // idbhost1 -> sessionstorage -> http://idbhost1:1/, | 591 // idbhost1 -> sessionstorage -> http://idbhost1:1/, |
568 // idbhost2 -> sessionstorage -> http://idbhost2:2/. | 592 // idbhost2 -> sessionstorage -> http://idbhost2:2/. |
569 EXPECT_EQ(39, cookies_model->GetRoot()->GetTotalNodeCount()); | 593 EXPECT_EQ(39, cookies_model->GetRoot()->GetTotalNodeCount()); |
570 } | 594 } |
571 | 595 |
572 DeleteStoredObjects(cookies_model->GetRoot()->GetChild(6)->GetChild(0)); | 596 DeleteStoredObjects(cookies_model->GetRoot()->GetChild(6)->GetChild(0)); |
573 { | 597 { |
574 SCOPED_TRACE("First database removed"); | 598 SCOPED_TRACE("First database removed"); |
| 599 EXPECT_STREQ("A,C", GetMonsterCookies(monster).c_str()); |
575 EXPECT_STREQ("A,C", GetDisplayedCookies(cookies_model.get()).c_str()); | 600 EXPECT_STREQ("A,C", GetDisplayedCookies(cookies_model.get()).c_str()); |
576 EXPECT_EQ("db2", GetDisplayedDatabases(cookies_model.get())); | 601 EXPECT_EQ("db2", GetDisplayedDatabases(cookies_model.get())); |
577 EXPECT_EQ("http://host1:1/,http://host2:2/", | 602 EXPECT_EQ("http://host1:1/,http://host2:2/", |
578 GetDisplayedLocalStorages(cookies_model.get())); | 603 GetDisplayedLocalStorages(cookies_model.get())); |
579 EXPECT_EQ("http://host1:1/,http://host2:2/", | 604 EXPECT_EQ("http://host1:1/,http://host2:2/", |
580 GetDisplayedSessionStorages(cookies_model.get())); | 605 GetDisplayedSessionStorages(cookies_model.get())); |
581 EXPECT_EQ("http://idbhost1:1/,http://idbhost2:2/", | 606 EXPECT_EQ("http://idbhost1:1/,http://idbhost2:2/", |
582 GetDisplayedIndexedDBs(cookies_model.get())); | 607 GetDisplayedIndexedDBs(cookies_model.get())); |
583 EXPECT_EQ("http://fshost1:1/,http://fshost2:2/,http://fshost3:3/", | 608 EXPECT_EQ("http://fshost1:1/,http://fshost2:2/,http://fshost3:3/", |
584 GetDisplayedFileSystems(cookies_model.get())); | 609 GetDisplayedFileSystems(cookies_model.get())); |
585 EXPECT_EQ(37, cookies_model->GetRoot()->GetTotalNodeCount()); | 610 EXPECT_EQ(37, cookies_model->GetRoot()->GetTotalNodeCount()); |
586 } | 611 } |
587 | 612 |
588 DeleteStoredObjects(cookies_model->GetRoot()->GetChild(8)->GetChild(0)); | 613 DeleteStoredObjects(cookies_model->GetRoot()->GetChild(8)->GetChild(0)); |
589 { | 614 { |
590 SCOPED_TRACE("First origin removed"); | 615 SCOPED_TRACE("First origin removed"); |
| 616 EXPECT_STREQ("A,C", GetMonsterCookies(monster).c_str()); |
591 EXPECT_STREQ("A,C", GetDisplayedCookies(cookies_model.get()).c_str()); | 617 EXPECT_STREQ("A,C", GetDisplayedCookies(cookies_model.get()).c_str()); |
592 EXPECT_EQ("db2", GetDisplayedDatabases(cookies_model.get())); | 618 EXPECT_EQ("db2", GetDisplayedDatabases(cookies_model.get())); |
593 EXPECT_EQ("http://host2:2/", | 619 EXPECT_EQ("http://host2:2/", |
594 GetDisplayedLocalStorages(cookies_model.get())); | 620 GetDisplayedLocalStorages(cookies_model.get())); |
595 EXPECT_EQ("http://host1:1/,http://host2:2/", | 621 EXPECT_EQ("http://host1:1/,http://host2:2/", |
596 GetDisplayedSessionStorages(cookies_model.get())); | 622 GetDisplayedSessionStorages(cookies_model.get())); |
597 EXPECT_EQ("http://idbhost1:1/,http://idbhost2:2/", | 623 EXPECT_EQ("http://idbhost1:1/,http://idbhost2:2/", |
598 GetDisplayedIndexedDBs(cookies_model.get())); | 624 GetDisplayedIndexedDBs(cookies_model.get())); |
599 EXPECT_EQ("http://fshost1:1/,http://fshost2:2/,http://fshost3:3/", | 625 EXPECT_EQ("http://fshost1:1/,http://fshost2:2/,http://fshost3:3/", |
600 GetDisplayedFileSystems(cookies_model.get())); | 626 GetDisplayedFileSystems(cookies_model.get())); |
601 EXPECT_EQ(35, cookies_model->GetRoot()->GetTotalNodeCount()); | 627 EXPECT_EQ(35, cookies_model->GetRoot()->GetTotalNodeCount()); |
602 } | 628 } |
603 } | 629 } |
604 | 630 |
605 TEST_F(CookiesTreeModelTest, RemoveSingleCookieNode) { | 631 TEST_F(CookiesTreeModelTest, RemoveSingleCookieNode) { |
606 CookiesTreeModel cookies_model(mock_browsing_data_cookie_helper_, | 632 net::CookieMonster* monster = profile_->GetCookieMonster(); |
| 633 monster->SetCookie(GURL("http://foo1"), "A=1"); |
| 634 monster->SetCookie(GURL("http://foo2"), "B=1"); |
| 635 monster->SetCookie(GURL("http://foo3"), "C=1"); |
| 636 monster->SetCookie(GURL("http://foo3"), "D=1"); |
| 637 CookiesTreeModel cookies_model(monster, |
607 mock_browsing_data_database_helper_, | 638 mock_browsing_data_database_helper_, |
608 mock_browsing_data_local_storage_helper_, | 639 mock_browsing_data_local_storage_helper_, |
609 mock_browsing_data_session_storage_helper_, | 640 mock_browsing_data_session_storage_helper_, |
610 mock_browsing_data_appcache_helper_, | 641 mock_browsing_data_appcache_helper_, |
611 mock_browsing_data_indexed_db_helper_, | 642 mock_browsing_data_indexed_db_helper_, |
612 mock_browsing_data_file_system_helper_, | 643 mock_browsing_data_file_system_helper_, |
613 false); | 644 false); |
614 mock_browsing_data_cookie_helper_-> | |
615 AddCookieSamples(GURL("http://foo1"), "A=1"); | |
616 mock_browsing_data_cookie_helper_-> | |
617 AddCookieSamples(GURL("http://foo2"), "B=1"); | |
618 mock_browsing_data_cookie_helper_-> | |
619 AddCookieSamples(GURL("http://foo3"), "C=1"); | |
620 mock_browsing_data_cookie_helper_-> | |
621 AddCookieSamples(GURL("http://foo3"), "D=1"); | |
622 mock_browsing_data_cookie_helper_->Notify(); | |
623 mock_browsing_data_database_helper_->AddDatabaseSamples(); | 645 mock_browsing_data_database_helper_->AddDatabaseSamples(); |
624 mock_browsing_data_database_helper_->Notify(); | 646 mock_browsing_data_database_helper_->Notify(); |
625 mock_browsing_data_local_storage_helper_->AddLocalStorageSamples(); | 647 mock_browsing_data_local_storage_helper_->AddLocalStorageSamples(); |
626 mock_browsing_data_local_storage_helper_->Notify(); | 648 mock_browsing_data_local_storage_helper_->Notify(); |
627 mock_browsing_data_session_storage_helper_->AddLocalStorageSamples(); | 649 mock_browsing_data_session_storage_helper_->AddLocalStorageSamples(); |
628 mock_browsing_data_session_storage_helper_->Notify(); | 650 mock_browsing_data_session_storage_helper_->Notify(); |
629 mock_browsing_data_indexed_db_helper_->AddIndexedDBSamples(); | 651 mock_browsing_data_indexed_db_helper_->AddIndexedDBSamples(); |
630 mock_browsing_data_indexed_db_helper_->Notify(); | 652 mock_browsing_data_indexed_db_helper_->Notify(); |
631 mock_browsing_data_file_system_helper_->AddFileSystemSamples(); | 653 mock_browsing_data_file_system_helper_->AddFileSystemSamples(); |
632 mock_browsing_data_file_system_helper_->Notify(); | 654 mock_browsing_data_file_system_helper_->Notify(); |
633 | 655 |
634 { | 656 { |
635 SCOPED_TRACE("Initial State 4 cookies, 2 databases, 2 local storages, " | 657 SCOPED_TRACE("Initial State 4 cookies, 2 databases, 2 local storages, " |
636 "2 session storages, 2 indexed DBs, 3 file systems"); | 658 "2 session storages, 2 indexed DBs, 3 file systems"); |
637 // 42 because there's the root, then foo1 -> cookies -> a, | 659 // 42 because there's the root, then foo1 -> cookies -> a, |
638 // foo2 -> cookies -> b, foo3 -> cookies -> c,d | 660 // foo2 -> cookies -> b, foo3 -> cookies -> c,d |
639 // dbhost1 -> database -> db1, dbhost2 -> database -> db2, | 661 // dbhost1 -> database -> db1, dbhost2 -> database -> db2, |
640 // fshost1 -> filesystem -> http://fshost1:1/, | 662 // fshost1 -> filesystem -> http://fshost1:1/, |
641 // fshost2 -> filesystem -> http://fshost2:1/, | 663 // fshost2 -> filesystem -> http://fshost2:1/, |
642 // fshost3 -> filesystem -> http://fshost3:1/, | 664 // fshost3 -> filesystem -> http://fshost3:1/, |
643 // host1 -> localstorage -> http://host1:1/, | 665 // host1 -> localstorage -> http://host1:1/, |
644 // host1 -> sessionstorage -> http://host1:1/, | 666 // host1 -> sessionstorage -> http://host1:1/, |
645 // host2 -> sessionstorage -> http://host2:2/, | 667 // host2 -> sessionstorage -> http://host2:2/, |
646 // idbhost1 -> sessionstorage -> http://idbhost1:1/, | 668 // idbhost1 -> sessionstorage -> http://idbhost1:1/, |
647 // idbhost2 -> sessionstorage -> http://idbhost2:2/. | 669 // idbhost2 -> sessionstorage -> http://idbhost2:2/. |
648 EXPECT_EQ(42, cookies_model.GetRoot()->GetTotalNodeCount()); | 670 EXPECT_EQ(42, cookies_model.GetRoot()->GetTotalNodeCount()); |
| 671 EXPECT_STREQ("A,B,C,D", GetMonsterCookies(monster).c_str()); |
649 EXPECT_STREQ("A,B,C,D", GetDisplayedCookies(&cookies_model).c_str()); | 672 EXPECT_STREQ("A,B,C,D", GetDisplayedCookies(&cookies_model).c_str()); |
650 EXPECT_EQ("db1,db2", GetDisplayedDatabases(&cookies_model)); | 673 EXPECT_EQ("db1,db2", GetDisplayedDatabases(&cookies_model)); |
651 EXPECT_EQ("http://host1:1/,http://host2:2/", | 674 EXPECT_EQ("http://host1:1/,http://host2:2/", |
652 GetDisplayedLocalStorages(&cookies_model)); | 675 GetDisplayedLocalStorages(&cookies_model)); |
653 EXPECT_EQ("http://host1:1/,http://host2:2/", | 676 EXPECT_EQ("http://host1:1/,http://host2:2/", |
654 GetDisplayedSessionStorages(&cookies_model)); | 677 GetDisplayedSessionStorages(&cookies_model)); |
655 EXPECT_EQ("http://idbhost1:1/,http://idbhost2:2/", | 678 EXPECT_EQ("http://idbhost1:1/,http://idbhost2:2/", |
656 GetDisplayedIndexedDBs(&cookies_model)); | 679 GetDisplayedIndexedDBs(&cookies_model)); |
657 EXPECT_EQ("http://fshost1:1/,http://fshost2:2/,http://fshost3:3/", | 680 EXPECT_EQ("http://fshost1:1/,http://fshost2:2/,http://fshost3:3/", |
658 GetDisplayedFileSystems(&cookies_model)); | 681 GetDisplayedFileSystems(&cookies_model)); |
659 } | 682 } |
660 DeleteStoredObjects(cookies_model.GetRoot()->GetChild(2)); | 683 DeleteStoredObjects(cookies_model.GetRoot()->GetChild(2)); |
661 { | 684 { |
662 SCOPED_TRACE("Third origin removed"); | 685 SCOPED_TRACE("Third origin removed"); |
| 686 EXPECT_STREQ("A,B", GetMonsterCookies(monster).c_str()); |
663 EXPECT_STREQ("A,B", GetDisplayedCookies(&cookies_model).c_str()); | 687 EXPECT_STREQ("A,B", GetDisplayedCookies(&cookies_model).c_str()); |
664 EXPECT_EQ("db1,db2", GetDisplayedDatabases(&cookies_model)); | 688 EXPECT_EQ("db1,db2", GetDisplayedDatabases(&cookies_model)); |
665 EXPECT_EQ("http://host1:1/,http://host2:2/", | 689 EXPECT_EQ("http://host1:1/,http://host2:2/", |
666 GetDisplayedLocalStorages(&cookies_model)); | 690 GetDisplayedLocalStorages(&cookies_model)); |
667 EXPECT_EQ("http://host1:1/,http://host2:2/", | 691 EXPECT_EQ("http://host1:1/,http://host2:2/", |
668 GetDisplayedSessionStorages(&cookies_model)); | 692 GetDisplayedSessionStorages(&cookies_model)); |
669 EXPECT_EQ("http://idbhost1:1/,http://idbhost2:2/", | 693 EXPECT_EQ("http://idbhost1:1/,http://idbhost2:2/", |
670 GetDisplayedIndexedDBs(&cookies_model)); | 694 GetDisplayedIndexedDBs(&cookies_model)); |
671 EXPECT_EQ("http://fshost1:1/,http://fshost2:2/,http://fshost3:3/", | 695 EXPECT_EQ("http://fshost1:1/,http://fshost2:2/,http://fshost3:3/", |
672 GetDisplayedFileSystems(&cookies_model)); | 696 GetDisplayedFileSystems(&cookies_model)); |
673 EXPECT_EQ(38, cookies_model.GetRoot()->GetTotalNodeCount()); | 697 EXPECT_EQ(38, cookies_model.GetRoot()->GetTotalNodeCount()); |
674 } | 698 } |
675 } | 699 } |
676 | 700 |
677 TEST_F(CookiesTreeModelTest, RemoveSingleCookieNodeOf3) { | 701 TEST_F(CookiesTreeModelTest, RemoveSingleCookieNodeOf3) { |
678 CookiesTreeModel cookies_model(mock_browsing_data_cookie_helper_, | 702 net::CookieMonster* monster = profile_->GetCookieMonster(); |
| 703 monster->SetCookie(GURL("http://foo1"), "A=1"); |
| 704 monster->SetCookie(GURL("http://foo2"), "B=1"); |
| 705 monster->SetCookie(GURL("http://foo3"), "C=1"); |
| 706 monster->SetCookie(GURL("http://foo3"), "D=1"); |
| 707 monster->SetCookie(GURL("http://foo3"), "E=1"); |
| 708 CookiesTreeModel cookies_model(monster, |
679 mock_browsing_data_database_helper_, | 709 mock_browsing_data_database_helper_, |
680 mock_browsing_data_local_storage_helper_, | 710 mock_browsing_data_local_storage_helper_, |
681 mock_browsing_data_session_storage_helper_, | 711 mock_browsing_data_session_storage_helper_, |
682 mock_browsing_data_appcache_helper_, | 712 mock_browsing_data_appcache_helper_, |
683 mock_browsing_data_indexed_db_helper_, | 713 mock_browsing_data_indexed_db_helper_, |
684 mock_browsing_data_file_system_helper_, | 714 mock_browsing_data_file_system_helper_, |
685 false); | 715 false); |
686 mock_browsing_data_cookie_helper_-> | |
687 AddCookieSamples(GURL("http://foo1"), "A=1"); | |
688 mock_browsing_data_cookie_helper_-> | |
689 AddCookieSamples(GURL("http://foo2"), "B=1"); | |
690 mock_browsing_data_cookie_helper_-> | |
691 AddCookieSamples(GURL("http://foo3"), "C=1"); | |
692 mock_browsing_data_cookie_helper_-> | |
693 AddCookieSamples(GURL("http://foo3"), "D=1"); | |
694 mock_browsing_data_cookie_helper_-> | |
695 AddCookieSamples(GURL("http://foo3"), "E=1"); | |
696 mock_browsing_data_cookie_helper_->Notify(); | |
697 mock_browsing_data_database_helper_->AddDatabaseSamples(); | 716 mock_browsing_data_database_helper_->AddDatabaseSamples(); |
698 mock_browsing_data_database_helper_->Notify(); | 717 mock_browsing_data_database_helper_->Notify(); |
699 mock_browsing_data_local_storage_helper_->AddLocalStorageSamples(); | 718 mock_browsing_data_local_storage_helper_->AddLocalStorageSamples(); |
700 mock_browsing_data_local_storage_helper_->Notify(); | 719 mock_browsing_data_local_storage_helper_->Notify(); |
701 mock_browsing_data_session_storage_helper_->AddLocalStorageSamples(); | 720 mock_browsing_data_session_storage_helper_->AddLocalStorageSamples(); |
702 mock_browsing_data_session_storage_helper_->Notify(); | 721 mock_browsing_data_session_storage_helper_->Notify(); |
703 mock_browsing_data_indexed_db_helper_->AddIndexedDBSamples(); | 722 mock_browsing_data_indexed_db_helper_->AddIndexedDBSamples(); |
704 mock_browsing_data_indexed_db_helper_->Notify(); | 723 mock_browsing_data_indexed_db_helper_->Notify(); |
705 mock_browsing_data_file_system_helper_->AddFileSystemSamples(); | 724 mock_browsing_data_file_system_helper_->AddFileSystemSamples(); |
706 mock_browsing_data_file_system_helper_->Notify(); | 725 mock_browsing_data_file_system_helper_->Notify(); |
707 | 726 |
708 { | 727 { |
709 SCOPED_TRACE("Initial State 5 cookies, 2 databases, 2 local storages, " | 728 SCOPED_TRACE("Initial State 5 cookies, 2 databases, 2 local storages, " |
710 "2 session storages, 2 indexed DBs"); | 729 "2 session storages, 2 indexed DBs"); |
711 // 43 because there's the root, then foo1 -> cookies -> a, | 730 // 43 because there's the root, then foo1 -> cookies -> a, |
712 // foo2 -> cookies -> b, foo3 -> cookies -> c,d,e | 731 // foo2 -> cookies -> b, foo3 -> cookies -> c,d,e |
713 // dbhost1 -> database -> db1, dbhost2 -> database -> db2, | 732 // dbhost1 -> database -> db1, dbhost2 -> database -> db2, |
714 // fshost1 -> filesystem -> http://fshost1:1/, | 733 // fshost1 -> filesystem -> http://fshost1:1/, |
715 // fshost2 -> filesystem -> http://fshost2:1/, | 734 // fshost2 -> filesystem -> http://fshost2:1/, |
716 // fshost3 -> filesystem -> http://fshost3:1/, | 735 // fshost3 -> filesystem -> http://fshost3:1/, |
717 // host1 -> localstorage -> http://host1:1/, | 736 // host1 -> localstorage -> http://host1:1/, |
718 // host2 -> localstorage -> http://host2:2/, | 737 // host2 -> localstorage -> http://host2:2/, |
719 // host1 -> sessionstorage -> http://host1:1/, | 738 // host1 -> sessionstorage -> http://host1:1/, |
720 // host2 -> sessionstorage -> http://host2:2/, | 739 // host2 -> sessionstorage -> http://host2:2/, |
721 // idbhost1 -> sessionstorage -> http://idbhost1:1/, | 740 // idbhost1 -> sessionstorage -> http://idbhost1:1/, |
722 // idbhost2 -> sessionstorage -> http://idbhost2:2/. | 741 // idbhost2 -> sessionstorage -> http://idbhost2:2/. |
723 EXPECT_EQ(43, cookies_model.GetRoot()->GetTotalNodeCount()); | 742 EXPECT_EQ(43, cookies_model.GetRoot()->GetTotalNodeCount()); |
| 743 EXPECT_STREQ("A,B,C,D,E", GetMonsterCookies(monster).c_str()); |
724 EXPECT_STREQ("A,B,C,D,E", GetDisplayedCookies(&cookies_model).c_str()); | 744 EXPECT_STREQ("A,B,C,D,E", GetDisplayedCookies(&cookies_model).c_str()); |
725 EXPECT_EQ("db1,db2", GetDisplayedDatabases(&cookies_model)); | 745 EXPECT_EQ("db1,db2", GetDisplayedDatabases(&cookies_model)); |
726 EXPECT_EQ("http://host1:1/,http://host2:2/", | 746 EXPECT_EQ("http://host1:1/,http://host2:2/", |
727 GetDisplayedLocalStorages(&cookies_model)); | 747 GetDisplayedLocalStorages(&cookies_model)); |
728 EXPECT_EQ("http://host1:1/,http://host2:2/", | 748 EXPECT_EQ("http://host1:1/,http://host2:2/", |
729 GetDisplayedSessionStorages(&cookies_model)); | 749 GetDisplayedSessionStorages(&cookies_model)); |
730 EXPECT_EQ("http://idbhost1:1/,http://idbhost2:2/", | 750 EXPECT_EQ("http://idbhost1:1/,http://idbhost2:2/", |
731 GetDisplayedIndexedDBs(&cookies_model)); | 751 GetDisplayedIndexedDBs(&cookies_model)); |
732 EXPECT_EQ("http://fshost1:1/,http://fshost2:2/,http://fshost3:3/", | 752 EXPECT_EQ("http://fshost1:1/,http://fshost2:2/,http://fshost3:3/", |
733 GetDisplayedFileSystems(&cookies_model)); | 753 GetDisplayedFileSystems(&cookies_model)); |
734 } | 754 } |
735 DeleteStoredObjects(cookies_model.GetRoot()->GetChild(2)->GetChild(0)-> | 755 DeleteStoredObjects(cookies_model.GetRoot()->GetChild(2)->GetChild(0)-> |
736 GetChild(1)); | 756 GetChild(1)); |
737 { | 757 { |
738 SCOPED_TRACE("Middle cookie in third origin removed"); | 758 SCOPED_TRACE("Middle cookie in third origin removed"); |
| 759 EXPECT_STREQ("A,B,C,E", GetMonsterCookies(monster).c_str()); |
739 EXPECT_STREQ("A,B,C,E", GetDisplayedCookies(&cookies_model).c_str()); | 760 EXPECT_STREQ("A,B,C,E", GetDisplayedCookies(&cookies_model).c_str()); |
740 EXPECT_EQ(42, cookies_model.GetRoot()->GetTotalNodeCount()); | 761 EXPECT_EQ(42, cookies_model.GetRoot()->GetTotalNodeCount()); |
741 EXPECT_EQ("db1,db2", GetDisplayedDatabases(&cookies_model)); | 762 EXPECT_EQ("db1,db2", GetDisplayedDatabases(&cookies_model)); |
742 EXPECT_EQ("http://host1:1/,http://host2:2/", | 763 EXPECT_EQ("http://host1:1/,http://host2:2/", |
743 GetDisplayedLocalStorages(&cookies_model)); | 764 GetDisplayedLocalStorages(&cookies_model)); |
744 EXPECT_EQ("http://host1:1/,http://host2:2/", | 765 EXPECT_EQ("http://host1:1/,http://host2:2/", |
745 GetDisplayedSessionStorages(&cookies_model)); | 766 GetDisplayedSessionStorages(&cookies_model)); |
746 EXPECT_EQ("http://idbhost1:1/,http://idbhost2:2/", | 767 EXPECT_EQ("http://idbhost1:1/,http://idbhost2:2/", |
747 GetDisplayedIndexedDBs(&cookies_model)); | 768 GetDisplayedIndexedDBs(&cookies_model)); |
748 EXPECT_EQ("http://fshost1:1/,http://fshost2:2/,http://fshost3:3/", | 769 EXPECT_EQ("http://fshost1:1/,http://fshost2:2/,http://fshost3:3/", |
749 GetDisplayedFileSystems(&cookies_model)); | 770 GetDisplayedFileSystems(&cookies_model)); |
750 } | 771 } |
751 } | 772 } |
752 | 773 |
753 TEST_F(CookiesTreeModelTest, RemoveSecondOrigin) { | 774 TEST_F(CookiesTreeModelTest, RemoveSecondOrigin) { |
754 CookiesTreeModel cookies_model(mock_browsing_data_cookie_helper_, | 775 net::CookieMonster* monster = profile_->GetCookieMonster(); |
| 776 monster->SetCookie(GURL("http://foo1"), "A=1"); |
| 777 monster->SetCookie(GURL("http://foo2"), "B=1"); |
| 778 monster->SetCookie(GURL("http://foo3"), "C=1"); |
| 779 monster->SetCookie(GURL("http://foo3"), "D=1"); |
| 780 monster->SetCookie(GURL("http://foo3"), "E=1"); |
| 781 CookiesTreeModel cookies_model(monster, |
755 mock_browsing_data_database_helper_, | 782 mock_browsing_data_database_helper_, |
756 mock_browsing_data_local_storage_helper_, | 783 mock_browsing_data_local_storage_helper_, |
757 mock_browsing_data_session_storage_helper_, | 784 mock_browsing_data_session_storage_helper_, |
758 mock_browsing_data_appcache_helper_, | 785 mock_browsing_data_appcache_helper_, |
759 mock_browsing_data_indexed_db_helper_, | 786 mock_browsing_data_indexed_db_helper_, |
760 mock_browsing_data_file_system_helper_, | 787 mock_browsing_data_file_system_helper_, |
761 false); | 788 false); |
762 mock_browsing_data_cookie_helper_-> | |
763 AddCookieSamples(GURL("http://foo1"), "A=1"); | |
764 mock_browsing_data_cookie_helper_-> | |
765 AddCookieSamples(GURL("http://foo2"), "B=1"); | |
766 mock_browsing_data_cookie_helper_-> | |
767 AddCookieSamples(GURL("http://foo3"), "C=1"); | |
768 mock_browsing_data_cookie_helper_-> | |
769 AddCookieSamples(GURL("http://foo3"), "D=1"); | |
770 mock_browsing_data_cookie_helper_-> | |
771 AddCookieSamples(GURL("http://foo3"), "E=1"); | |
772 mock_browsing_data_cookie_helper_->Notify(); | |
773 | |
774 { | 789 { |
775 SCOPED_TRACE("Initial State 5 cookies"); | 790 SCOPED_TRACE("Initial State 5 cookies"); |
776 // 11 because there's the root, then foo1 -> cookies -> a, | 791 // 11 because there's the root, then foo1 -> cookies -> a, |
777 // foo2 -> cookies -> b, foo3 -> cookies -> c,d,e | 792 // foo2 -> cookies -> b, foo3 -> cookies -> c,d,e |
778 EXPECT_EQ(12, cookies_model.GetRoot()->GetTotalNodeCount()); | 793 EXPECT_EQ(12, cookies_model.GetRoot()->GetTotalNodeCount()); |
| 794 EXPECT_STREQ("A,B,C,D,E", GetMonsterCookies(monster).c_str()); |
779 EXPECT_STREQ("A,B,C,D,E", GetDisplayedCookies(&cookies_model).c_str()); | 795 EXPECT_STREQ("A,B,C,D,E", GetDisplayedCookies(&cookies_model).c_str()); |
780 } | 796 } |
781 DeleteStoredObjects(cookies_model.GetRoot()->GetChild(1)); | 797 DeleteStoredObjects(cookies_model.GetRoot()->GetChild(1)); |
782 { | 798 { |
783 SCOPED_TRACE("Second origin removed"); | 799 SCOPED_TRACE("Second origin removed"); |
| 800 EXPECT_STREQ("A,C,D,E", GetMonsterCookies(monster).c_str()); |
784 EXPECT_STREQ("A,C,D,E", GetDisplayedCookies(&cookies_model).c_str()); | 801 EXPECT_STREQ("A,C,D,E", GetDisplayedCookies(&cookies_model).c_str()); |
785 // Left with root -> foo1 -> cookies -> a, foo3 -> cookies -> c,d,e | 802 // Left with root -> foo1 -> cookies -> a, foo3 -> cookies -> c,d,e |
786 EXPECT_EQ(9, cookies_model.GetRoot()->GetTotalNodeCount()); | 803 EXPECT_EQ(9, cookies_model.GetRoot()->GetTotalNodeCount()); |
787 } | 804 } |
788 } | 805 } |
789 | 806 |
790 TEST_F(CookiesTreeModelTest, OriginOrdering) { | 807 TEST_F(CookiesTreeModelTest, OriginOrdering) { |
791 CookiesTreeModel cookies_model(mock_browsing_data_cookie_helper_, | 808 net::CookieMonster* monster = profile_->GetCookieMonster(); |
792 mock_browsing_data_database_helper_, | 809 monster->SetCookie(GURL("http://a.foo2.com"), "A=1"); |
793 mock_browsing_data_local_storage_helper_, | 810 monster->SetCookie(GURL("http://foo2.com"), "B=1"); |
794 mock_browsing_data_session_storage_helper_, | 811 monster->SetCookie(GURL("http://b.foo1.com"), "C=1"); |
795 mock_browsing_data_appcache_helper_, | 812 monster->SetCookie(GURL("http://foo4.com"), "D=1; domain=.foo4.com;" |
796 mock_browsing_data_indexed_db_helper_, | 813 " path=/;"); // Leading dot on the foo4 |
797 mock_browsing_data_file_system_helper_, | 814 monster->SetCookie(GURL("http://a.foo1.com"), "E=1"); |
798 false); | 815 monster->SetCookie(GURL("http://foo1.com"), "F=1"); |
799 mock_browsing_data_cookie_helper_-> | 816 monster->SetCookie(GURL("http://foo3.com"), "G=1"); |
800 AddCookieSamples(GURL("http://a.foo2.com"), "A=1"); | 817 monster->SetCookie(GURL("http://foo4.com"), "H=1"); |
801 mock_browsing_data_cookie_helper_-> | 818 |
802 AddCookieSamples(GURL("http://foo2.com"), "B=1"); | 819 CookiesTreeModel cookies_model(monster, |
803 mock_browsing_data_cookie_helper_-> | 820 new MockBrowsingDataDatabaseHelper(profile_.get()), |
804 AddCookieSamples(GURL("http://b.foo1.com"), "C=1"); | 821 new MockBrowsingDataLocalStorageHelper(profile_.get()), |
805 // Leading dot on the foo4 | 822 new MockBrowsingDataLocalStorageHelper(profile_.get()), |
806 mock_browsing_data_cookie_helper_->AddCookieSamples( | 823 new MockBrowsingDataAppCacheHelper(profile_.get()), |
807 GURL("http://foo4.com"), "D=1; domain=.foo4.com; path=/;"); | 824 new MockBrowsingDataIndexedDBHelper(profile_.get()), |
808 mock_browsing_data_cookie_helper_-> | 825 new MockBrowsingDataFileSystemHelper(profile_.get()), |
809 AddCookieSamples(GURL("http://a.foo1.com"), "E=1"); | 826 false); |
810 mock_browsing_data_cookie_helper_-> | |
811 AddCookieSamples(GURL("http://foo1.com"), "F=1"); | |
812 mock_browsing_data_cookie_helper_-> | |
813 AddCookieSamples(GURL("http://foo3.com"), "G=1"); | |
814 mock_browsing_data_cookie_helper_-> | |
815 AddCookieSamples(GURL("http://foo4.com"), "H=1"); | |
816 mock_browsing_data_cookie_helper_->Notify(); | |
817 | 827 |
818 { | 828 { |
819 SCOPED_TRACE("Initial State 8 cookies"); | 829 SCOPED_TRACE("Initial State 8 cookies"); |
820 EXPECT_EQ(23, cookies_model.GetRoot()->GetTotalNodeCount()); | 830 // CookieMonster orders cookies by pathlength, then by creation time. |
| 831 // All paths are length 1. |
| 832 EXPECT_STREQ("A,B,C,D,E,F,G,H", GetMonsterCookies(monster).c_str()); |
821 EXPECT_STREQ("F,E,C,B,A,G,D,H", | 833 EXPECT_STREQ("F,E,C,B,A,G,D,H", |
822 GetDisplayedCookies(&cookies_model).c_str()); | 834 GetDisplayedCookies(&cookies_model).c_str()); |
823 } | 835 } |
824 DeleteStoredObjects(cookies_model.GetRoot()->GetChild(1)); // Delete "E" | 836 DeleteStoredObjects(cookies_model.GetRoot()->GetChild(1)); // Delete "E" |
825 { | 837 { |
| 838 EXPECT_STREQ("A,B,C,D,F,G,H", GetMonsterCookies(monster).c_str()); |
826 EXPECT_STREQ("F,C,B,A,G,D,H", GetDisplayedCookies(&cookies_model).c_str()); | 839 EXPECT_STREQ("F,C,B,A,G,D,H", GetDisplayedCookies(&cookies_model).c_str()); |
827 } | 840 } |
828 } | 841 } |
829 | 842 |
830 TEST_F(CookiesTreeModelTest, ContentSettings) { | 843 TEST_F(CookiesTreeModelTest, ContentSettings) { |
831 GURL host("http://example.com/"); | 844 GURL host("http://example.com/"); |
832 CookiesTreeModel cookies_model(mock_browsing_data_cookie_helper_, | 845 net::CookieMonster* monster = profile_->GetCookieMonster(); |
833 mock_browsing_data_database_helper_, | 846 monster->SetCookie(host, "A=1"); |
834 mock_browsing_data_local_storage_helper_, | 847 |
835 mock_browsing_data_session_storage_helper_, | 848 CookiesTreeModel cookies_model(monster, |
836 mock_browsing_data_appcache_helper_, | 849 new MockBrowsingDataDatabaseHelper(profile_.get()), |
837 mock_browsing_data_indexed_db_helper_, | 850 new MockBrowsingDataLocalStorageHelper(profile_.get()), |
838 mock_browsing_data_file_system_helper_, | 851 new MockBrowsingDataLocalStorageHelper(profile_.get()), |
839 false); | 852 new MockBrowsingDataAppCacheHelper(profile_.get()), |
840 mock_browsing_data_cookie_helper_->AddCookieSamples(host, "A=1"); | 853 new MockBrowsingDataIndexedDBHelper(profile_.get()), |
841 mock_browsing_data_cookie_helper_->Notify(); | 854 new MockBrowsingDataFileSystemHelper(profile_.get()), |
| 855 false); |
842 | 856 |
843 TestingProfile profile; | 857 TestingProfile profile; |
844 HostContentSettingsMap* content_settings = | 858 HostContentSettingsMap* content_settings = |
845 profile.GetHostContentSettingsMap(); | 859 profile.GetHostContentSettingsMap(); |
846 MockSettingsObserver observer; | 860 MockSettingsObserver observer; |
847 | 861 |
848 CookieTreeRootNode* root = | 862 CookieTreeRootNode* root = |
849 static_cast<CookieTreeRootNode*>(cookies_model.GetRoot()); | 863 static_cast<CookieTreeRootNode*>(cookies_model.GetRoot()); |
850 CookieTreeOriginNode* origin = root->GetOrCreateOriginNode(host); | 864 CookieTreeOriginNode* origin = root->GetOrCreateOriginNode(host); |
851 | 865 |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
887 cookies_model->UpdateSearchResults(std::wstring(L"fshost3")); | 901 cookies_model->UpdateSearchResults(std::wstring(L"fshost3")); |
888 EXPECT_EQ("http://fshost3:3/", | 902 EXPECT_EQ("http://fshost3:3/", |
889 GetDisplayedFileSystems(cookies_model.get())); | 903 GetDisplayedFileSystems(cookies_model.get())); |
890 | 904 |
891 cookies_model->UpdateSearchResults(std::wstring()); | 905 cookies_model->UpdateSearchResults(std::wstring()); |
892 EXPECT_EQ("http://fshost1:1/,http://fshost2:2/,http://fshost3:3/", | 906 EXPECT_EQ("http://fshost1:1/,http://fshost2:2/,http://fshost3:3/", |
893 GetDisplayedFileSystems(cookies_model.get())); | 907 GetDisplayedFileSystems(cookies_model.get())); |
894 } | 908 } |
895 | 909 |
896 } // namespace | 910 } // namespace |
OLD | NEW |