Chromium Code Reviews| Index: chrome/browser/prerender/prerender_unittest.cc |
| diff --git a/chrome/browser/prerender/prerender_unittest.cc b/chrome/browser/prerender/prerender_unittest.cc |
| index be3bfa0e35b69dbc139614fb9a7b89b77756182d..86c038ae09f657679a9bb9fdc4e02df5ca3e8e6c 100644 |
| --- a/chrome/browser/prerender/prerender_unittest.cc |
| +++ b/chrome/browser/prerender/prerender_unittest.cc |
| @@ -96,6 +96,22 @@ class DummyPrerenderContents : public PrerenderContents { |
| FinalStatus expected_final_status_; |
| }; |
| +class TestPrerenderHandleObserver |
|
pasko-google - do not use
2017/02/22 13:32:44
Can we have a more specialized name like NetworkBy
Dmitry Titov
2017/02/23 04:27:54
Done.
|
| + : public prerender::PrerenderHandle::Observer { |
| + public: |
| + void OnPrerenderStart(PrerenderHandle* prerender_handle) override {} |
| + void OnPrerenderStopLoading(PrerenderHandle* prerender_handle) override {} |
| + void OnPrerenderDomContentLoaded(PrerenderHandle* prerender_handle) override { |
| + } |
| + void OnPrerenderStop(PrerenderHandle* prerender_handle) override {} |
| + void OnPrerenderNetworkBytesChanged( |
| + PrerenderHandle* prerender_handle) override { |
| + network_bytes_changed = true; |
|
pasko-google - do not use
2017/02/22 13:32:44
even though it is a simple class, let's follow the
Dmitry Titov
2017/02/23 04:27:54
Done.
|
| + } |
| + |
| + bool network_bytes_changed = false; |
|
pasko-google - do not use
2017/02/22 13:32:44
member initializers outside constructors are allow
Dmitry Titov
2017/02/23 04:27:55
Done.
|
| +}; |
| + |
| int DummyPrerenderContents::g_next_route_id_ = 0; |
| const gfx::Size kSize(640, 480); |
| @@ -1999,4 +2015,20 @@ TEST_F(PrerenderTest, PrerenderContentsIsValidHttpMethod) { |
| EXPECT_FALSE(prerender_contents->IsValidHttpMethod("WHATEVER")); |
| } |
| +TEST_F(PrerenderTest, PrerenderContentsIncrementsByteCount) { |
| + GURL url("http://www.google.com/"); |
| + DummyPrerenderContents* prerender_contents = nullptr; |
| + prerender_contents = prerender_manager()->CreateNextPrerenderContents( |
| + url, ORIGIN_OFFLINE, FINAL_STATUS_MANAGER_SHUTDOWN); |
| + std::unique_ptr<PrerenderHandle> prerender_handle = |
| + prerender_manager()->AddPrerenderForOffline(url, nullptr, kSize); |
| + |
| + TestPrerenderHandleObserver observer; |
| + prerender_handle->SetObserver(&observer); |
| + |
| + prerender_contents->AddNetworkBytes(12); |
| + EXPECT_TRUE(observer.network_bytes_changed); |
| + EXPECT_EQ(12, prerender_contents->network_bytes()); |
| +} |
| + |
| } // namespace prerender |