Chromium Code Reviews| Index: remoting/protocol/protocol_mock_objects.cc |
| diff --git a/remoting/protocol/protocol_mock_objects.cc b/remoting/protocol/protocol_mock_objects.cc |
| index f558769cc919d8e819872171ba6b233e70e3c1df..22b05dbf625acaa3465e41442696e47121856558 100644 |
| --- a/remoting/protocol/protocol_mock_objects.cc |
| +++ b/remoting/protocol/protocol_mock_objects.cc |
| @@ -48,7 +48,8 @@ MockSessionManager::MockSessionManager() {} |
| MockSessionManager::~MockSessionManager() {} |
| -MockPairingRegistryDelegate::MockPairingRegistryDelegate() { |
| +MockPairingRegistryDelegate::MockPairingRegistryDelegate() |
| + : run_save_callback_automatically_(true) { |
| } |
| MockPairingRegistryDelegate::~MockPairingRegistryDelegate() { |
| @@ -57,6 +58,20 @@ MockPairingRegistryDelegate::~MockPairingRegistryDelegate() { |
| void MockPairingRegistryDelegate::Save( |
| const std::string& pairings_json, |
| const PairingRegistry::SaveCallback& callback) { |
| + EXPECT_TRUE(load_callback_.is_null()); |
| + EXPECT_TRUE(save_callback_.is_null()); |
| + if (run_save_callback_automatically_) { |
| + SetPairingsJsonAndRunCallback(pairings_json, callback); |
| + } else { |
| + save_callback_ = base::Bind( |
| + &MockPairingRegistryDelegate::SetPairingsJsonAndRunCallback, |
| + base::Unretained(this), pairings_json, callback); |
| + } |
| +} |
| + |
| +void MockPairingRegistryDelegate::SetPairingsJsonAndRunCallback( |
| + const std::string& pairings_json, |
| + const PairingRegistry::SaveCallback& callback) { |
| pairings_json_ = pairings_json; |
| if (!callback.is_null()) { |
| callback.Run(true); |
| @@ -65,13 +80,28 @@ void MockPairingRegistryDelegate::Save( |
| void MockPairingRegistryDelegate::Load( |
| const PairingRegistry::LoadCallback& callback) { |
| - load_callback_ = base::Bind(base::Bind(callback), pairings_json_); |
| + EXPECT_TRUE(load_callback_.is_null()); |
| + EXPECT_TRUE(save_callback_.is_null()); |
| + load_callback_ = base::Bind(callback, pairings_json_); |
| } |
| void MockPairingRegistryDelegate::RunCallback() { |
| - DCHECK(!load_callback_.is_null()); |
| - load_callback_.Run(); |
| - load_callback_.Reset(); |
| + if (!load_callback_.is_null()) { |
|
Lambros
2013/07/19 01:54:21
You only need one if..elif..else.. chain here. In
Jamie
2013/07/19 02:10:13
Done.
|
| + EXPECT_TRUE(save_callback_.is_null()); |
| + } else if (!save_callback_.is_null()) { |
| + EXPECT_TRUE(load_callback_.is_null()); |
| + } else { |
| + ADD_FAILURE() << "RunCallback called without any callbacks set."; |
| + } |
| + if (!load_callback_.is_null()) { |
| + base::Closure load_callback = load_callback_; |
| + load_callback_.Reset(); |
| + load_callback.Run(); |
| + } else { |
| + base::Closure save_callback = save_callback_; |
| + save_callback_.Reset(); |
| + save_callback.Run(); |
| + } |
| } |
| } // namespace protocol |