Index: chrome/browser/ui/cocoa/clear_browsing_data_controller_unittest.mm |
diff --git a/chrome/browser/ui/cocoa/clear_browsing_data_controller_unittest.mm b/chrome/browser/ui/cocoa/clear_browsing_data_controller_unittest.mm |
index d5f238a6d180af5fdef1d91a142e05b062672a4a..1d3671802d536aa90640c02281ba240feb1b8103 100644 |
--- a/chrome/browser/ui/cocoa/clear_browsing_data_controller_unittest.mm |
+++ b/chrome/browser/ui/cocoa/clear_browsing_data_controller_unittest.mm |
@@ -30,6 +30,7 @@ class ClearBrowsingDataControllerTest : public CocoaTest { |
prefs->SetBoolean(prefs::kDeleteCookies, false); |
prefs->SetBoolean(prefs::kDeletePasswords, true); |
prefs->SetBoolean(prefs::kDeleteFormData, false); |
+ prefs->SetBoolean(prefs::kDeleteLSOData, true); |
prefs->SetInteger(prefs::kDeleteTimePeriod, |
BrowsingDataRemover::FOUR_WEEKS); |
controller_ = |
@@ -37,6 +38,8 @@ class ClearBrowsingDataControllerTest : public CocoaTest { |
} |
virtual void TearDown() { |
+ MessageLoop::current()->RunAllPending(); |
+ |
[controller_ closeDialog]; |
CocoaTest::TearDown(); |
} |
@@ -53,15 +56,37 @@ TEST_F(ClearBrowsingDataControllerTest, InitialState) { |
EXPECT_FALSE([controller_ deleteCookies]); |
EXPECT_TRUE([controller_ clearSavedPasswords]); |
EXPECT_FALSE([controller_ clearFormData]); |
+ EXPECT_TRUE([controller_ clearLSOData]); |
EXPECT_EQ(BrowsingDataRemover::FOUR_WEEKS, |
[controller_ timePeriod]); |
} |
+TEST_F(ClearBrowsingDataControllerTest, ClearLSOData) { |
+ PrefService* prefs = helper_.profile()->GetPrefs(); |
+ |
+ // Disable clearing LSO data. |
+ prefs->SetBoolean(prefs::kClearPluginLSODataEnabled, false); |
+ EXPECT_TRUE([controller_ clearLSOData]); |
+ EXPECT_FALSE([controller_ clearLSODataEnabled]); |
+ EXPECT_FALSE([controller_ clearLSODataCheckbox]); |
+ |
+ // Enabling it again should restore the old value of the checkbox. |
+ prefs->SetBoolean(prefs::kClearPluginLSODataEnabled, true); |
+ EXPECT_TRUE([controller_ clearLSODataEnabled]); |
+ EXPECT_TRUE([controller_ clearLSODataCheckbox]); |
+ |
+ // Unchecking the checkbox should set the preference to false. |
+ [controller_ setClearLSODataCheckbox:NO]; |
+ [controller_ persistToPrefs]; |
+ EXPECT_FALSE(prefs->GetBoolean(prefs::kDeleteLSOData)); |
+} |
+ |
TEST_F(ClearBrowsingDataControllerTest, InitialRemoveMask) { |
// Check that the remove-mask matches the initial properties: |
EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY | |
BrowsingDataRemover::REMOVE_CACHE | |
- BrowsingDataRemover::REMOVE_PASSWORDS, |
+ BrowsingDataRemover::REMOVE_PASSWORDS | |
+ BrowsingDataRemover::REMOVE_LSO_DATA, |
[controller_ removeMask]); |
} |
@@ -73,6 +98,7 @@ TEST_F(ClearBrowsingDataControllerTest, ModifiedRemoveMask) { |
[controller_ setDeleteCookies:true]; |
[controller_ setClearSavedPasswords:false]; |
[controller_ setClearFormData:true]; |
+ [controller_ setClearLSOData:false]; |
EXPECT_EQ(BrowsingDataRemover::REMOVE_DOWNLOADS | |
BrowsingDataRemover::REMOVE_COOKIES | |
@@ -88,9 +114,9 @@ TEST_F(ClearBrowsingDataControllerTest, EmptyRemoveMask) { |
[controller_ setDeleteCookies:false]; |
[controller_ setClearSavedPasswords:false]; |
[controller_ setClearFormData:false]; |
+ [controller_ setClearLSOData:false]; |
- EXPECT_EQ(0, |
- [controller_ removeMask]); |
+ EXPECT_EQ(0, [controller_ removeMask]); |
} |
TEST_F(ClearBrowsingDataControllerTest, PersistToPrefs) { |