Chromium Code Reviews| Index: chrome/browser/page_load_metrics/observers/resource_tracking_page_load_metrics_observer_unittest.cc |
| diff --git a/chrome/browser/page_load_metrics/observers/resource_tracking_page_load_metrics_observer_unittest.cc b/chrome/browser/page_load_metrics/observers/resource_tracking_page_load_metrics_observer_unittest.cc |
| index 73611a0e1356f36cb57b75fb400145631bba66c3..bc01fb4b83462db576887ff6e4903bf2bc48a809 100644 |
| --- a/chrome/browser/page_load_metrics/observers/resource_tracking_page_load_metrics_observer_unittest.cc |
| +++ b/chrome/browser/page_load_metrics/observers/resource_tracking_page_load_metrics_observer_unittest.cc |
| @@ -5,6 +5,8 @@ |
| #include "chrome/browser/page_load_metrics/observers/resource_tracking_page_load_metrics_observer.h" |
| #include "chrome/browser/page_load_metrics/observers/page_load_metrics_observer_test_harness.h" |
| +#include "components/offline_pages/core/background/resource_tracker_observer.h" |
| +#include "components/offline_pages/core/background/resource_tracker_observer_stub.h" |
| namespace { |
| const char kFakeUrl[] = "http://www.google.com/nothingotseehere.html"; |
| @@ -15,13 +17,17 @@ namespace page_load_metrics { |
| class ResourceTrackingPageLoadMetricsObserverTest |
| : public page_load_metrics::PageLoadMetricsObserverTestHarness { |
| public: |
| - ResourceTrackingPageLoadMetricsObserverTest() : observer_(nullptr) {} |
| + ResourceTrackingPageLoadMetricsObserverTest() |
| + : observer_(nullptr), |
| + resource_watcher_(new offline_pages::ResourceTrackerObserverStub) {} |
| + |
| + // FUTURE: If we ever override SetUp, ensure we call the base class SetUp. |
|
RyanSturm
2017/05/10 18:30:13
nit: I don't think this comment is necessary.
Pete Williamson
2017/05/10 19:00:52
Removed (I added it because it cost me a few hours
|
| protected: |
| void RegisterObservers(page_load_metrics::PageLoadTracker* tracker) override { |
| std::unique_ptr<page_load_metrics::ResourceTrackingPageLoadMetricsObserver> |
| - observer( |
| - new page_load_metrics::ResourceTrackingPageLoadMetricsObserver()); |
| + observer(new page_load_metrics::ResourceTrackingPageLoadMetricsObserver( |
| + resource_watcher())); |
| // Keep track of the observer pointer so we can check it in the unit test. |
| observer_ = observer.get(); |
| tracker->AddObserver(std::move(observer)); |
| @@ -31,10 +37,15 @@ class ResourceTrackingPageLoadMetricsObserverTest |
| return observer_; |
| } |
| + offline_pages::ResourceTrackerObserverStub* resource_watcher() { |
| + return resource_watcher_; |
| + } |
| + |
| private: |
| // observer_ is owned by the last created PageLoadTracker, and its lifetime is |
| // dictated by that tracker's lifetime. |
| page_load_metrics::ResourceTrackingPageLoadMetricsObserver* observer_; |
| + offline_pages::ResourceTrackerObserverStub* resource_watcher_; |
| }; |
| TEST_F(ResourceTrackingPageLoadMetricsObserverTest, StartAndFinish) { |
| @@ -70,6 +81,14 @@ TEST_F(ResourceTrackingPageLoadMetricsObserverTest, StartAndFinish) { |
| content::ResourceType::RESOURCE_TYPE_IMAGE, &started, &completed); |
| EXPECT_EQ(2, started); |
| EXPECT_EQ(1, completed); |
| + int64_t resource_watcher_started = -1; |
| + int64_t resource_watcher_completed = -1; |
| + ASSERT_NE(nullptr, resource_watcher()); |
| + resource_watcher()->GetResourcePercentageCounts( |
| + offline_pages::ResourceDataType::IMAGE, &resource_watcher_started, |
| + &resource_watcher_completed); |
| + EXPECT_EQ(2, resource_watcher_started); |
| + EXPECT_EQ(1, resource_watcher_completed); |
| } |
| } // namespace page_load_metrics |