Chromium Code Reviews| Index: remoting/host/register_support_host_request_unittest.cc |
| diff --git a/remoting/host/register_support_host_request_unittest.cc b/remoting/host/register_support_host_request_unittest.cc |
| index dc3258d492f2bc699204d20a380c39a74a47e331..a681d47dbe2fd3c15ad8fb78d5201c7087a5484c 100644 |
| --- a/remoting/host/register_support_host_request_unittest.cc |
| +++ b/remoting/host/register_support_host_request_unittest.cc |
| @@ -4,6 +4,8 @@ |
| #include "remoting/host/register_support_host_request.h" |
| +#include <list> |
| + |
| #include "base/bind.h" |
| #include "base/memory/ref_counted.h" |
| #include "base/message_loop.h" |
| @@ -59,19 +61,23 @@ class RegisterSupportHostRequestTest : public testing::Test { |
| MockCallback callback_; |
| }; |
| +ACTION_P(SaveListener, list) { |
| + list->push_back(arg0); |
| +} |
| + |
| TEST_F(RegisterSupportHostRequestTest, Send) { |
| // |iq_request| is freed by RegisterSupportHostRequest. |
| int64 start_time = static_cast<int64>(base::Time::Now().ToDoubleT()); |
| - SignalStrategy::Listener* listener; |
| + std::list<SignalStrategy::Listener*> listeners; |
| EXPECT_CALL(signal_strategy_, AddListener(NotNull())) |
| - .WillOnce(SaveArg<0>(&listener)); |
| + .WillRepeatedly(SaveListener(&listeners)); |
| scoped_ptr<RegisterSupportHostRequest> request( |
| new RegisterSupportHostRequest()); |
| ASSERT_TRUE(request->Init( |
| - config_, base::Bind(&MockCallback::OnResponse, |
| - base::Unretained(&callback_)))); |
| + &signal_strategy_, config_, base::Bind(&MockCallback::OnResponse, |
| + base::Unretained(&callback_)))); |
| XmlElement* sent_iq = NULL; |
| EXPECT_CALL(signal_strategy_, GetNextId()) |
| @@ -81,7 +87,7 @@ TEST_F(RegisterSupportHostRequestTest, Send) { |
| EXPECT_CALL(signal_strategy_, SendStanza(NotNull())) |
| .WillOnce(DoAll(SaveArg<0>(&sent_iq), Return(true))); |
| - request->OnSignallingConnected(&signal_strategy_); |
| + request->OnSignalStrategyStateChange(SignalStrategy::CONNECTED); |
| message_loop_.RunAllPending(); |
| // Verify format of the query. |
| @@ -136,10 +142,16 @@ TEST_F(RegisterSupportHostRequestTest, Send) { |
| support_id_lifetime->AddText(kSupportIdLifetime); |
| result->AddElement(support_id_lifetime); |
| - EXPECT_TRUE(listener->OnSignalStrategyIncomingStanza(response.get())); |
| + std::list<SignalStrategy::Listener*>::iterator it; |
| + bool consumed = false; |
| + for (it = listeners.begin(); it != listeners.end(); it++) { |
| + consumed = consumed | (*it)->OnSignalStrategyIncomingStanza(response.get()); |
| + } |
| + EXPECT_TRUE(consumed); |
| message_loop_.RunAllPending(); |
| - EXPECT_CALL(signal_strategy_, RemoveListener(listener)); |
| + EXPECT_CALL(signal_strategy_, RemoveListener(_)) |
| + .Times(listeners.size()); |
|
Wez
2012/01/03 16:25:04
Ick. Confusing; at what point is |listeners.size(
Sergey Ulanov
2012/01/03 21:51:02
Done.
|
| } |
| } // namespace remoting |