OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/dom_distiller/core/task_tracker.h" | 5 #include "components/dom_distiller/core/task_tracker.h" |
6 | 6 |
7 #include "base/run_loop.h" | 7 #include "base/run_loop.h" |
8 #include "components/dom_distiller/core/article_distillation_update.h" | 8 #include "components/dom_distiller/core/article_distillation_update.h" |
9 #include "components/dom_distiller/core/article_entry.h" | 9 #include "components/dom_distiller/core/article_entry.h" |
10 #include "components/dom_distiller/core/distilled_content_store.h" | 10 #include "components/dom_distiller/core/distilled_content_store.h" |
(...skipping 10 matching lines...) Expand all Loading... |
21 public: | 21 public: |
22 virtual ~FakeViewRequestDelegate() {} | 22 virtual ~FakeViewRequestDelegate() {} |
23 MOCK_METHOD1(OnArticleReady, | 23 MOCK_METHOD1(OnArticleReady, |
24 void(const DistilledArticleProto* article_proto)); | 24 void(const DistilledArticleProto* article_proto)); |
25 MOCK_METHOD1(OnArticleUpdated, | 25 MOCK_METHOD1(OnArticleUpdated, |
26 void(ArticleDistillationUpdate article_update)); | 26 void(ArticleDistillationUpdate article_update)); |
27 }; | 27 }; |
28 | 28 |
29 class MockContentStore : public DistilledContentStore { | 29 class MockContentStore : public DistilledContentStore { |
30 public: | 30 public: |
31 MOCK_CONST_METHOD2(LoadContent, | 31 MOCK_METHOD2(LoadContent, |
32 void(const ArticleEntry& entry, LoadCallback callback)); | 32 void(const ArticleEntry& entry, LoadCallback callback)); |
33 MOCK_METHOD3(SaveContent, | 33 MOCK_METHOD3(SaveContent, |
34 void(const ArticleEntry& entry, | 34 void(const ArticleEntry& entry, |
35 const DistilledArticleProto& proto, | 35 const DistilledArticleProto& proto, |
36 SaveCallback callback)); | 36 SaveCallback callback)); |
37 }; | 37 }; |
38 | 38 |
39 class TestCancelCallback { | 39 class TestCancelCallback { |
40 public: | 40 public: |
41 TestCancelCallback() : cancelled_(false) {} | 41 TestCancelCallback() : cancelled_(false) {} |
42 TaskTracker::CancelCallback GetCallback() { | 42 TaskTracker::CancelCallback GetCallback() { |
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
191 page->set_url(entry.pages(i).url()); | 191 page->set_url(entry.pages(i).url()); |
192 page->set_html("<div>" + entry.pages(i).url() + "</div>"); | 192 page->set_html("<div>" + entry.pages(i).url() + "</div>"); |
193 } | 193 } |
194 return article; | 194 return article; |
195 } | 195 } |
196 | 196 |
197 TEST_F(DomDistillerTaskTrackerTest, TestBlobFetcher) { | 197 TEST_F(DomDistillerTaskTrackerTest, TestBlobFetcher) { |
198 ArticleEntry entry_with_blob = GetDefaultEntry(); | 198 ArticleEntry entry_with_blob = GetDefaultEntry(); |
199 DistilledArticleProto stored_distilled_article = | 199 DistilledArticleProto stored_distilled_article = |
200 CreateDistilledArticleForEntry(entry_with_blob); | 200 CreateDistilledArticleForEntry(entry_with_blob); |
201 InMemoryContentStore content_store; | 201 InMemoryContentStore content_store(kDefaultMaxNumCachedEntries); |
202 content_store.InjectContent(entry_with_blob, stored_distilled_article); | 202 content_store.InjectContent(entry_with_blob, stored_distilled_article); |
203 TestCancelCallback cancel_callback; | 203 TestCancelCallback cancel_callback; |
204 | 204 |
205 TaskTracker task_tracker( | 205 TaskTracker task_tracker( |
206 entry_with_blob, cancel_callback.GetCallback(), &content_store); | 206 entry_with_blob, cancel_callback.GetCallback(), &content_store); |
207 | 207 |
208 FakeViewRequestDelegate viewer_delegate; | 208 FakeViewRequestDelegate viewer_delegate; |
209 scoped_ptr<ViewerHandle> handle(task_tracker.AddViewer(&viewer_delegate)); | 209 scoped_ptr<ViewerHandle> handle(task_tracker.AddViewer(&viewer_delegate)); |
210 base::RunLoop().RunUntilIdle(); | 210 base::RunLoop().RunUntilIdle(); |
211 | 211 |
(...skipping 13 matching lines...) Expand all Loading... |
225 | 225 |
226 TEST_F(DomDistillerTaskTrackerTest, TestBlobFetcherFinishesFirst) { | 226 TEST_F(DomDistillerTaskTrackerTest, TestBlobFetcherFinishesFirst) { |
227 MockDistillerFactory distiller_factory; | 227 MockDistillerFactory distiller_factory; |
228 FakeDistiller* distiller = new FakeDistiller(false); | 228 FakeDistiller* distiller = new FakeDistiller(false); |
229 EXPECT_CALL(distiller_factory, CreateDistillerImpl()) | 229 EXPECT_CALL(distiller_factory, CreateDistillerImpl()) |
230 .WillOnce(Return(distiller)); | 230 .WillOnce(Return(distiller)); |
231 | 231 |
232 ArticleEntry entry_with_blob = GetDefaultEntry(); | 232 ArticleEntry entry_with_blob = GetDefaultEntry(); |
233 DistilledArticleProto stored_distilled_article = | 233 DistilledArticleProto stored_distilled_article = |
234 CreateDistilledArticleForEntry(entry_with_blob); | 234 CreateDistilledArticleForEntry(entry_with_blob); |
235 InMemoryContentStore content_store; | 235 InMemoryContentStore content_store(kDefaultMaxNumCachedEntries); |
236 content_store.InjectContent(entry_with_blob, stored_distilled_article); | 236 content_store.InjectContent(entry_with_blob, stored_distilled_article); |
237 TestCancelCallback cancel_callback; | 237 TestCancelCallback cancel_callback; |
238 TaskTracker task_tracker( | 238 TaskTracker task_tracker( |
239 entry_with_blob, cancel_callback.GetCallback(), &content_store); | 239 entry_with_blob, cancel_callback.GetCallback(), &content_store); |
240 | 240 |
241 FakeViewRequestDelegate viewer_delegate; | 241 FakeViewRequestDelegate viewer_delegate; |
242 scoped_ptr<ViewerHandle> handle(task_tracker.AddViewer(&viewer_delegate)); | 242 scoped_ptr<ViewerHandle> handle(task_tracker.AddViewer(&viewer_delegate)); |
243 base::RunLoop().RunUntilIdle(); | 243 base::RunLoop().RunUntilIdle(); |
244 | 244 |
245 DistilledArticleProto distilled_article; | 245 DistilledArticleProto distilled_article; |
(...skipping 18 matching lines...) Expand all Loading... |
264 base::RunLoop().RunUntilIdle(); | 264 base::RunLoop().RunUntilIdle(); |
265 } | 265 } |
266 | 266 |
267 TEST_F(DomDistillerTaskTrackerTest, TestBlobFetcherWithoutBlob) { | 267 TEST_F(DomDistillerTaskTrackerTest, TestBlobFetcherWithoutBlob) { |
268 MockDistillerFactory distiller_factory; | 268 MockDistillerFactory distiller_factory; |
269 FakeDistiller* distiller = new FakeDistiller(false); | 269 FakeDistiller* distiller = new FakeDistiller(false); |
270 EXPECT_CALL(distiller_factory, CreateDistillerImpl()) | 270 EXPECT_CALL(distiller_factory, CreateDistillerImpl()) |
271 .WillOnce(Return(distiller)); | 271 .WillOnce(Return(distiller)); |
272 | 272 |
273 ArticleEntry entry(GetDefaultEntry()); | 273 ArticleEntry entry(GetDefaultEntry()); |
274 InMemoryContentStore content_store; | 274 InMemoryContentStore content_store(kDefaultMaxNumCachedEntries); |
275 scoped_ptr<DistilledArticleProto> distilled_article( | 275 scoped_ptr<DistilledArticleProto> distilled_article( |
276 new DistilledArticleProto(CreateDistilledArticleForEntry(entry))); | 276 new DistilledArticleProto(CreateDistilledArticleForEntry(entry))); |
277 | 277 |
278 TestCancelCallback cancel_callback; | 278 TestCancelCallback cancel_callback; |
279 TaskTracker task_tracker( | 279 TaskTracker task_tracker( |
280 GetDefaultEntry(), cancel_callback.GetCallback(), &content_store); | 280 GetDefaultEntry(), cancel_callback.GetCallback(), &content_store); |
281 | 281 |
282 FakeViewRequestDelegate viewer_delegate; | 282 FakeViewRequestDelegate viewer_delegate; |
283 scoped_ptr<ViewerHandle> handle(task_tracker.AddViewer(&viewer_delegate)); | 283 scoped_ptr<ViewerHandle> handle(task_tracker.AddViewer(&viewer_delegate)); |
284 base::RunLoop().RunUntilIdle(); | 284 base::RunLoop().RunUntilIdle(); |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
369 new DistilledArticleProto(distilled_article))); | 369 new DistilledArticleProto(distilled_article))); |
370 base::RunLoop().RunUntilIdle(); | 370 base::RunLoop().RunUntilIdle(); |
371 | 371 |
372 ASSERT_EQ(stored_distilled_article.SerializeAsString(), | 372 ASSERT_EQ(stored_distilled_article.SerializeAsString(), |
373 distilled_article.SerializeAsString()); | 373 distilled_article.SerializeAsString()); |
374 EXPECT_FALSE(cancel_callback.Cancelled()); | 374 EXPECT_FALSE(cancel_callback.Cancelled()); |
375 } | 375 } |
376 | 376 |
377 } // namespace test | 377 } // namespace test |
378 } // namespace dom_distiller | 378 } // namespace dom_distiller |
OLD | NEW |