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..596d98117f77b5e344e8197c7d1ed7bf4bc73885 100644 |
--- a/chrome/browser/ui/cocoa/clear_browsing_data_controller_unittest.mm |
+++ b/chrome/browser/ui/cocoa/clear_browsing_data_controller_unittest.mm |
@@ -7,11 +7,15 @@ |
#include "base/scoped_nsobject.h" |
#include "chrome/browser/browsing_data_remover.h" |
#include "chrome/browser/prefs/pref_service.h" |
+#include "chrome/browser/prefs/pref_service_mock_builder.h" |
+#include "chrome/browser/prefs/testing_pref_store.h" |
#include "chrome/browser/profiles/profile.h" |
+#include "chrome/browser/ui/browser.h" |
#include "chrome/browser/ui/cocoa/browser_test_helper.h" |
#import "chrome/browser/ui/cocoa/clear_browsing_data_controller.h" |
#import "chrome/browser/ui/cocoa/cocoa_test_helper.h" |
#include "chrome/common/pref_names.h" |
+#include "chrome/test/testing_browser_process.h" |
#include "testing/gtest/include/gtest/gtest.h" |
#include "testing/platform_test.h" |
#import "third_party/ocmock/OCMock/OCMock.h" |
@@ -22,6 +26,7 @@ class ClearBrowsingDataControllerTest : public CocoaTest { |
public: |
virtual void SetUp() { |
CocoaTest::SetUp(); |
+ |
// Set up some interesting prefs: |
PrefService* prefs = helper_.profile()->GetPrefs(); |
prefs->SetBoolean(prefs::kDeleteBrowsingHistory, true); |
@@ -30,6 +35,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 +43,8 @@ class ClearBrowsingDataControllerTest : public CocoaTest { |
} |
virtual void TearDown() { |
+ MessageLoop::current()->RunAllPending(); |
+ |
[controller_ closeDialog]; |
CocoaTest::TearDown(); |
} |
@@ -53,15 +61,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_ clearLSODataChecked]); |
+ |
+ // Enabling it again should restore the old value of the checkbox. |
+ prefs->SetBoolean(prefs::kClearPluginLSODataEnabled, true); |
+ EXPECT_TRUE([controller_ clearLSODataEnabled]); |
+ EXPECT_TRUE([controller_ clearLSODataChecked]); |
+ |
+ // Unchecking the checkbox should set the preference to false. |
+ [controller_ setClearLSODataChecked: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 +103,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 +119,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) { |