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

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: Fixed IO/UI typo and rebased. 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/values.h" 9 #include "base/values.h"
10 #include "chrome/common/pref_names.h" 10 #include "chrome/common/pref_names.h"
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
47 void UpdateCacheFromPrefsOnUIConcrete() { 47 void UpdateCacheFromPrefsOnUIConcrete() {
48 HttpServerPropertiesManager::UpdateCacheFromPrefsOnUI(); 48 HttpServerPropertiesManager::UpdateCacheFromPrefsOnUI();
49 } 49 }
50 50
51 // Post tasks without a delay during tests. 51 // Post tasks without a delay during tests.
52 virtual void StartCacheUpdateTimerOnUI(base::TimeDelta delay) OVERRIDE { 52 virtual void StartCacheUpdateTimerOnUI(base::TimeDelta delay) OVERRIDE {
53 HttpServerPropertiesManager::StartCacheUpdateTimerOnUI( 53 HttpServerPropertiesManager::StartCacheUpdateTimerOnUI(
54 base::TimeDelta()); 54 base::TimeDelta());
55 } 55 }
56 56
57 void UpdatePrefsFromCacheOnIOConcrete() { 57 void UpdatePrefsFromCacheOnIOConcrete(const base::Closure& callback) {
58 HttpServerPropertiesManager::UpdatePrefsFromCacheOnIO(); 58 HttpServerPropertiesManager::UpdatePrefsFromCacheOnIO(callback);
59 } 59 }
60 60
61 MOCK_METHOD0(UpdateCacheFromPrefsOnUI, void()); 61 MOCK_METHOD0(UpdateCacheFromPrefsOnUI, void());
62 MOCK_METHOD0(UpdatePrefsFromCacheOnIO, void()); 62 MOCK_METHOD1(UpdatePrefsFromCacheOnIO, void(const base::Closure&));
63 MOCK_METHOD5(UpdateCacheFromPrefsOnIO, 63 MOCK_METHOD5(UpdateCacheFromPrefsOnIO,
64 void(std::vector<std::string>* spdy_servers, 64 void(std::vector<std::string>* spdy_servers,
65 net::SpdySettingsMap* spdy_settings_map, 65 net::SpdySettingsMap* spdy_settings_map,
66 net::AlternateProtocolMap* alternate_protocol_map, 66 net::AlternateProtocolMap* alternate_protocol_map,
67 net::PipelineCapabilityMap* pipeline_capability_map, 67 net::PipelineCapabilityMap* pipeline_capability_map,
68 bool detected_corrupted_prefs)); 68 bool detected_corrupted_prefs));
69 MOCK_METHOD4(UpdatePrefsOnUI, 69 MOCK_METHOD4(UpdatePrefsOnUI,
70 void(base::ListValue* spdy_server_list, 70 void(base::ListValue* spdy_server_list,
71 net::SpdySettingsMap* spdy_settings_map, 71 net::SpdySettingsMap* spdy_settings_map,
72 net::AlternateProtocolMap* alternate_protocol_map, 72 net::AlternateProtocolMap* alternate_protocol_map,
(...skipping 29 matching lines...) Expand all
102 102
103 void ExpectCacheUpdate() { 103 void ExpectCacheUpdate() {
104 EXPECT_CALL(*http_server_props_manager_, UpdateCacheFromPrefsOnUI()) 104 EXPECT_CALL(*http_server_props_manager_, UpdateCacheFromPrefsOnUI())
105 .WillOnce( 105 .WillOnce(
106 Invoke(http_server_props_manager_.get(), 106 Invoke(http_server_props_manager_.get(),
107 &TestingHttpServerPropertiesManager:: 107 &TestingHttpServerPropertiesManager::
108 UpdateCacheFromPrefsOnUIConcrete)); 108 UpdateCacheFromPrefsOnUIConcrete));
109 } 109 }
110 110
111 void ExpectPrefsUpdate() { 111 void ExpectPrefsUpdate() {
112 EXPECT_CALL(*http_server_props_manager_, UpdatePrefsFromCacheOnIO()) 112 EXPECT_CALL(*http_server_props_manager_, UpdatePrefsFromCacheOnIO(_))
113 .WillOnce( 113 .WillOnce(
114 Invoke(http_server_props_manager_.get(), 114 Invoke(http_server_props_manager_.get(),
115 &TestingHttpServerPropertiesManager:: 115 &TestingHttpServerPropertiesManager::
116 UpdatePrefsFromCacheOnIOConcrete)); 116 UpdatePrefsFromCacheOnIOConcrete));
117 } 117 }
118 118
119 MessageLoop loop_; 119 MessageLoop loop_;
120 TestingPrefService pref_service_; 120 TestingPrefService pref_service_;
121 scoped_ptr<TestingHttpServerPropertiesManager> http_server_props_manager_; 121 scoped_ptr<TestingHttpServerPropertiesManager> http_server_props_manager_;
122 122
(...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after
346 net::SettingsFlagsAndValue flags_and_value1_ret = it1_ret->second; 346 net::SettingsFlagsAndValue flags_and_value1_ret = it1_ret->second;
347 EXPECT_EQ(net::SETTINGS_FLAG_PERSISTED, flags_and_value1_ret.first); 347 EXPECT_EQ(net::SETTINGS_FLAG_PERSISTED, flags_and_value1_ret.first);
348 EXPECT_EQ(value1, flags_and_value1_ret.second); 348 EXPECT_EQ(value1, flags_and_value1_ret.second);
349 349
350 EXPECT_EQ(net::PIPELINE_CAPABLE, 350 EXPECT_EQ(net::PIPELINE_CAPABLE,
351 http_server_props_manager_->GetPipelineCapability(known_pipeliner)); 351 http_server_props_manager_->GetPipelineCapability(known_pipeliner));
352 352
353 Mock::VerifyAndClearExpectations(http_server_props_manager_.get()); 353 Mock::VerifyAndClearExpectations(http_server_props_manager_.get());
354 354
355 ExpectPrefsUpdate(); 355 ExpectPrefsUpdate();
356 // Clear http server data.
357 http_server_props_manager_->Clear();
358 356
359 // Run the task. 357 // Clear http server data, time out if we do not get a completion callback.
360 loop_.RunAllPending(); 358 http_server_props_manager_->Clear(MessageLoop::QuitClosure());
359 loop_.Run();
361 360
362 EXPECT_FALSE(http_server_props_manager_->SupportsSpdy(spdy_server_mail)); 361 EXPECT_FALSE(http_server_props_manager_->SupportsSpdy(spdy_server_mail));
363 EXPECT_FALSE( 362 EXPECT_FALSE(
364 http_server_props_manager_->HasAlternateProtocol(spdy_server_mail)); 363 http_server_props_manager_->HasAlternateProtocol(spdy_server_mail));
365 364
366 const net::SettingsMap& settings_map2_ret = 365 const net::SettingsMap& settings_map2_ret =
367 http_server_props_manager_->GetSpdySettings(spdy_server_mail); 366 http_server_props_manager_->GetSpdySettings(spdy_server_mail);
368 EXPECT_EQ(0U, settings_map2_ret.size()); 367 EXPECT_EQ(0U, settings_map2_ret.size());
369 368
370 EXPECT_EQ(net::PIPELINE_UNKNOWN, 369 EXPECT_EQ(net::PIPELINE_UNKNOWN,
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
427 http_server_props_manager_->ShutdownOnUIThread(); 426 http_server_props_manager_->ShutdownOnUIThread();
428 // Run the task after shutdown, but before deletion. 427 // Run the task after shutdown, but before deletion.
429 loop_.RunAllPending(); 428 loop_.RunAllPending();
430 Mock::VerifyAndClearExpectations(http_server_props_manager_.get()); 429 Mock::VerifyAndClearExpectations(http_server_props_manager_.get());
431 http_server_props_manager_.reset(); 430 http_server_props_manager_.reset();
432 loop_.RunAllPending(); 431 loop_.RunAllPending();
433 } 432 }
434 433
435 TEST_F(HttpServerPropertiesManagerTest, ShutdownWithPendingUpdatePrefs2) { 434 TEST_F(HttpServerPropertiesManagerTest, ShutdownWithPendingUpdatePrefs2) {
436 // This posts a task to the UI thread. 435 // This posts a task to the UI thread.
437 http_server_props_manager_->UpdatePrefsFromCacheOnIOConcrete(); 436 http_server_props_manager_->UpdatePrefsFromCacheOnIOConcrete(base::Closure());
438 // Shutdown comes before the task is executed. 437 // Shutdown comes before the task is executed.
439 http_server_props_manager_->ShutdownOnUIThread(); 438 http_server_props_manager_->ShutdownOnUIThread();
440 // Run the task after shutdown, but before deletion. 439 // Run the task after shutdown, but before deletion.
441 loop_.RunAllPending(); 440 loop_.RunAllPending();
442 Mock::VerifyAndClearExpectations(http_server_props_manager_.get()); 441 Mock::VerifyAndClearExpectations(http_server_props_manager_.get());
443 http_server_props_manager_.reset(); 442 http_server_props_manager_.reset();
444 loop_.RunAllPending(); 443 loop_.RunAllPending();
445 } 444 }
446 445
447 } // namespace 446 } // namespace
448 447
449 } // namespace chrome_browser_net 448 } // namespace chrome_browser_net
OLDNEW
« no previous file with comments | « chrome/browser/net/http_server_properties_manager.cc ('k') | chrome/browser/profiles/off_the_record_profile_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698