Index: chrome/browser/prefs/pref_change_registrar_unittest.cc |
diff --git a/chrome/browser/prefs/pref_change_registrar_unittest.cc b/chrome/browser/prefs/pref_change_registrar_unittest.cc |
index 4d7f747c913dc757ceb1847828369a1154622cc7..8096ee66d75861b3b2ddf5dd10e6b5c3086fb20a 100644 |
--- a/chrome/browser/prefs/pref_change_registrar_unittest.cc |
+++ b/chrome/browser/prefs/pref_change_registrar_unittest.cc |
@@ -63,6 +63,7 @@ TEST_F(PrefChangeRegistrarTest, AddAndRemove) { |
AddPrefObserver(Eq(std::string("test.pref.2")), observer())); |
registrar.Add("test.pref.1", observer()); |
registrar.Add("test.pref.2", observer()); |
+ EXPECT_FALSE(registrar.IsEmpty()); |
// Test removing. |
Mock::VerifyAndClearExpectations(service()); |
@@ -72,6 +73,11 @@ TEST_F(PrefChangeRegistrarTest, AddAndRemove) { |
RemovePrefObserver(Eq(std::string("test.pref.2")), observer())); |
registrar.Remove("test.pref.1", observer()); |
registrar.Remove("test.pref.2", observer()); |
+ EXPECT_TRUE(registrar.IsEmpty()); |
+ |
+ // Explicitly check the expectations now to make sure that the Removes |
+ // worked (rather than the registrar destructor doing the work). |
+ Mock::VerifyAndClearExpectations(service()); |
} |
TEST_F(PrefChangeRegistrarTest, AutoRemove) { |
@@ -83,8 +89,33 @@ TEST_F(PrefChangeRegistrarTest, AutoRemove) { |
AddPrefObserver(Eq(std::string("test.pref.1")), observer())); |
registrar.Add("test.pref.1", observer()); |
Mock::VerifyAndClearExpectations(service()); |
+ EXPECT_FALSE(registrar.IsEmpty()); |
// Test auto-removing. |
EXPECT_CALL(*service(), |
RemovePrefObserver(Eq(std::string("test.pref.1")), observer())); |
} |
+ |
+TEST_F(PrefChangeRegistrarTest, RemoveAll) { |
+ PrefChangeRegistrar registrar; |
+ registrar.Init(service()); |
+ |
+ EXPECT_CALL(*service(), |
+ AddPrefObserver(Eq(std::string("test.pref.1")), observer())); |
+ EXPECT_CALL(*service(), |
+ AddPrefObserver(Eq(std::string("test.pref.2")), observer())); |
+ registrar.Add("test.pref.1", observer()); |
+ registrar.Add("test.pref.2", observer()); |
+ Mock::VerifyAndClearExpectations(service()); |
+ |
+ EXPECT_CALL(*service(), |
+ RemovePrefObserver(Eq(std::string("test.pref.1")), observer())); |
+ EXPECT_CALL(*service(), |
+ RemovePrefObserver(Eq(std::string("test.pref.2")), observer())); |
+ registrar.RemoveAll(); |
+ EXPECT_TRUE(registrar.IsEmpty()); |
+ |
+ // Explicitly check the expectations now to make sure that the RemoveAll |
+ // worked (rather than the registrar destructor doing the work). |
+ Mock::VerifyAndClearExpectations(service()); |
+} |