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

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

Issue 8879016: Add more per-tab preferences. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Implemented preferences migration 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_uitest.cc
diff --git a/chrome/browser/ui/prefs/prefs_tab_helper_uitest.cc b/chrome/browser/ui/prefs/prefs_tab_helper_uitest.cc
new file mode 100644
index 0000000000000000000000000000000000000000..db0fec53294f01e984d17109e9d322d73e18e03f
--- /dev/null
+++ b/chrome/browser/ui/prefs/prefs_tab_helper_uitest.cc
@@ -0,0 +1,114 @@
+// Copyright (c) 2011 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.
+
+#include "base/command_line.h"
+#include "base/file_util.h"
+#include "base/json/json_value_serializer.h"
+#include "base/scoped_temp_dir.h"
+#include "base/test/test_file_util.h"
+#include "chrome/common/chrome_constants.h"
+#include "chrome/common/chrome_switches.h"
+#include "chrome/common/pref_names.h"
+#include "chrome/browser/prefs/pref_service.h"
+#include "chrome/test/ui/ui_test.h"
+
+class PrefsTabHelperUITest : public UITest {
+ public:
Mattias Nissler (ping if slow) 2011/12/15 15:37:29 can be protected.
mnaganov (inactive) 2011/12/15 16:45:17 Done.
+ virtual void SetUp() {
+ ASSERT_TRUE(temp_dir_.CreateUniqueTempDir());
+ FilePath tmp_profile = temp_dir_.path().AppendASCII("tmp_profile");
+
+ ASSERT_TRUE(file_util::CreateDirectory(tmp_profile));
+
+ FilePath non_global_pref_file;
+ non_global_pref_file = test_data_directory_
+ .AppendASCII("profiles")
+ .AppendASCII("webkit_global_migration")
+ .AppendASCII("Default")
+ .Append(chrome::kPreferencesFilename);
+ tmp_pref_file_ = tmp_profile.AppendASCII("Default");
+ ASSERT_TRUE(file_util::CreateDirectory(tmp_pref_file_));
+ tmp_pref_file_ = tmp_pref_file_.Append(chrome::kPreferencesFilename);
+
+ ASSERT_TRUE(file_util::PathExists(non_global_pref_file));
+ ASSERT_TRUE(file_util::CopyFile(non_global_pref_file, tmp_pref_file_));
+
+#if defined(OS_WIN)
+ // Make the copy writable. On POSIX we assume the umask allows files
+ // we create to be writable.
+ ASSERT_TRUE(::SetFileAttributesW(tmp_pref_file_.value().c_str(),
+ FILE_ATTRIBUTE_NORMAL));
+#endif
+
+ launch_arguments_.AppendSwitchPath(switches::kUserDataDir, tmp_profile);
+ UITest::SetUp();
+ }
+
+ public:
Mattias Nissler (ping if slow) 2011/12/15 15:37:29 remove
mnaganov (inactive) 2011/12/15 16:45:17 Done.
+ FilePath tmp_pref_file_;
+
+ private:
+ ScopedTempDir temp_dir_;
+};
+
+static int GetInteger(DictionaryValue* dict, const char* pref) {
+ int value = 0;
+ EXPECT_TRUE(dict->GetInteger(pref, &value));
+ return value;
+}
+
+static std::string GetString(DictionaryValue* dict, const char* pref) {
+ std::string value;
+ EXPECT_TRUE(dict->GetStringASCII(pref, &value));
+ return value;
+}
+
+TEST_F(PrefsTabHelperUITest, NonGlobalPrefsAreMigrated) {
+ QuitBrowser();
+
+ ASSERT_TRUE(file_util::PathExists(tmp_pref_file_));
+
+ JSONFileValueSerializer deserializer(tmp_pref_file_);
+ scoped_ptr<Value> root(deserializer.Deserialize(NULL, NULL));
+ ASSERT_TRUE(root.get());
+ ASSERT_TRUE(root->IsType(Value::TYPE_DICTIONARY));
+ DictionaryValue* root_dict = static_cast<DictionaryValue*>(root.get());
+
+ EXPECT_FALSE(root_dict->HasKey(prefs::kDefaultCharset));
+ EXPECT_FALSE(root_dict->HasKey(prefs::kWebKitDefaultFontSize));
+ EXPECT_FALSE(root_dict->HasKey(prefs::kWebKitDefaultFixedFontSize));
+ EXPECT_FALSE(root_dict->HasKey(prefs::kWebKitMinimumFontSize));
+ EXPECT_FALSE(root_dict->HasKey(prefs::kWebKitMinimumLogicalFontSize));
+ EXPECT_FALSE(root_dict->HasKey(prefs::kWebKitCursiveFontFamily));
+ EXPECT_FALSE(root_dict->HasKey(prefs::kWebKitFantasyFontFamily));
+ EXPECT_FALSE(root_dict->HasKey(prefs::kWebKitFixedFontFamily));
+ EXPECT_FALSE(root_dict->HasKey(prefs::kWebKitSansSerifFontFamily));
+ EXPECT_FALSE(root_dict->HasKey(prefs::kWebKitSerifFontFamily));
+ EXPECT_FALSE(root_dict->HasKey(prefs::kWebKitStandardFontFamily));
+
+ EXPECT_EQ("ISO-8859-1", GetString(root_dict, prefs::kGlobalDefaultCharset));
+ EXPECT_EQ(42, GetInteger(root_dict, prefs::kWebKitGlobalDefaultFontSize));
+ EXPECT_EQ(42,
+ GetInteger(root_dict, prefs::kWebKitGlobalDefaultFixedFontSize));
+ EXPECT_EQ(42, GetInteger(root_dict, prefs::kWebKitGlobalMinimumFontSize));
+ EXPECT_EQ(42,
+ GetInteger(root_dict, prefs::kWebKitGlobalMinimumLogicalFontSize));
+ EXPECT_EQ("CursiveFontFamily",
+ GetString(root_dict, prefs::kWebKitGlobalCursiveFontFamily));
+ EXPECT_EQ("FantasyFontFamily",
+ GetString(root_dict, prefs::kWebKitGlobalFantasyFontFamily));
+ EXPECT_EQ("FixedFontFamily",
+ GetString(root_dict, prefs::kWebKitGlobalFixedFontFamily));
+ EXPECT_EQ("SansSerifFontFamily",
+ GetString(root_dict, prefs::kWebKitGlobalSansSerifFontFamily));
+ EXPECT_EQ("SerifFontFamily",
+ GetString(root_dict, prefs::kWebKitGlobalSerifFontFamily));
+ EXPECT_EQ("StandardFontFamily",
+ GetString(root_dict, prefs::kWebKitGlobalStandardFontFamily));
+
+ bool migrated = false;
+ EXPECT_TRUE(root_dict->GetBoolean(
+ prefs::kWebKitSettingsMigratedToGlobal, &migrated));
+ EXPECT_TRUE(migrated);
+}

Powered by Google App Engine
This is Rietveld 408576698