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

Unified Diff: chrome/browser/ui/prefs/prefs_tab_helper_unittest.cc

Issue 8879016: Add more per-tab preferences. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Removed "migration done" preference Created 9 years 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
Index: chrome/browser/ui/prefs/prefs_tab_helper_unittest.cc
diff --git a/chrome/browser/ui/prefs/prefs_tab_helper_unittest.cc b/chrome/browser/ui/prefs/prefs_tab_helper_unittest.cc
index dd1dd3805b3bf5bbf82213bf84d9a1e20136ff6e..46c8e77677f3c409db6b869d12acda52d18d58c5 100644
--- a/chrome/browser/ui/prefs/prefs_tab_helper_unittest.cc
+++ b/chrome/browser/ui/prefs/prefs_tab_helper_unittest.cc
@@ -49,11 +49,95 @@ class PrefsTabHelperTest : public TabContentsWrapperTestHarness {
return contents_wrapper2_.get();
}
+ TestPrefsTabHelper* CreateTestPrefsTabHelper() {
+ TestPrefsTabHelper* test_prefs_helper =
+ new TestPrefsTabHelper(contents_wrapper());
+ contents_wrapper()->prefs_tab_helper_.reset(test_prefs_helper);
+ return test_prefs_helper;
+ }
+
void SetContents2(TestTabContents* contents) {
contents_wrapper2_.reset(
contents ? new TabContentsWrapper(contents) : NULL);
}
+ void TestBooleanPreference(const char* key) {
+ PrefService* prefs1 =
+ contents_wrapper()->prefs_tab_helper()->per_tab_prefs();
+ PrefService* prefs2 =
+ contents_wrapper2()->prefs_tab_helper()->per_tab_prefs();
+ const bool initial_value = prefs1->GetBoolean(key);
+ EXPECT_EQ(initial_value, prefs2->GetBoolean(key));
+
+ prefs1->SetBoolean(key, !initial_value);
+ EXPECT_EQ(!initial_value, prefs1->GetBoolean(key));
+ EXPECT_EQ(initial_value, prefs2->GetBoolean(key));
+
+ prefs1->SetBoolean(key, initial_value);
+ EXPECT_EQ(initial_value, prefs1->GetBoolean(key));
+ EXPECT_EQ(initial_value, prefs2->GetBoolean(key));
+
+ prefs2->SetBoolean(key, !initial_value);
+ EXPECT_EQ(initial_value, prefs1->GetBoolean(key));
+ EXPECT_EQ(!initial_value, prefs2->GetBoolean(key));
+
+ prefs1->SetBoolean(key, !initial_value);
+ EXPECT_EQ(!initial_value, prefs1->GetBoolean(key));
+ EXPECT_EQ(!initial_value, prefs2->GetBoolean(key));
+ }
+
+ void TestIntegerPreference(const char* key) {
+ PrefService* prefs1 =
+ contents_wrapper()->prefs_tab_helper()->per_tab_prefs();
+ PrefService* prefs2 =
+ contents_wrapper2()->prefs_tab_helper()->per_tab_prefs();
+ const int initial_value = prefs1->GetInteger(key);
+ EXPECT_EQ(initial_value, prefs2->GetInteger(key));
+
+ const int modified_value = initial_value + 1;
+ prefs1->SetInteger(key, modified_value);
+ EXPECT_EQ(modified_value, prefs1->GetInteger(key));
+ EXPECT_EQ(initial_value, prefs2->GetInteger(key));
+
+ prefs1->SetInteger(key, initial_value);
+ EXPECT_EQ(initial_value, prefs1->GetInteger(key));
+ EXPECT_EQ(initial_value, prefs2->GetInteger(key));
+
+ prefs2->SetInteger(key, modified_value);
+ EXPECT_EQ(initial_value, prefs1->GetInteger(key));
+ EXPECT_EQ(modified_value, prefs2->GetInteger(key));
+
+ prefs1->SetInteger(key, modified_value);
+ EXPECT_EQ(modified_value, prefs1->GetInteger(key));
+ EXPECT_EQ(modified_value, prefs2->GetInteger(key));
+ }
+
+ void TestStringPreference(const char* key) {
+ PrefService* prefs1 =
+ contents_wrapper()->prefs_tab_helper()->per_tab_prefs();
+ PrefService* prefs2 =
+ contents_wrapper2()->prefs_tab_helper()->per_tab_prefs();
+ const std::string initial_value = prefs1->GetString(key);
+ EXPECT_EQ(initial_value, prefs2->GetString(key));
+
+ const std::string modified_value = initial_value + "_";
+ prefs1->SetString(key, modified_value);
+ EXPECT_EQ(modified_value, prefs1->GetString(key));
+ EXPECT_EQ(initial_value, prefs2->GetString(key));
+
+ prefs1->SetString(key, initial_value);
+ EXPECT_EQ(initial_value, prefs1->GetString(key));
+ EXPECT_EQ(initial_value, prefs2->GetString(key));
+
+ prefs2->SetString(key, modified_value);
+ EXPECT_EQ(initial_value, prefs1->GetString(key));
+ EXPECT_EQ(modified_value, prefs2->GetString(key));
+
+ prefs1->SetString(key, modified_value);
+ EXPECT_EQ(modified_value, prefs1->GetString(key));
+ EXPECT_EQ(modified_value, prefs2->GetString(key));
+ }
+
protected:
virtual void SetUp() OVERRIDE {
TabContentsWrapperTestHarness::SetUp();
@@ -73,30 +157,77 @@ class PrefsTabHelperTest : public TabContentsWrapperTestHarness {
};
TEST_F(PrefsTabHelperTest, PerTabJavaScriptEnabled) {
- const char* key = prefs::kWebKitJavascriptEnabled;
- PrefService* prefs1 = contents_wrapper()->prefs_tab_helper()->per_tab_prefs();
- PrefService* prefs2 =
- contents_wrapper2()->prefs_tab_helper()->per_tab_prefs();
- const bool initial_value = prefs1->GetBoolean(key);
- EXPECT_EQ(initial_value, prefs2->GetBoolean(key));
+ TestBooleanPreference(prefs::kWebKitJavascriptEnabled);
+}
- prefs1->SetBoolean(key, !initial_value);
- EXPECT_EQ(!initial_value, prefs1->GetBoolean(key));
- EXPECT_EQ(initial_value, prefs2->GetBoolean(key));
+TEST_F(PrefsTabHelperTest, PerTabJavascriptCanOpenWindowsAutomatically) {
+ TestBooleanPreference(prefs::kWebKitJavascriptCanOpenWindowsAutomatically);
+}
- prefs1->SetBoolean(key, initial_value);
- EXPECT_EQ(initial_value, prefs1->GetBoolean(key));
- EXPECT_EQ(initial_value, prefs2->GetBoolean(key));
+TEST_F(PrefsTabHelperTest, PerTabLoadsImagesAutomatically) {
+ TestBooleanPreference(prefs::kWebKitLoadsImagesAutomatically);
+}
+
+TEST_F(PrefsTabHelperTest, PerTabPluginsEnabled) {
+ TestBooleanPreference(prefs::kWebKitPluginsEnabled);
+}
+
+TEST_F(PrefsTabHelperTest, PerTabDefaultFontSize) {
+ TestIntegerPreference(prefs::kWebKitDefaultFontSize);
+}
+
+TEST_F(PrefsTabHelperTest, PerTabDefaultFixedFontSize) {
+ TestIntegerPreference(prefs::kWebKitDefaultFixedFontSize);
+}
+
+TEST_F(PrefsTabHelperTest, PerTabMinimumFontSize) {
+ TestIntegerPreference(prefs::kWebKitMinimumFontSize);
+}
+
+TEST_F(PrefsTabHelperTest, PerTabMinimumLogicalFontSize) {
+ TestIntegerPreference(prefs::kWebKitMinimumLogicalFontSize);
+}
+
+TEST_F(PrefsTabHelperTest, PerTabDefaultCharset) {
+ TestStringPreference(prefs::kDefaultCharset);
+}
+
+TEST_F(PrefsTabHelperTest, PerTabDefaultCharsetUpdate) {
+ TestPrefsTabHelper* test_prefs_helper = CreateTestPrefsTabHelper();
+ EXPECT_FALSE(test_prefs_helper->was_update_web_preferences_called());
+ const char* pref = prefs::kDefaultCharset;
+ PrefService* prefs =
+ contents_wrapper()->prefs_tab_helper()->per_tab_prefs();
+ prefs->SetString(pref, prefs->GetString(pref) + "_");
+ EXPECT_TRUE(test_prefs_helper->was_update_web_preferences_called());
+}
+
+TEST_F(PrefsTabHelperTest, PerTabStandardFontFamily) {
+ TestStringPreference(prefs::kWebKitStandardFontFamily);
+}
+
+TEST_F(PrefsTabHelperTest, PerTabFixedFontFamily) {
+ TestStringPreference(prefs::kWebKitFixedFontFamily);
+}
+
+TEST_F(PrefsTabHelperTest, PerTabSerifFontFamily) {
+ TestStringPreference(prefs::kWebKitSerifFontFamily);
+}
+
+TEST_F(PrefsTabHelperTest, PerTabSansSerifFontFamily) {
+ TestStringPreference(prefs::kWebKitSansSerifFontFamily);
+}
+
+TEST_F(PrefsTabHelperTest, PerTabCursiveFontFamily) {
+ TestStringPreference(prefs::kWebKitCursiveFontFamily);
+}
- prefs2->SetBoolean(key, !initial_value);
- EXPECT_EQ(initial_value, prefs1->GetBoolean(key));
- EXPECT_EQ(!initial_value, prefs2->GetBoolean(key));
+TEST_F(PrefsTabHelperTest, PerTabFantasyFontFamily) {
+ TestStringPreference(prefs::kWebKitFantasyFontFamily);
}
TEST_F(PrefsTabHelperTest, OverridePrefsOnViewCreation) {
- TestPrefsTabHelper* test_prefs_helper =
- new TestPrefsTabHelper(contents_wrapper());
- contents_wrapper()->prefs_tab_helper_.reset(test_prefs_helper);
+ TestPrefsTabHelper* test_prefs_helper = CreateTestPrefsTabHelper();
EXPECT_FALSE(test_prefs_helper->was_update_web_preferences_called());
test_prefs_helper->NotifyRenderViewCreated();
EXPECT_TRUE(test_prefs_helper->was_update_web_preferences_called());

Powered by Google App Engine
This is Rietveld 408576698