Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(101)

Side by Side Diff: chrome/browser/net/http_server_properties_manager_unittest.cc

Issue 11238034: Added completion notification to Profile's ClearNetworkingHistorySince. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Final touches. Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "chrome/browser/net/http_server_properties_manager.h" 5 #include "chrome/browser/net/http_server_properties_manager.h"
6 6
7 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/message_loop.h" 8 #include "base/message_loop.h"
9 #include "base/test/mock_callback.h"
9 #include "base/values.h" 10 #include "base/values.h"
10 #include "chrome/common/pref_names.h" 11 #include "chrome/common/pref_names.h"
11 #include "chrome/test/base/testing_pref_service.h" 12 #include "chrome/test/base/testing_pref_service.h"
12 #include "content/public/test/test_browser_thread.h" 13 #include "content/public/test/test_browser_thread.h"
13 #include "googleurl/src/gurl.h" 14 #include "googleurl/src/gurl.h"
14 #include "testing/gmock/include/gmock/gmock.h" 15 #include "testing/gmock/include/gmock/gmock.h"
15 #include "testing/gtest/include/gtest/gtest.h" 16 #include "testing/gtest/include/gtest/gtest.h"
16 17
17 namespace chrome_browser_net { 18 namespace chrome_browser_net {
18 19
(...skipping 28 matching lines...) Expand all
47 void UpdateCacheFromPrefsOnUIConcrete() { 48 void UpdateCacheFromPrefsOnUIConcrete() {
48 HttpServerPropertiesManager::UpdateCacheFromPrefsOnUI(); 49 HttpServerPropertiesManager::UpdateCacheFromPrefsOnUI();
49 } 50 }
50 51
51 // Post tasks without a delay during tests. 52 // Post tasks without a delay during tests.
52 virtual void StartCacheUpdateTimerOnUI(base::TimeDelta delay) OVERRIDE { 53 virtual void StartCacheUpdateTimerOnUI(base::TimeDelta delay) OVERRIDE {
53 HttpServerPropertiesManager::StartCacheUpdateTimerOnUI( 54 HttpServerPropertiesManager::StartCacheUpdateTimerOnUI(
54 base::TimeDelta()); 55 base::TimeDelta());
55 } 56 }
56 57
57 void UpdatePrefsFromCacheOnIOConcrete() { 58 void UpdatePrefsFromCacheOnIOConcrete(const base::Closure& callback) {
58 HttpServerPropertiesManager::UpdatePrefsFromCacheOnIO(); 59 HttpServerPropertiesManager::UpdatePrefsFromCacheOnIO(callback);
59 } 60 }
60 61
61 MOCK_METHOD0(UpdateCacheFromPrefsOnUI, void()); 62 MOCK_METHOD0(UpdateCacheFromPrefsOnUI, void());
62 MOCK_METHOD0(UpdatePrefsFromCacheOnIO, void()); 63 MOCK_METHOD1(UpdatePrefsFromCacheOnIO, void(const base::Closure&));
63 MOCK_METHOD5(UpdateCacheFromPrefsOnIO, 64 MOCK_METHOD5(UpdateCacheFromPrefsOnIO,
64 void(std::vector<std::string>* spdy_servers, 65 void(std::vector<std::string>* spdy_servers,
65 net::SpdySettingsMap* spdy_settings_map, 66 net::SpdySettingsMap* spdy_settings_map,
66 net::AlternateProtocolMap* alternate_protocol_map, 67 net::AlternateProtocolMap* alternate_protocol_map,
67 net::PipelineCapabilityMap* pipeline_capability_map, 68 net::PipelineCapabilityMap* pipeline_capability_map,
68 bool detected_corrupted_prefs)); 69 bool detected_corrupted_prefs));
69 MOCK_METHOD4(UpdatePrefsOnUI, 70 MOCK_METHOD4(UpdatePrefsOnUI,
70 void(base::ListValue* spdy_server_list, 71 void(base::ListValue* spdy_server_list,
71 net::SpdySettingsMap* spdy_settings_map, 72 net::SpdySettingsMap* spdy_settings_map,
72 net::AlternateProtocolMap* alternate_protocol_map, 73 net::AlternateProtocolMap* alternate_protocol_map,
(...skipping 29 matching lines...) Expand all
102 103
103 void ExpectCacheUpdate() { 104 void ExpectCacheUpdate() {
104 EXPECT_CALL(*http_server_props_manager_, UpdateCacheFromPrefsOnUI()) 105 EXPECT_CALL(*http_server_props_manager_, UpdateCacheFromPrefsOnUI())
105 .WillOnce( 106 .WillOnce(
106 Invoke(http_server_props_manager_.get(), 107 Invoke(http_server_props_manager_.get(),
107 &TestingHttpServerPropertiesManager:: 108 &TestingHttpServerPropertiesManager::
108 UpdateCacheFromPrefsOnUIConcrete)); 109 UpdateCacheFromPrefsOnUIConcrete));
109 } 110 }
110 111
111 void ExpectPrefsUpdate() { 112 void ExpectPrefsUpdate() {
112 EXPECT_CALL(*http_server_props_manager_, UpdatePrefsFromCacheOnIO()) 113 EXPECT_CALL(*http_server_props_manager_, UpdatePrefsFromCacheOnIO(_))
113 .WillOnce( 114 .WillOnce(
114 Invoke(http_server_props_manager_.get(), 115 Invoke(http_server_props_manager_.get(),
115 &TestingHttpServerPropertiesManager:: 116 &TestingHttpServerPropertiesManager::
116 UpdatePrefsFromCacheOnIOConcrete)); 117 UpdatePrefsFromCacheOnIOConcrete));
117 } 118 }
118 119
119 MessageLoop loop_; 120 MessageLoop loop_;
120 TestingPrefService pref_service_; 121 TestingPrefService pref_service_;
121 scoped_ptr<TestingHttpServerPropertiesManager> http_server_props_manager_; 122 scoped_ptr<TestingHttpServerPropertiesManager> http_server_props_manager_;
122 123
(...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after
346 net::SettingsFlagsAndValue flags_and_value1_ret = it1_ret->second; 347 net::SettingsFlagsAndValue flags_and_value1_ret = it1_ret->second;
347 EXPECT_EQ(net::SETTINGS_FLAG_PERSISTED, flags_and_value1_ret.first); 348 EXPECT_EQ(net::SETTINGS_FLAG_PERSISTED, flags_and_value1_ret.first);
348 EXPECT_EQ(value1, flags_and_value1_ret.second); 349 EXPECT_EQ(value1, flags_and_value1_ret.second);
349 350
350 EXPECT_EQ(net::PIPELINE_CAPABLE, 351 EXPECT_EQ(net::PIPELINE_CAPABLE,
351 http_server_props_manager_->GetPipelineCapability(known_pipeliner)); 352 http_server_props_manager_->GetPipelineCapability(known_pipeliner));
352 353
353 Mock::VerifyAndClearExpectations(http_server_props_manager_.get()); 354 Mock::VerifyAndClearExpectations(http_server_props_manager_.get());
354 355
355 ExpectPrefsUpdate(); 356 ExpectPrefsUpdate();
357
356 // Clear http server data. 358 // Clear http server data.
357 http_server_props_manager_->Clear(); 359 http_server_props_manager_->Clear(base::NewExpectedClosure());
358 360
359 // Run the task. 361 // Run the task.
360 loop_.RunAllPending(); 362 loop_.RunAllPending();
361 363
362 EXPECT_FALSE(http_server_props_manager_->SupportsSpdy(spdy_server_mail)); 364 EXPECT_FALSE(http_server_props_manager_->SupportsSpdy(spdy_server_mail));
363 EXPECT_FALSE( 365 EXPECT_FALSE(
364 http_server_props_manager_->HasAlternateProtocol(spdy_server_mail)); 366 http_server_props_manager_->HasAlternateProtocol(spdy_server_mail));
365 367
366 const net::SettingsMap& settings_map2_ret = 368 const net::SettingsMap& settings_map2_ret =
367 http_server_props_manager_->GetSpdySettings(spdy_server_mail); 369 http_server_props_manager_->GetSpdySettings(spdy_server_mail);
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
427 http_server_props_manager_->ShutdownOnUIThread(); 429 http_server_props_manager_->ShutdownOnUIThread();
428 // Run the task after shutdown, but before deletion. 430 // Run the task after shutdown, but before deletion.
429 loop_.RunAllPending(); 431 loop_.RunAllPending();
430 Mock::VerifyAndClearExpectations(http_server_props_manager_.get()); 432 Mock::VerifyAndClearExpectations(http_server_props_manager_.get());
431 http_server_props_manager_.reset(); 433 http_server_props_manager_.reset();
432 loop_.RunAllPending(); 434 loop_.RunAllPending();
433 } 435 }
434 436
435 TEST_F(HttpServerPropertiesManagerTest, ShutdownWithPendingUpdatePrefs2) { 437 TEST_F(HttpServerPropertiesManagerTest, ShutdownWithPendingUpdatePrefs2) {
436 // This posts a task to the UI thread. 438 // This posts a task to the UI thread.
437 http_server_props_manager_->UpdatePrefsFromCacheOnIOConcrete(); 439 http_server_props_manager_->UpdatePrefsFromCacheOnIOConcrete(base::Closure());
438 // Shutdown comes before the task is executed. 440 // Shutdown comes before the task is executed.
439 http_server_props_manager_->ShutdownOnUIThread(); 441 http_server_props_manager_->ShutdownOnUIThread();
440 // Run the task after shutdown, but before deletion. 442 // Run the task after shutdown, but before deletion.
441 loop_.RunAllPending(); 443 loop_.RunAllPending();
442 Mock::VerifyAndClearExpectations(http_server_props_manager_.get()); 444 Mock::VerifyAndClearExpectations(http_server_props_manager_.get());
443 http_server_props_manager_.reset(); 445 http_server_props_manager_.reset();
444 loop_.RunAllPending(); 446 loop_.RunAllPending();
445 } 447 }
446 448
447 } // namespace 449 } // namespace
448 450
449 } // namespace chrome_browser_net 451 } // namespace chrome_browser_net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698