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 |