Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(21)

Unified Diff: chrome/browser/cocoa/clear_browsing_data_controller_unittest.mm

Issue 151095: Added unit tests for ClearBrowsingDataController.... (Closed) Base URL: http://src.chromium.org/svn/trunk/src/
Patch Set: '' Created 11 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/cocoa/clear_browsing_data_controller.mm ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/cocoa/clear_browsing_data_controller_unittest.mm
===================================================================
--- chrome/browser/cocoa/clear_browsing_data_controller_unittest.mm (revision 0)
+++ chrome/browser/cocoa/clear_browsing_data_controller_unittest.mm (revision 0)
@@ -0,0 +1,110 @@
+// Copyright (c) 2009 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#import <Cocoa/Cocoa.h>
+
+#include "base/scoped_nsobject.h"
+#include "chrome/browser/browsing_data_remover.h"
+#include "chrome/browser/cocoa/browser_test_helper.h"
+#import "chrome/browser/cocoa/clear_browsing_data_controller.h"
+#import "chrome/browser/cocoa/cocoa_test_helper.h"
+#include "chrome/browser/profile.h"
+#include "chrome/common/pref_names.h"
+#include "chrome/common/pref_service.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+namespace {
+
+class ClearBrowsingDataControllerTest : public testing::Test {
+ public:
+ ClearBrowsingDataControllerTest() {
+ // Set up some interesting prefs:
+ PrefService* prefs = helper_.profile()->GetPrefs();
+ prefs->SetBoolean(prefs::kDeleteBrowsingHistory, true);
+ prefs->SetBoolean(prefs::kDeleteDownloadHistory, false);
+ prefs->SetBoolean(prefs::kDeleteCache, true);
+ prefs->SetBoolean(prefs::kDeleteCookies, false);
+ prefs->SetBoolean(prefs::kDeletePasswords, true);
+ prefs->SetBoolean(prefs::kDeleteFormData, false);
+ prefs->SetInteger(prefs::kDeleteTimePeriod,
+ BrowsingDataRemover::FOUR_WEEKS);
+
+ controller_.reset(
+ [[ClearBrowsingDataController alloc] initWithProfile:helper_.profile()]);
+ }
+
+ CocoaTestHelper cocoa_helper_; // Inits Cocoa, creates window, etc...
+ BrowserTestHelper helper_;
+ scoped_nsobject<ClearBrowsingDataController> controller_;
+};
+
+TEST_F(ClearBrowsingDataControllerTest, InitialState) {
+ // Check properties match the prefs set above:
+ EXPECT_TRUE([controller_ clearBrowsingHistory]);
+ EXPECT_FALSE([controller_ clearDownloadHistory]);
+ EXPECT_TRUE([controller_ emptyCache]);
+ EXPECT_FALSE([controller_ deleteCookies]);
+ EXPECT_TRUE([controller_ clearSavedPasswords]);
+ EXPECT_FALSE([controller_ clearFormData]);
+ EXPECT_EQ(BrowsingDataRemover::FOUR_WEEKS,
+ [controller_ timePeriod]);
+}
+
+TEST_F(ClearBrowsingDataControllerTest, InitialRemoveMask) {
+ // Check that the remove-mask matches the initial properties:
+ EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY |
+ BrowsingDataRemover::REMOVE_CACHE |
+ BrowsingDataRemover::REMOVE_PASSWORDS,
+ [controller_ removeMask]);
+}
+
+TEST_F(ClearBrowsingDataControllerTest, ModifiedRemoveMask) {
+ // Invert all properties and check that the remove-mask is still correct:
+ [controller_ setClearBrowsingHistory:false];
+ [controller_ setClearDownloadHistory:true];
+ [controller_ setEmptyCache:false];
+ [controller_ setDeleteCookies:true];
+ [controller_ setClearSavedPasswords:false];
+ [controller_ setClearFormData:true];
+
+ EXPECT_EQ(BrowsingDataRemover::REMOVE_DOWNLOADS |
+ BrowsingDataRemover::REMOVE_COOKIES |
+ BrowsingDataRemover::REMOVE_FORM_DATA,
+ [controller_ removeMask]);
+}
+
+TEST_F(ClearBrowsingDataControllerTest, EmptyRemoveMask) {
+ // Clear all properties and check that the remove-mask is zero:
+ [controller_ setClearBrowsingHistory:false];
+ [controller_ setClearDownloadHistory:false];
+ [controller_ setEmptyCache:false];
+ [controller_ setDeleteCookies:false];
+ [controller_ setClearSavedPasswords:false];
+ [controller_ setClearFormData:false];
+
+ EXPECT_EQ(0,
+ [controller_ removeMask]);
pink (ping after 24hrs) 2009/07/01 12:41:20 these can fit on 1 line.
+}
+
+TEST_F(ClearBrowsingDataControllerTest, PersistToPrefs) {
+ // Change some settings and store to prefs:
+ [controller_ setClearBrowsingHistory:false];
+ [controller_ setClearDownloadHistory:true];
+ [controller_ persistToPrefs];
+
+ // Test that the modified settings were stored to prefs:
+ PrefService* prefs = helper_.profile()->GetPrefs();
+ EXPECT_FALSE(prefs->GetBoolean(prefs::kDeleteBrowsingHistory));
+ EXPECT_TRUE(prefs->GetBoolean(prefs::kDeleteDownloadHistory));
+
+ // Make sure the rest of the prefs didn't change:
+ EXPECT_TRUE(prefs->GetBoolean(prefs::kDeleteCache));
+ EXPECT_FALSE(prefs->GetBoolean(prefs::kDeleteCookies));
+ EXPECT_TRUE(prefs->GetBoolean(prefs::kDeletePasswords));
+ EXPECT_FALSE(prefs->GetBoolean(prefs::kDeleteFormData));
+ EXPECT_EQ(BrowsingDataRemover::FOUR_WEEKS,
+ prefs->GetInteger(prefs::kDeleteTimePeriod));
+}
+
+} // namespace
Property changes on: chrome/browser/cocoa/clear_browsing_data_controller_unittest.mm
___________________________________________________________________
Name: svn:eol-style
+ LF
« no previous file with comments | « chrome/browser/cocoa/clear_browsing_data_controller.mm ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698