| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "components/offline_pages/offline_page_metadata_store_impl.h" | 5 #include "components/offline_pages/offline_page_metadata_store_impl.h" |
| 6 | 6 |
| 7 #include <stdint.h> | 7 #include <stdint.h> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/files/file_path.h" | 10 #include "base/files/file_path.h" |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 78 } | 78 } |
| 79 | 79 |
| 80 scoped_ptr<OfflinePageMetadataStoreImpl> | 80 scoped_ptr<OfflinePageMetadataStoreImpl> |
| 81 OfflinePageMetadataStoreImplTest::BuildStore() { | 81 OfflinePageMetadataStoreImplTest::BuildStore() { |
| 82 scoped_ptr<OfflinePageMetadataStoreImpl> store( | 82 scoped_ptr<OfflinePageMetadataStoreImpl> store( |
| 83 new OfflinePageMetadataStoreImpl(base::ThreadTaskRunnerHandle::Get(), | 83 new OfflinePageMetadataStoreImpl(base::ThreadTaskRunnerHandle::Get(), |
| 84 temp_directory_.path())); | 84 temp_directory_.path())); |
| 85 store->Load(base::Bind(&OfflinePageMetadataStoreImplTest::LoadCallback, | 85 store->Load(base::Bind(&OfflinePageMetadataStoreImplTest::LoadCallback, |
| 86 base::Unretained(this))); | 86 base::Unretained(this))); |
| 87 PumpLoop(); | 87 PumpLoop(); |
| 88 return store.Pass(); | 88 return store; |
| 89 } | 89 } |
| 90 | 90 |
| 91 void OfflinePageMetadataStoreImplTest::LoadCallback( | 91 void OfflinePageMetadataStoreImplTest::LoadCallback( |
| 92 OfflinePageMetadataStore::LoadStatus load_status, | 92 OfflinePageMetadataStore::LoadStatus load_status, |
| 93 const std::vector<OfflinePageItem>& offline_pages) { | 93 const std::vector<OfflinePageItem>& offline_pages) { |
| 94 last_called_callback_ = LOAD; | 94 last_called_callback_ = LOAD; |
| 95 last_status_ = load_status == OfflinePageMetadataStore::LOAD_SUCCEEDED ? | 95 last_status_ = load_status == OfflinePageMetadataStore::LOAD_SUCCEEDED ? |
| 96 STATUS_TRUE : STATUS_FALSE; | 96 STATUS_TRUE : STATUS_FALSE; |
| 97 offline_pages_.swap(const_cast<std::vector<OfflinePageItem>&>(offline_pages)); | 97 offline_pages_.swap(const_cast<std::vector<OfflinePageItem>&>(offline_pages)); |
| 98 } | 98 } |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 131 base::Bind(&OfflinePageMetadataStoreImplTest::UpdateCallback, | 131 base::Bind(&OfflinePageMetadataStoreImplTest::UpdateCallback, |
| 132 base::Unretained(this), ADD)); | 132 base::Unretained(this), ADD)); |
| 133 PumpLoop(); | 133 PumpLoop(); |
| 134 EXPECT_EQ(ADD, last_called_callback_); | 134 EXPECT_EQ(ADD, last_called_callback_); |
| 135 EXPECT_EQ(STATUS_TRUE, last_status_); | 135 EXPECT_EQ(STATUS_TRUE, last_status_); |
| 136 | 136 |
| 137 ClearResults(); | 137 ClearResults(); |
| 138 | 138 |
| 139 // Close the store first to ensure file lock is removed. | 139 // Close the store first to ensure file lock is removed. |
| 140 store.reset(); | 140 store.reset(); |
| 141 store = BuildStore().Pass(); | 141 store = BuildStore(); |
| 142 PumpLoop(); | 142 PumpLoop(); |
| 143 | 143 |
| 144 EXPECT_EQ(LOAD, last_called_callback_); | 144 EXPECT_EQ(LOAD, last_called_callback_); |
| 145 EXPECT_EQ(STATUS_TRUE, last_status_); | 145 EXPECT_EQ(STATUS_TRUE, last_status_); |
| 146 EXPECT_EQ(1U, offline_pages_.size()); | 146 EXPECT_EQ(1U, offline_pages_.size()); |
| 147 EXPECT_EQ(offline_page.url, offline_pages_[0].url); | 147 EXPECT_EQ(offline_page.url, offline_pages_[0].url); |
| 148 EXPECT_EQ(offline_page.bookmark_id, offline_pages_[0].bookmark_id); | 148 EXPECT_EQ(offline_page.bookmark_id, offline_pages_[0].bookmark_id); |
| 149 EXPECT_EQ(offline_page.version, offline_pages_[0].version); | 149 EXPECT_EQ(offline_page.version, offline_pages_[0].version); |
| 150 EXPECT_EQ(offline_page.file_path, offline_pages_[0].file_path); | 150 EXPECT_EQ(offline_page.file_path, offline_pages_[0].file_path); |
| 151 EXPECT_EQ(offline_page.file_size, offline_pages_[0].file_size); | 151 EXPECT_EQ(offline_page.file_size, offline_pages_[0].file_size); |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 196 store->Load(base::Bind(&OfflinePageMetadataStoreImplTest::LoadCallback, | 196 store->Load(base::Bind(&OfflinePageMetadataStoreImplTest::LoadCallback, |
| 197 base::Unretained(this))); | 197 base::Unretained(this))); |
| 198 PumpLoop(); | 198 PumpLoop(); |
| 199 EXPECT_EQ(LOAD, last_called_callback_); | 199 EXPECT_EQ(LOAD, last_called_callback_); |
| 200 EXPECT_EQ(0U, offline_pages_.size()); | 200 EXPECT_EQ(0U, offline_pages_.size()); |
| 201 | 201 |
| 202 ClearResults(); | 202 ClearResults(); |
| 203 | 203 |
| 204 // Close and reload the store. | 204 // Close and reload the store. |
| 205 store.reset(); | 205 store.reset(); |
| 206 store = BuildStore().Pass(); | 206 store = BuildStore(); |
| 207 EXPECT_EQ(LOAD, last_called_callback_); | 207 EXPECT_EQ(LOAD, last_called_callback_); |
| 208 EXPECT_EQ(STATUS_TRUE, last_status_); | 208 EXPECT_EQ(STATUS_TRUE, last_status_); |
| 209 EXPECT_EQ(0U, offline_pages_.size()); | 209 EXPECT_EQ(0U, offline_pages_.size()); |
| 210 } | 210 } |
| 211 | 211 |
| 212 // Adds metadata of multiple offline pages into a store and removes some. | 212 // Adds metadata of multiple offline pages into a store and removes some. |
| 213 TEST_F(OfflinePageMetadataStoreImplTest, AddRemoveMultipleOfflinePages) { | 213 TEST_F(OfflinePageMetadataStoreImplTest, AddRemoveMultipleOfflinePages) { |
| 214 scoped_ptr<OfflinePageMetadataStoreImpl> store(BuildStore()); | 214 scoped_ptr<OfflinePageMetadataStoreImpl> store(BuildStore()); |
| 215 | 215 |
| 216 // Add an offline page. | 216 // Add an offline page. |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 258 base::Bind(&OfflinePageMetadataStoreImplTest::UpdateCallback, | 258 base::Bind(&OfflinePageMetadataStoreImplTest::UpdateCallback, |
| 259 base::Unretained(this), REMOVE)); | 259 base::Unretained(this), REMOVE)); |
| 260 PumpLoop(); | 260 PumpLoop(); |
| 261 EXPECT_EQ(REMOVE, last_called_callback_); | 261 EXPECT_EQ(REMOVE, last_called_callback_); |
| 262 EXPECT_EQ(STATUS_TRUE, last_status_); | 262 EXPECT_EQ(STATUS_TRUE, last_status_); |
| 263 | 263 |
| 264 ClearResults(); | 264 ClearResults(); |
| 265 | 265 |
| 266 // Close and reload the store. | 266 // Close and reload the store. |
| 267 store.reset(); | 267 store.reset(); |
| 268 store = BuildStore().Pass(); | 268 store = BuildStore(); |
| 269 store->Load(base::Bind(&OfflinePageMetadataStoreImplTest::LoadCallback, | 269 store->Load(base::Bind(&OfflinePageMetadataStoreImplTest::LoadCallback, |
| 270 base::Unretained(this))); | 270 base::Unretained(this))); |
| 271 PumpLoop(); | 271 PumpLoop(); |
| 272 | 272 |
| 273 EXPECT_EQ(LOAD, last_called_callback_); | 273 EXPECT_EQ(LOAD, last_called_callback_); |
| 274 EXPECT_EQ(STATUS_TRUE, last_status_); | 274 EXPECT_EQ(STATUS_TRUE, last_status_); |
| 275 EXPECT_EQ(1U, offline_pages_.size()); | 275 EXPECT_EQ(1U, offline_pages_.size()); |
| 276 EXPECT_EQ(offline_page_2.url, offline_pages_[0].url); | 276 EXPECT_EQ(offline_page_2.url, offline_pages_[0].url); |
| 277 EXPECT_EQ(offline_page_2.bookmark_id, offline_pages_[0].bookmark_id); | 277 EXPECT_EQ(offline_page_2.bookmark_id, offline_pages_[0].bookmark_id); |
| 278 EXPECT_EQ(offline_page_2.version, offline_pages_[0].version); | 278 EXPECT_EQ(offline_page_2.version, offline_pages_[0].version); |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 341 EXPECT_EQ(offline_page.file_path, offline_pages_[0].file_path); | 341 EXPECT_EQ(offline_page.file_path, offline_pages_[0].file_path); |
| 342 EXPECT_EQ(offline_page.file_size, offline_pages_[0].file_size); | 342 EXPECT_EQ(offline_page.file_size, offline_pages_[0].file_size); |
| 343 EXPECT_EQ(offline_page.creation_time, offline_pages_[0].creation_time); | 343 EXPECT_EQ(offline_page.creation_time, offline_pages_[0].creation_time); |
| 344 EXPECT_EQ(offline_page.last_access_time, offline_pages_[0].last_access_time); | 344 EXPECT_EQ(offline_page.last_access_time, offline_pages_[0].last_access_time); |
| 345 EXPECT_EQ(offline_page.access_count, offline_pages_[0].access_count); | 345 EXPECT_EQ(offline_page.access_count, offline_pages_[0].access_count); |
| 346 } | 346 } |
| 347 | 347 |
| 348 } // namespace | 348 } // namespace |
| 349 | 349 |
| 350 } // namespace offline_pages | 350 } // namespace offline_pages |
| OLD | NEW |