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

Side by Side 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "base/command_line.h"
6 #include "base/file_util.h"
7 #include "base/json/json_value_serializer.h"
8 #include "base/scoped_temp_dir.h"
9 #include "base/test/test_file_util.h"
10 #include "chrome/common/chrome_constants.h"
11 #include "chrome/common/chrome_switches.h"
12 #include "chrome/common/pref_names.h"
13 #include "chrome/browser/prefs/pref_service.h"
14 #include "chrome/test/ui/ui_test.h"
15
16 class PrefsTabHelperUITest : public UITest {
17 public:
Mattias Nissler (ping if slow) 2011/12/15 15:37:29 can be protected.
mnaganov (inactive) 2011/12/15 16:45:17 Done.
18 virtual void SetUp() {
19 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir());
20 FilePath tmp_profile = temp_dir_.path().AppendASCII("tmp_profile");
21
22 ASSERT_TRUE(file_util::CreateDirectory(tmp_profile));
23
24 FilePath non_global_pref_file;
25 non_global_pref_file = test_data_directory_
26 .AppendASCII("profiles")
27 .AppendASCII("webkit_global_migration")
28 .AppendASCII("Default")
29 .Append(chrome::kPreferencesFilename);
30 tmp_pref_file_ = tmp_profile.AppendASCII("Default");
31 ASSERT_TRUE(file_util::CreateDirectory(tmp_pref_file_));
32 tmp_pref_file_ = tmp_pref_file_.Append(chrome::kPreferencesFilename);
33
34 ASSERT_TRUE(file_util::PathExists(non_global_pref_file));
35 ASSERT_TRUE(file_util::CopyFile(non_global_pref_file, tmp_pref_file_));
36
37 #if defined(OS_WIN)
38 // Make the copy writable. On POSIX we assume the umask allows files
39 // we create to be writable.
40 ASSERT_TRUE(::SetFileAttributesW(tmp_pref_file_.value().c_str(),
41 FILE_ATTRIBUTE_NORMAL));
42 #endif
43
44 launch_arguments_.AppendSwitchPath(switches::kUserDataDir, tmp_profile);
45 UITest::SetUp();
46 }
47
48 public:
Mattias Nissler (ping if slow) 2011/12/15 15:37:29 remove
mnaganov (inactive) 2011/12/15 16:45:17 Done.
49 FilePath tmp_pref_file_;
50
51 private:
52 ScopedTempDir temp_dir_;
53 };
54
55 static int GetInteger(DictionaryValue* dict, const char* pref) {
56 int value = 0;
57 EXPECT_TRUE(dict->GetInteger(pref, &value));
58 return value;
59 }
60
61 static std::string GetString(DictionaryValue* dict, const char* pref) {
62 std::string value;
63 EXPECT_TRUE(dict->GetStringASCII(pref, &value));
64 return value;
65 }
66
67 TEST_F(PrefsTabHelperUITest, NonGlobalPrefsAreMigrated) {
68 QuitBrowser();
69
70 ASSERT_TRUE(file_util::PathExists(tmp_pref_file_));
71
72 JSONFileValueSerializer deserializer(tmp_pref_file_);
73 scoped_ptr<Value> root(deserializer.Deserialize(NULL, NULL));
74 ASSERT_TRUE(root.get());
75 ASSERT_TRUE(root->IsType(Value::TYPE_DICTIONARY));
76 DictionaryValue* root_dict = static_cast<DictionaryValue*>(root.get());
77
78 EXPECT_FALSE(root_dict->HasKey(prefs::kDefaultCharset));
79 EXPECT_FALSE(root_dict->HasKey(prefs::kWebKitDefaultFontSize));
80 EXPECT_FALSE(root_dict->HasKey(prefs::kWebKitDefaultFixedFontSize));
81 EXPECT_FALSE(root_dict->HasKey(prefs::kWebKitMinimumFontSize));
82 EXPECT_FALSE(root_dict->HasKey(prefs::kWebKitMinimumLogicalFontSize));
83 EXPECT_FALSE(root_dict->HasKey(prefs::kWebKitCursiveFontFamily));
84 EXPECT_FALSE(root_dict->HasKey(prefs::kWebKitFantasyFontFamily));
85 EXPECT_FALSE(root_dict->HasKey(prefs::kWebKitFixedFontFamily));
86 EXPECT_FALSE(root_dict->HasKey(prefs::kWebKitSansSerifFontFamily));
87 EXPECT_FALSE(root_dict->HasKey(prefs::kWebKitSerifFontFamily));
88 EXPECT_FALSE(root_dict->HasKey(prefs::kWebKitStandardFontFamily));
89
90 EXPECT_EQ("ISO-8859-1", GetString(root_dict, prefs::kGlobalDefaultCharset));
91 EXPECT_EQ(42, GetInteger(root_dict, prefs::kWebKitGlobalDefaultFontSize));
92 EXPECT_EQ(42,
93 GetInteger(root_dict, prefs::kWebKitGlobalDefaultFixedFontSize));
94 EXPECT_EQ(42, GetInteger(root_dict, prefs::kWebKitGlobalMinimumFontSize));
95 EXPECT_EQ(42,
96 GetInteger(root_dict, prefs::kWebKitGlobalMinimumLogicalFontSize));
97 EXPECT_EQ("CursiveFontFamily",
98 GetString(root_dict, prefs::kWebKitGlobalCursiveFontFamily));
99 EXPECT_EQ("FantasyFontFamily",
100 GetString(root_dict, prefs::kWebKitGlobalFantasyFontFamily));
101 EXPECT_EQ("FixedFontFamily",
102 GetString(root_dict, prefs::kWebKitGlobalFixedFontFamily));
103 EXPECT_EQ("SansSerifFontFamily",
104 GetString(root_dict, prefs::kWebKitGlobalSansSerifFontFamily));
105 EXPECT_EQ("SerifFontFamily",
106 GetString(root_dict, prefs::kWebKitGlobalSerifFontFamily));
107 EXPECT_EQ("StandardFontFamily",
108 GetString(root_dict, prefs::kWebKitGlobalStandardFontFamily));
109
110 bool migrated = false;
111 EXPECT_TRUE(root_dict->GetBoolean(
112 prefs::kWebKitSettingsMigratedToGlobal, &migrated));
113 EXPECT_TRUE(migrated);
114 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698