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

Side by Side Diff: chrome/installer/util/master_preferences_unittest.cc

Issue 4342001: Refactoring the master_preferences functions.... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 10 years, 1 month 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
« no previous file with comments | « chrome/installer/util/master_preferences_dummy.cc ('k') | chrome/installer/util/shell_util.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 // 4 //
5 // Unit tests for master preferences related methods. 5 // Unit tests for master preferences related methods.
6 6
7 #include "base/file_util.h" 7 #include "base/file_util.h"
8 #include "base/path_service.h" 8 #include "base/path_service.h"
9 #include "base/scoped_ptr.h" 9 #include "base/scoped_ptr.h"
10 #include "chrome/common/chrome_paths.h" 10 #include "chrome/common/chrome_paths.h"
11 #include "chrome/common/json_value_serializer.h" 11 #include "chrome/common/json_value_serializer.h"
12 #include "chrome/installer/util/master_preferences.h" 12 #include "chrome/installer/util/master_preferences.h"
13 #include "chrome/installer/util/master_preferences_constants.h"
13 #include "googleurl/src/gurl.h" 14 #include "googleurl/src/gurl.h"
14 #include "testing/gtest/include/gtest/gtest.h" 15 #include "testing/gtest/include/gtest/gtest.h"
15 16
16 namespace { 17 namespace {
17 class MasterPreferencesTest : public testing::Test { 18 class MasterPreferencesTest : public testing::Test {
18 protected: 19 protected:
19 virtual void SetUp() { 20 virtual void SetUp() {
20 ASSERT_TRUE(file_util::CreateTemporaryFile(&prefs_file_)); 21 ASSERT_TRUE(file_util::CreateTemporaryFile(&prefs_file_));
21 } 22 }
22 23
23 virtual void TearDown() { 24 virtual void TearDown() {
24 EXPECT_TRUE(file_util::Delete(prefs_file_, false)); 25 EXPECT_TRUE(file_util::Delete(prefs_file_, false));
25 } 26 }
26 27
27 const FilePath& prefs_file() const { return prefs_file_; } 28 const FilePath& prefs_file() const { return prefs_file_; }
28 29
29 private: 30 private:
30 FilePath prefs_file_; 31 FilePath prefs_file_;
31 }; 32 };
33
34 // Used to specify an expected value for a set boolean preference variable.
35 struct ExpectedBooleans {
36 const char* name;
37 bool expected_value;
38 };
39
32 } // namespace 40 } // namespace
33 41
34 TEST_F(MasterPreferencesTest, ParseDistroParams) { 42 TEST_F(MasterPreferencesTest, ParseDistroParams) {
35 const char text[] = 43 const char text[] =
36 "{ \n" 44 "{ \n"
37 " \"distribution\": { \n" 45 " \"distribution\": { \n"
38 " \"skip_first_run_ui\": true,\n" 46 " \"skip_first_run_ui\": true,\n"
39 " \"show_welcome_page\": true,\n" 47 " \"show_welcome_page\": true,\n"
40 " \"import_search_engine\": true,\n" 48 " \"import_search_engine\": true,\n"
41 " \"import_history\": true,\n" 49 " \"import_history\": true,\n"
(...skipping 12 matching lines...) Expand all
54 " \"chrome_shortcut_icon_index\": 1,\n" 62 " \"chrome_shortcut_icon_index\": 1,\n"
55 " \"ping_delay\": 40,\n" 63 " \"ping_delay\": 40,\n"
56 " \"search_engine_experiment\": true\n" 64 " \"search_engine_experiment\": true\n"
57 " },\n" 65 " },\n"
58 " \"blah\": {\n" 66 " \"blah\": {\n"
59 " \"import_history\": false\n" 67 " \"import_history\": false\n"
60 " }\n" 68 " }\n"
61 "} \n"; 69 "} \n";
62 70
63 EXPECT_TRUE(file_util::WriteFile(prefs_file(), text, sizeof(text))); 71 EXPECT_TRUE(file_util::WriteFile(prefs_file(), text, sizeof(text)));
64 scoped_ptr<DictionaryValue> prefs( 72 installer_util::MasterPreferences prefs(prefs_file());
65 installer_util::ParseDistributionPreferences(prefs_file()));
66 EXPECT_TRUE(prefs.get() != NULL);
67 bool value = true;
68 EXPECT_TRUE(installer_util::GetDistroBooleanPreference(prefs.get(),
69 installer_util::master_preferences::kDistroSkipFirstRunPref, &value) &&
70 value);
71 EXPECT_TRUE(installer_util::GetDistroBooleanPreference(prefs.get(),
72 installer_util::master_preferences::kDistroShowWelcomePage, &value) &&
73 value);
74 73
75 EXPECT_TRUE(installer_util::GetDistroBooleanPreference(prefs.get(), 74 const char* expected_true[] = {
76 installer_util::master_preferences::kDistroImportSearchPref, &value) && 75 installer_util::master_preferences::kDistroSkipFirstRunPref,
77 value); 76 installer_util::master_preferences::kDistroShowWelcomePage,
78 EXPECT_TRUE(installer_util::GetDistroBooleanPreference(prefs.get(), 77 installer_util::master_preferences::kDistroImportSearchPref,
79 installer_util::master_preferences::kDistroImportHistoryPref, &value) && 78 installer_util::master_preferences::kDistroImportHistoryPref,
80 value); 79 installer_util::master_preferences::kDistroImportBookmarksPref,
81 EXPECT_TRUE(installer_util::GetDistroBooleanPreference(prefs.get(), 80 installer_util::master_preferences::kDistroImportHomePagePref,
82 installer_util::master_preferences::kDistroImportBookmarksPref, &value) && 81 installer_util::master_preferences::kCreateAllShortcuts,
83 value); 82 installer_util::master_preferences::kDoNotLaunchChrome,
83 installer_util::master_preferences::kMakeChromeDefault,
84 installer_util::master_preferences::kMakeChromeDefaultForUser,
85 installer_util::master_preferences::kSystemLevel,
86 installer_util::master_preferences::kVerboseLogging,
87 installer_util::master_preferences::kRequireEula,
88 installer_util::master_preferences::kAltShortcutText,
89 installer_util::master_preferences::kAltFirstRunBubble,
90 installer_util::master_preferences::kSearchEngineExperimentPref,
91 };
92
93 for (int i = 0; i < arraysize(expected_true); ++i) {
94 bool value = false;
95 EXPECT_TRUE(prefs.GetBool(expected_true[i], &value));
96 EXPECT_TRUE(value) << expected_true[i];
97 }
98
84 std::string str_value; 99 std::string str_value;
85 EXPECT_TRUE(installer_util::GetDistroStringPreference(prefs.get(), 100 EXPECT_TRUE(prefs.GetString(
86 installer_util::master_preferences::kDistroImportBookmarksFromFilePref, 101 installer_util::master_preferences::kDistroImportBookmarksFromFilePref,
87 &str_value)); 102 &str_value));
88 EXPECT_STREQ("c:\\foo", str_value.c_str()); 103 EXPECT_STREQ("c:\\foo", str_value.c_str());
89 EXPECT_TRUE(installer_util::GetDistroBooleanPreference(prefs.get(),
90 installer_util::master_preferences::kDistroImportHomePagePref, &value) &&
91 value);
92 104
93 EXPECT_TRUE(installer_util::GetDistroBooleanPreference(prefs.get(),
94 installer_util::master_preferences::kCreateAllShortcuts, &value) &&
95 value);
96 EXPECT_TRUE(installer_util::GetDistroBooleanPreference(prefs.get(),
97 installer_util::master_preferences::kDoNotLaunchChrome, &value) &&
98 value);
99 EXPECT_TRUE(installer_util::GetDistroBooleanPreference(prefs.get(),
100 installer_util::master_preferences::kMakeChromeDefault, &value) &&
101 value);
102 EXPECT_TRUE(installer_util::GetDistroBooleanPreference(prefs.get(),
103 installer_util::master_preferences::kMakeChromeDefaultForUser, &value) &&
104 value);
105
106 EXPECT_TRUE(installer_util::GetDistroBooleanPreference(prefs.get(),
107 installer_util::master_preferences::kSystemLevel, &value) &&
108 value);
109 EXPECT_TRUE(installer_util::GetDistroBooleanPreference(prefs.get(),
110 installer_util::master_preferences::kVerboseLogging, &value) &&
111 value);
112 EXPECT_TRUE(installer_util::GetDistroBooleanPreference(prefs.get(),
113 installer_util::master_preferences::kRequireEula, &value) &&
114 value);
115 EXPECT_TRUE(installer_util::GetDistroBooleanPreference(prefs.get(),
116 installer_util::master_preferences::kAltShortcutText, &value) &&
117 value);
118
119 EXPECT_TRUE(installer_util::GetDistroBooleanPreference(prefs.get(),
120 installer_util::master_preferences::kAltFirstRunBubble, &value) &&
121 value);
122 int icon_index = 0; 105 int icon_index = 0;
123 EXPECT_TRUE(installer_util::GetDistroIntegerPreference(prefs.get(), 106 EXPECT_TRUE(prefs.GetInt(
124 installer_util::master_preferences::kChromeShortcutIconIndex, 107 installer_util::master_preferences::kChromeShortcutIconIndex,
125 &icon_index)); 108 &icon_index));
126 EXPECT_EQ(icon_index, 1); 109 EXPECT_EQ(icon_index, 1);
127 int ping_delay = 90; 110 int ping_delay = 90;
128 EXPECT_TRUE(installer_util::GetDistroIntegerPreference(prefs.get(), 111 EXPECT_TRUE(prefs.GetInt(installer_util::master_preferences::kDistroPingDelay,
129 installer_util::master_preferences::kDistroPingDelay, &ping_delay)); 112 &ping_delay));
130 EXPECT_EQ(ping_delay, 40); 113 EXPECT_EQ(ping_delay, 40);
131 EXPECT_TRUE(installer_util::GetDistroBooleanPreference(prefs.get(),
132 installer_util::master_preferences::kSearchEngineExperimentPref, &value) &&
133 value);
134 } 114 }
135 115
136 TEST_F(MasterPreferencesTest, ParseMissingDistroParams) { 116 TEST_F(MasterPreferencesTest, ParseMissingDistroParams) {
137 const char text[] = 117 const char text[] =
138 "{ \n" 118 "{ \n"
139 " \"distribution\": { \n" 119 " \"distribution\": { \n"
140 " \"skip_first_run_ui\": true,\n" 120 " \"skip_first_run_ui\": true,\n"
141 " \"import_search_engine\": true,\n" 121 " \"import_search_engine\": true,\n"
142 " \"import_bookmarks\": false,\n" 122 " \"import_bookmarks\": false,\n"
143 " \"import_bookmarks_from_file\": \"\",\n" 123 " \"import_bookmarks_from_file\": \"\",\n"
144 " \"create_all_shortcuts\": true,\n" 124 " \"create_all_shortcuts\": true,\n"
145 " \"do_not_launch_chrome\": true,\n" 125 " \"do_not_launch_chrome\": true,\n"
146 " \"chrome_shortcut_icon_index\": \"bac\"\n" 126 " \"chrome_shortcut_icon_index\": \"bac\"\n"
147 " }\n" 127 " }\n"
148 "} \n"; 128 "} \n";
149 129
150 EXPECT_TRUE(file_util::WriteFile(prefs_file(), text, sizeof(text))); 130 EXPECT_TRUE(file_util::WriteFile(prefs_file(), text, sizeof(text)));
151 scoped_ptr<DictionaryValue> prefs( 131 installer_util::MasterPreferences prefs(prefs_file());
152 installer_util::ParseDistributionPreferences(prefs_file())); 132
153 EXPECT_TRUE(prefs.get() != NULL); 133 ExpectedBooleans expected_bool[] = {
134 { installer_util::master_preferences::kDistroSkipFirstRunPref, true },
135 { installer_util::master_preferences::kDistroImportSearchPref, true },
136 { installer_util::master_preferences::kDistroImportBookmarksPref, false },
137 { installer_util::master_preferences::kCreateAllShortcuts, true },
138 { installer_util::master_preferences::kDoNotLaunchChrome, true },
139 };
140
154 bool value = false; 141 bool value = false;
155 EXPECT_TRUE(installer_util::GetDistroBooleanPreference(prefs.get(), 142 for (int i = 0; i < arraysize(expected_bool); ++i) {
156 installer_util::master_preferences::kDistroSkipFirstRunPref, &value) && 143 EXPECT_TRUE(prefs.GetBool(expected_bool[i].name, &value));
157 value); 144 EXPECT_EQ(value, expected_bool[i].expected_value) << expected_bool[i].name;
158 EXPECT_FALSE(installer_util::GetDistroBooleanPreference(prefs.get(), 145 }
159 installer_util::master_preferences::kDistroShowWelcomePage, &value));
160 146
161 EXPECT_TRUE(installer_util::GetDistroBooleanPreference(prefs.get(), 147 const char* missing_bools[] = {
162 installer_util::master_preferences::kDistroImportSearchPref, &value) && 148 installer_util::master_preferences::kDistroShowWelcomePage,
163 value); 149 installer_util::master_preferences::kDistroImportHistoryPref,
164 EXPECT_FALSE(installer_util::GetDistroBooleanPreference(prefs.get(), 150 installer_util::master_preferences::kDistroImportHomePagePref,
165 installer_util::master_preferences::kDistroImportHistoryPref, &value)); 151 installer_util::master_preferences::kDoNotRegisterForUpdateLaunch,
166 EXPECT_TRUE(installer_util::GetDistroBooleanPreference(prefs.get(), 152 installer_util::master_preferences::kMakeChromeDefault,
167 installer_util::master_preferences::kDistroImportBookmarksPref, &value)); 153 installer_util::master_preferences::kMakeChromeDefaultForUser,
168 EXPECT_FALSE(value); 154 };
155
156 for (int i = 0; i < arraysize(missing_bools); ++i) {
157 EXPECT_FALSE(prefs.GetBool(missing_bools[i], &value)) << missing_bools[i];
158 }
159
169 std::string str_value; 160 std::string str_value;
170 EXPECT_FALSE(installer_util::GetDistroStringPreference(prefs.get(), 161 EXPECT_FALSE(prefs.GetString(
171 installer_util::master_preferences::kDistroImportBookmarksFromFilePref, 162 installer_util::master_preferences::kDistroImportBookmarksFromFilePref,
172 &str_value)); 163 &str_value));
173 EXPECT_FALSE(installer_util::GetDistroBooleanPreference(prefs.get(),
174 installer_util::master_preferences::kDistroImportHomePagePref, &value));
175
176 EXPECT_TRUE(installer_util::GetDistroBooleanPreference(prefs.get(),
177 installer_util::master_preferences::kCreateAllShortcuts, &value) &&
178 value);
179 EXPECT_TRUE(installer_util::GetDistroBooleanPreference(prefs.get(),
180 installer_util::master_preferences::kDoNotLaunchChrome, &value) &&
181 value);
182 EXPECT_FALSE(installer_util::GetDistroBooleanPreference(prefs.get(),
183 installer_util::master_preferences::kDoNotRegisterForUpdateLaunch,
184 &value));
185 EXPECT_FALSE(installer_util::GetDistroBooleanPreference(prefs.get(),
186 installer_util::master_preferences::kMakeChromeDefault, &value));
187 EXPECT_FALSE(installer_util::GetDistroBooleanPreference(prefs.get(),
188 installer_util::master_preferences::kMakeChromeDefaultForUser, &value));
189 164
190 int icon_index = 0; 165 int icon_index = 0;
191 EXPECT_FALSE(installer_util::GetDistroIntegerPreference(prefs.get(), 166 EXPECT_FALSE(prefs.GetInt(
192 installer_util::master_preferences::kChromeShortcutIconIndex, 167 installer_util::master_preferences::kChromeShortcutIconIndex,
193 &icon_index)); 168 &icon_index));
194 EXPECT_EQ(icon_index, 0); 169 EXPECT_EQ(icon_index, 0);
170
195 int ping_delay = 90; 171 int ping_delay = 90;
196 EXPECT_FALSE(installer_util::GetDistroIntegerPreference(prefs.get(), 172 EXPECT_FALSE(prefs.GetInt(
197 installer_util::master_preferences::kDistroPingDelay, &ping_delay)); 173 installer_util::master_preferences::kDistroPingDelay, &ping_delay));
198 EXPECT_EQ(ping_delay, 90); 174 EXPECT_EQ(ping_delay, 90);
199 } 175 }
200 176
201 TEST_F(MasterPreferencesTest, FirstRunTabs) { 177 TEST_F(MasterPreferencesTest, FirstRunTabs) {
202 const char text[] = 178 const char text[] =
203 "{ \n" 179 "{ \n"
204 " \"distribution\": { \n" 180 " \"distribution\": { \n"
205 " \"something here\": true\n" 181 " \"something here\": true\n"
206 " },\n" 182 " },\n"
207 " \"first_run_tabs\": [\n" 183 " \"first_run_tabs\": [\n"
208 " \"http://google.com/f1\",\n" 184 " \"http://google.com/f1\",\n"
209 " \"https://google.com/f2\",\n" 185 " \"https://google.com/f2\",\n"
210 " \"new_tab_page\"\n" 186 " \"new_tab_page\"\n"
211 " ]\n" 187 " ]\n"
212 "} \n"; 188 "} \n";
213 189
214 EXPECT_TRUE(file_util::WriteFile(prefs_file(), text, sizeof(text))); 190 EXPECT_TRUE(file_util::WriteFile(prefs_file(), text, sizeof(text)));
215 scoped_ptr<DictionaryValue> prefs( 191 installer_util::MasterPreferences prefs(prefs_file());
216 installer_util::ParseDistributionPreferences(prefs_file()));
217 EXPECT_TRUE(prefs.get() != NULL);
218
219 typedef std::vector<GURL> TabsVector; 192 typedef std::vector<GURL> TabsVector;
220 TabsVector tabs = installer_util::GetFirstRunTabs(prefs.get()); 193 TabsVector tabs = prefs.GetFirstRunTabs();
221 ASSERT_EQ(3, tabs.size()); 194 ASSERT_EQ(3, tabs.size());
222 EXPECT_EQ(GURL("http://google.com/f1"), tabs[0]); 195 EXPECT_EQ(GURL("http://google.com/f1"), tabs[0]);
223 EXPECT_EQ(GURL("https://google.com/f2"), tabs[1]); 196 EXPECT_EQ(GURL("https://google.com/f2"), tabs[1]);
224 EXPECT_EQ(GURL("new_tab_page"), tabs[2]); 197 EXPECT_EQ(GURL("new_tab_page"), tabs[2]);
225 } 198 }
226 199
227 // In this test instead of using our synthetic json file, we use an 200 // In this test instead of using our synthetic json file, we use an
228 // actual test case from the extensions unittest. The hope here is that if 201 // actual test case from the extensions unittest. The hope here is that if
229 // they change something in the manifest this test will break, but in 202 // they change something in the manifest this test will break, but in
230 // general it is expected the extension format to be backwards compatible. 203 // general it is expected the extension format to be backwards compatible.
231 TEST(MasterPrefsExtension, ValidateExtensionJSON) { 204 TEST(MasterPrefsExtension, ValidateExtensionJSON) {
232 FilePath prefs_path; 205 FilePath prefs_path;
233 ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &prefs_path)); 206 ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &prefs_path));
234 prefs_path = prefs_path.AppendASCII("extensions") 207 prefs_path = prefs_path.AppendASCII("extensions")
235 .AppendASCII("good").AppendASCII("Preferences"); 208 .AppendASCII("good").AppendASCII("Preferences");
236 209
237 scoped_ptr<DictionaryValue> prefs( 210 installer_util::MasterPreferences prefs(prefs_path);
238 installer_util::ParseDistributionPreferences(prefs_path));
239 ASSERT_TRUE(prefs.get() != NULL);
240 DictionaryValue* extensions = NULL; 211 DictionaryValue* extensions = NULL;
241 EXPECT_TRUE(installer_util::HasExtensionsBlock(prefs.get(), &extensions)); 212 EXPECT_TRUE(prefs.GetExtensionsBlock(&extensions));
242 int location = 0; 213 int location = 0;
243 EXPECT_TRUE(extensions->GetInteger( 214 EXPECT_TRUE(extensions->GetInteger(
244 "behllobkkfkfnphdnhnkndlbkcpglgmj.location", &location)); 215 "behllobkkfkfnphdnhnkndlbkcpglgmj.location", &location));
245 int state = 0; 216 int state = 0;
246 EXPECT_TRUE(extensions->GetInteger( 217 EXPECT_TRUE(extensions->GetInteger(
247 "behllobkkfkfnphdnhnkndlbkcpglgmj.state", &state)); 218 "behllobkkfkfnphdnhnkndlbkcpglgmj.state", &state));
248 std::string path; 219 std::string path;
249 EXPECT_TRUE(extensions->GetString( 220 EXPECT_TRUE(extensions->GetString(
250 "behllobkkfkfnphdnhnkndlbkcpglgmj.path", &path)); 221 "behllobkkfkfnphdnhnkndlbkcpglgmj.path", &path));
251 std::string key; 222 std::string key;
(...skipping 24 matching lines...) Expand all
276 "} \n"; 247 "} \n";
277 EXPECT_TRUE(file_util::WriteFile(prefs_file, text, sizeof(text))); 248 EXPECT_TRUE(file_util::WriteFile(prefs_file, text, sizeof(text)));
278 249
279 // Make sure command line values override the values in master preferences. 250 // Make sure command line values override the values in master preferences.
280 std::wstring cmd_str( 251 std::wstring cmd_str(
281 L"setup.exe --installerdata=\"" + prefs_file.value() + L"\""); 252 L"setup.exe --installerdata=\"" + prefs_file.value() + L"\"");
282 cmd_str.append(L" --create-all-shortcuts"); 253 cmd_str.append(L" --create-all-shortcuts");
283 cmd_str.append(L" --do-not-launch-chrome"); 254 cmd_str.append(L" --do-not-launch-chrome");
284 cmd_str.append(L" --alt-desktop-shortcut"); 255 cmd_str.append(L" --alt-desktop-shortcut");
285 CommandLine cmd_line = CommandLine::FromString(cmd_str); 256 CommandLine cmd_line = CommandLine::FromString(cmd_str);
286 scoped_ptr<DictionaryValue> prefs( 257 installer_util::MasterPreferences prefs(cmd_line);
287 installer_util::GetInstallPreferences(cmd_line));
288 EXPECT_TRUE(prefs.get() != NULL);
289 258
290 // Check prefs that do not have any equivalent command line option. 259 // Check prefs that do not have any equivalent command line option.
291 bool value = false; 260 ExpectedBooleans expected_bool[] = {
292 EXPECT_TRUE(installer_util::GetDistroBooleanPreference(prefs.get(), 261 { installer_util::master_preferences::kDistroSkipFirstRunPref, true },
293 installer_util::master_preferences::kDistroSkipFirstRunPref, &value) && 262 { installer_util::master_preferences::kCreateAllShortcuts, true },
294 value); 263 { installer_util::master_preferences::kDoNotLaunchChrome, true },
295 EXPECT_FALSE(installer_util::GetDistroBooleanPreference(prefs.get(), 264 { installer_util::master_preferences::kAltShortcutText, true },
296 installer_util::master_preferences::kDistroShowWelcomePage, &value)); 265 { installer_util::master_preferences::kSystemLevel, true },
266 { installer_util::master_preferences::kVerboseLogging, false },
267 };
297 268
298 // Now check that prefs got merged correctly. 269 // Now check that prefs got merged correctly.
299 EXPECT_TRUE(installer_util::GetDistroBooleanPreference(prefs.get(), 270 bool value = false;
300 installer_util::master_preferences::kCreateAllShortcuts, &value) && 271 for (int i = 0; i < arraysize(expected_bool); ++i) {
301 value); 272 EXPECT_TRUE(prefs.GetBool(expected_bool[i].name, &value));
302 EXPECT_TRUE(installer_util::GetDistroBooleanPreference(prefs.get(), 273 EXPECT_EQ(value, expected_bool[i].expected_value) << expected_bool[i].name;
303 installer_util::master_preferences::kDoNotLaunchChrome, &value) && 274 }
304 value);
305 EXPECT_TRUE(installer_util::GetDistroBooleanPreference(prefs.get(),
306 installer_util::master_preferences::kAltShortcutText, &value) &&
307 value);
308 EXPECT_TRUE(installer_util::GetDistroBooleanPreference(prefs.get(),
309 installer_util::master_preferences::kSystemLevel, &value) &&
310 value);
311 EXPECT_TRUE(installer_util::GetDistroBooleanPreference(prefs.get(),
312 installer_util::master_preferences::kVerboseLogging, &value));
313 EXPECT_FALSE(value);
314 275
315 // Delete temporary prefs file. 276 // Delete temporary prefs file.
316 EXPECT_TRUE(file_util::Delete(prefs_file, false)); 277 EXPECT_TRUE(file_util::Delete(prefs_file, false));
317 278
318 // Check that if master prefs doesn't exist, we can still parse the common 279 // Check that if master prefs doesn't exist, we can still parse the common
319 // prefs. 280 // prefs.
320 cmd_str = L"setup.exe --create-all-shortcuts --do-not-launch-chrome" 281 cmd_str = L"setup.exe --create-all-shortcuts --do-not-launch-chrome"
321 L" --alt-desktop-shortcut"; 282 L" --alt-desktop-shortcut";
322 cmd_line.ParseFromString(cmd_str); 283 cmd_line.ParseFromString(cmd_str);
323 prefs.reset(installer_util::GetInstallPreferences(cmd_line)); 284 installer_util::MasterPreferences prefs2(cmd_line);
324 EXPECT_TRUE(prefs.get() != NULL); 285 ExpectedBooleans expected_bool2[] = {
325 EXPECT_TRUE(installer_util::GetDistroBooleanPreference(prefs.get(), 286 { installer_util::master_preferences::kCreateAllShortcuts, true },
326 installer_util::master_preferences::kCreateAllShortcuts, &value) && 287 { installer_util::master_preferences::kDoNotLaunchChrome, true },
327 value); 288 { installer_util::master_preferences::kAltShortcutText, true },
328 EXPECT_TRUE(installer_util::GetDistroBooleanPreference(prefs.get(), 289 };
329 installer_util::master_preferences::kDoNotLaunchChrome, &value) && 290
330 value); 291 for (int i = 0; i < arraysize(expected_bool2); ++i) {
331 EXPECT_TRUE(installer_util::GetDistroBooleanPreference(prefs.get(), 292 EXPECT_TRUE(prefs2.GetBool(expected_bool2[i].name, &value));
332 installer_util::master_preferences::kAltShortcutText, &value) && 293 EXPECT_EQ(value, expected_bool2[i].expected_value)
333 value); 294 << expected_bool2[i].name;
334 EXPECT_FALSE(installer_util::GetDistroBooleanPreference(prefs.get(), 295 }
296
297 EXPECT_FALSE(prefs2.GetBool(
335 installer_util::master_preferences::kSystemLevel, &value)); 298 installer_util::master_preferences::kSystemLevel, &value));
336 EXPECT_FALSE(installer_util::GetDistroBooleanPreference(prefs.get(), 299 EXPECT_FALSE(prefs2.GetBool(
337 installer_util::master_preferences::kVerboseLogging, &value)); 300 installer_util::master_preferences::kVerboseLogging, &value));
338 } 301 }
OLDNEW
« no previous file with comments | « chrome/installer/util/master_preferences_dummy.cc ('k') | chrome/installer/util/shell_util.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698