Index: remoting/protocol/pairing_registry_unittest.cc |
diff --git a/remoting/protocol/pairing_registry_unittest.cc b/remoting/protocol/pairing_registry_unittest.cc |
index b113f1369e7937c8a18af51570f8b6883d38e735..407a08768960a2be637a5b69bd7293d6880c1442 100644 |
--- a/remoting/protocol/pairing_registry_unittest.cc |
+++ b/remoting/protocol/pairing_registry_unittest.cc |
@@ -38,6 +38,15 @@ void ExpectSaveSuccess(bool success) { |
EXPECT_TRUE(success); |
} |
+void ExpectClientName(const std::string& expected, |
+ PairingRegistry::Pairing actual) { |
+ EXPECT_EQ(expected, actual.client_name()); |
+} |
+ |
+void ExpectNoPairings(scoped_ptr<base::ListValue> pairings) { |
+ EXPECT_TRUE(pairings->empty()); |
+} |
+ |
} // namespace |
namespace remoting { |
@@ -178,5 +187,34 @@ TEST_F(PairingRegistryTest, ClearAllPairings) { |
EXPECT_TRUE(pairings_->empty()); |
} |
+TEST_F(PairingRegistryTest, SerializedRequests) { |
+ MockPairingRegistryDelegate* mock_delegate = |
+ new MockPairingRegistryDelegate(); |
+ scoped_ptr<PairingRegistry::Delegate> delegate(mock_delegate); |
+ mock_delegate->set_run_save_callback_automatically(false); |
+ |
+ scoped_refptr<PairingRegistry> registry(new PairingRegistry(delegate.Pass())); |
+ PairingRegistry::Pairing pairing_1 = registry->CreatePairing("client1"); |
+ PairingRegistry::Pairing pairing_2 = registry->CreatePairing("client2"); |
+ registry->GetPairing(pairing_1.client_id(), |
+ base::Bind(ExpectClientName, "client1")); |
+ registry->GetPairing(pairing_2.client_id(), |
+ base::Bind(ExpectClientName, "client2")); |
+ registry->DeletePairing(pairing_2.client_id(), base::Bind(ExpectSaveSuccess)); |
+ registry->GetPairing(pairing_1.client_id(), |
+ base::Bind(ExpectClientName, "client1")); |
+ registry->GetPairing(pairing_2.client_id(), |
+ base::Bind(ExpectClientName, "")); |
+ registry->ClearAllPairings(base::Bind(ExpectSaveSuccess)); |
Lambros
2013/07/18 20:34:51
optional: I know I originally wrote this myself in
Jamie
2013/07/18 22:44:56
Bind is needed to wrap a bare function. See callba
|
+ registry->GetAllPairings(base::Bind(ExpectNoPairings)); |
+ PairingRegistry::Pairing pairing_3 = registry->CreatePairing("client3"); |
+ registry->GetPairing(pairing_3.client_id(), |
+ base::Bind(ExpectClientName, "client3")); |
+ |
+ while (mock_delegate->HasCallback()) { |
+ mock_delegate->RunCallback(); |
Lambros
2013/07/18 20:34:51
I think we should verify the number of times this
Jamie
2013/07/18 22:44:56
This test shouldn't care how many *delegate* callb
|
+ } |
+} |
+ |
} // namespace protocol |
} // namespace remoting |