OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/files/file_util.h" | 7 #include "base/files/file_util.h" |
8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
9 #include "base/path_service.h" | 9 #include "base/path_service.h" |
10 #include "base/strings/stringprintf.h" | 10 #include "base/strings/stringprintf.h" |
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
94 installer::master_preferences::kDoNotCreateTaskbarShortcut, | 94 installer::master_preferences::kDoNotCreateTaskbarShortcut, |
95 installer::master_preferences::kDoNotLaunchChrome, | 95 installer::master_preferences::kDoNotLaunchChrome, |
96 installer::master_preferences::kMakeChromeDefault, | 96 installer::master_preferences::kMakeChromeDefault, |
97 installer::master_preferences::kMakeChromeDefaultForUser, | 97 installer::master_preferences::kMakeChromeDefaultForUser, |
98 installer::master_preferences::kSystemLevel, | 98 installer::master_preferences::kSystemLevel, |
99 installer::master_preferences::kVerboseLogging, | 99 installer::master_preferences::kVerboseLogging, |
100 installer::master_preferences::kRequireEula, | 100 installer::master_preferences::kRequireEula, |
101 installer::master_preferences::kAltShortcutText, | 101 installer::master_preferences::kAltShortcutText, |
102 }; | 102 }; |
103 | 103 |
104 for (int i = 0; i < arraysize(expected_true); ++i) { | 104 for (size_t i = 0; i < arraysize(expected_true); ++i) { |
105 bool value = false; | 105 bool value = false; |
106 EXPECT_TRUE(prefs.GetBool(expected_true[i], &value)); | 106 EXPECT_TRUE(prefs.GetBool(expected_true[i], &value)); |
107 EXPECT_TRUE(value) << expected_true[i]; | 107 EXPECT_TRUE(value) << expected_true[i]; |
108 } | 108 } |
109 | 109 |
110 std::string str_value; | 110 std::string str_value; |
111 EXPECT_TRUE(prefs.GetString( | 111 EXPECT_TRUE(prefs.GetString( |
112 installer::master_preferences::kDistroImportBookmarksFromFilePref, | 112 installer::master_preferences::kDistroImportBookmarksFromFilePref, |
113 &str_value)); | 113 &str_value)); |
114 EXPECT_STREQ("c:\\foo", str_value.c_str()); | 114 EXPECT_STREQ("c:\\foo", str_value.c_str()); |
(...skipping 30 matching lines...) Expand all Loading... |
145 | 145 |
146 ExpectedBooleans expected_bool[] = { | 146 ExpectedBooleans expected_bool[] = { |
147 { installer::master_preferences::kDistroImportSearchPref, true }, | 147 { installer::master_preferences::kDistroImportSearchPref, true }, |
148 { installer::master_preferences::kDistroImportBookmarksPref, false }, | 148 { installer::master_preferences::kDistroImportBookmarksPref, false }, |
149 { installer::master_preferences::kDoNotCreateDesktopShortcut, true }, | 149 { installer::master_preferences::kDoNotCreateDesktopShortcut, true }, |
150 { installer::master_preferences::kDoNotCreateQuickLaunchShortcut, true }, | 150 { installer::master_preferences::kDoNotCreateQuickLaunchShortcut, true }, |
151 { installer::master_preferences::kDoNotLaunchChrome, true }, | 151 { installer::master_preferences::kDoNotLaunchChrome, true }, |
152 }; | 152 }; |
153 | 153 |
154 bool value = false; | 154 bool value = false; |
155 for (int i = 0; i < arraysize(expected_bool); ++i) { | 155 for (size_t i = 0; i < arraysize(expected_bool); ++i) { |
156 EXPECT_TRUE(prefs.GetBool(expected_bool[i].name, &value)); | 156 EXPECT_TRUE(prefs.GetBool(expected_bool[i].name, &value)); |
157 EXPECT_EQ(value, expected_bool[i].expected_value) << expected_bool[i].name; | 157 EXPECT_EQ(value, expected_bool[i].expected_value) << expected_bool[i].name; |
158 } | 158 } |
159 | 159 |
160 const char* const missing_bools[] = { | 160 const char* const missing_bools[] = { |
161 installer::master_preferences::kDistroImportHomePagePref, | 161 installer::master_preferences::kDistroImportHomePagePref, |
162 installer::master_preferences::kDistroWelcomePageOnOSUpgradeEnabled, | 162 installer::master_preferences::kDistroWelcomePageOnOSUpgradeEnabled, |
163 installer::master_preferences::kDoNotRegisterForUpdateLaunch, | 163 installer::master_preferences::kDoNotRegisterForUpdateLaunch, |
164 installer::master_preferences::kMakeChromeDefault, | 164 installer::master_preferences::kMakeChromeDefault, |
165 installer::master_preferences::kMakeChromeDefaultForUser, | 165 installer::master_preferences::kMakeChromeDefaultForUser, |
166 }; | 166 }; |
167 | 167 |
168 for (int i = 0; i < arraysize(missing_bools); ++i) { | 168 for (size_t i = 0; i < arraysize(missing_bools); ++i) { |
169 EXPECT_FALSE(prefs.GetBool(missing_bools[i], &value)) << missing_bools[i]; | 169 EXPECT_FALSE(prefs.GetBool(missing_bools[i], &value)) << missing_bools[i]; |
170 } | 170 } |
171 | 171 |
172 std::string str_value; | 172 std::string str_value; |
173 EXPECT_FALSE(prefs.GetString( | 173 EXPECT_FALSE(prefs.GetString( |
174 installer::master_preferences::kDistroImportBookmarksFromFilePref, | 174 installer::master_preferences::kDistroImportBookmarksFromFilePref, |
175 &str_value)); | 175 &str_value)); |
176 | 176 |
177 int icon_index = 0; | 177 int icon_index = 0; |
178 EXPECT_FALSE(prefs.GetInt( | 178 EXPECT_FALSE(prefs.GetInt( |
(...skipping 18 matching lines...) Expand all Loading... |
197 " \"https://google.com/f2\",\n" | 197 " \"https://google.com/f2\",\n" |
198 " \"new_tab_page\"\n" | 198 " \"new_tab_page\"\n" |
199 " ]\n" | 199 " ]\n" |
200 "} \n"; | 200 "} \n"; |
201 | 201 |
202 EXPECT_TRUE(base::WriteFile(prefs_file(), text, | 202 EXPECT_TRUE(base::WriteFile(prefs_file(), text, |
203 static_cast<int>(strlen(text)))); | 203 static_cast<int>(strlen(text)))); |
204 installer::MasterPreferences prefs(prefs_file()); | 204 installer::MasterPreferences prefs(prefs_file()); |
205 typedef std::vector<std::string> TabsVector; | 205 typedef std::vector<std::string> TabsVector; |
206 TabsVector tabs = prefs.GetFirstRunTabs(); | 206 TabsVector tabs = prefs.GetFirstRunTabs(); |
207 ASSERT_EQ(3, tabs.size()); | 207 ASSERT_EQ(3u, tabs.size()); |
208 EXPECT_EQ("http://google.com/f1", tabs[0]); | 208 EXPECT_EQ("http://google.com/f1", tabs[0]); |
209 EXPECT_EQ("https://google.com/f2", tabs[1]); | 209 EXPECT_EQ("https://google.com/f2", tabs[1]); |
210 EXPECT_EQ("new_tab_page", tabs[2]); | 210 EXPECT_EQ("new_tab_page", tabs[2]); |
211 } | 211 } |
212 | 212 |
213 // In this test instead of using our synthetic json file, we use an | 213 // In this test instead of using our synthetic json file, we use an |
214 // actual test case from the extensions unittest. The hope here is that if | 214 // actual test case from the extensions unittest. The hope here is that if |
215 // they change something in the manifest this test will break, but in | 215 // they change something in the manifest this test will break, but in |
216 // general it is expected the extension format to be backwards compatible. | 216 // general it is expected the extension format to be backwards compatible. |
217 TEST(MasterPrefsExtension, ValidateExtensionJSON) { | 217 TEST(MasterPrefsExtension, ValidateExtensionJSON) { |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
270 | 270 |
271 // Check prefs that do not have any equivalent command line option. | 271 // Check prefs that do not have any equivalent command line option. |
272 ExpectedBooleans expected_bool[] = { | 272 ExpectedBooleans expected_bool[] = { |
273 { installer::master_preferences::kDoNotLaunchChrome, true }, | 273 { installer::master_preferences::kDoNotLaunchChrome, true }, |
274 { installer::master_preferences::kSystemLevel, true }, | 274 { installer::master_preferences::kSystemLevel, true }, |
275 { installer::master_preferences::kVerboseLogging, false }, | 275 { installer::master_preferences::kVerboseLogging, false }, |
276 }; | 276 }; |
277 | 277 |
278 // Now check that prefs got merged correctly. | 278 // Now check that prefs got merged correctly. |
279 bool value = false; | 279 bool value = false; |
280 for (int i = 0; i < arraysize(expected_bool); ++i) { | 280 for (size_t i = 0; i < arraysize(expected_bool); ++i) { |
281 EXPECT_TRUE(prefs.GetBool(expected_bool[i].name, &value)); | 281 EXPECT_TRUE(prefs.GetBool(expected_bool[i].name, &value)); |
282 EXPECT_EQ(value, expected_bool[i].expected_value) << expected_bool[i].name; | 282 EXPECT_EQ(value, expected_bool[i].expected_value) << expected_bool[i].name; |
283 } | 283 } |
284 | 284 |
285 // Delete temporary prefs file. | 285 // Delete temporary prefs file. |
286 EXPECT_TRUE(base::DeleteFile(prefs_file, false)); | 286 EXPECT_TRUE(base::DeleteFile(prefs_file, false)); |
287 | 287 |
288 // Check that if master prefs doesn't exist, we can still parse the common | 288 // Check that if master prefs doesn't exist, we can still parse the common |
289 // prefs. | 289 // prefs. |
290 cmd_str = L"setup.exe --do-not-launch-chrome"; | 290 cmd_str = L"setup.exe --do-not-launch-chrome"; |
291 cmd_line.ParseFromString(cmd_str); | 291 cmd_line.ParseFromString(cmd_str); |
292 installer::MasterPreferences prefs2(cmd_line); | 292 installer::MasterPreferences prefs2(cmd_line); |
293 ExpectedBooleans expected_bool2[] = { | 293 ExpectedBooleans expected_bool2[] = { |
294 { installer::master_preferences::kDoNotLaunchChrome, true }, | 294 { installer::master_preferences::kDoNotLaunchChrome, true }, |
295 }; | 295 }; |
296 | 296 |
297 for (int i = 0; i < arraysize(expected_bool2); ++i) { | 297 for (size_t i = 0; i < arraysize(expected_bool2); ++i) { |
298 EXPECT_TRUE(prefs2.GetBool(expected_bool2[i].name, &value)); | 298 EXPECT_TRUE(prefs2.GetBool(expected_bool2[i].name, &value)); |
299 EXPECT_EQ(value, expected_bool2[i].expected_value) | 299 EXPECT_EQ(value, expected_bool2[i].expected_value) |
300 << expected_bool2[i].name; | 300 << expected_bool2[i].name; |
301 } | 301 } |
302 | 302 |
303 EXPECT_FALSE(prefs2.GetBool( | 303 EXPECT_FALSE(prefs2.GetBool( |
304 installer::master_preferences::kSystemLevel, &value)); | 304 installer::master_preferences::kSystemLevel, &value)); |
305 EXPECT_FALSE(prefs2.GetBool( | 305 EXPECT_FALSE(prefs2.GetBool( |
306 installer::master_preferences::kVerboseLogging, &value)); | 306 installer::master_preferences::kVerboseLogging, &value)); |
307 } | 307 } |
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
411 prefs.GetBool( | 411 prefs.GetBool( |
412 installer::master_preferences::kDoNotCreateQuickLaunchShortcut, | 412 installer::master_preferences::kDoNotCreateQuickLaunchShortcut, |
413 &do_not_create_quick_launch_shortcut); | 413 &do_not_create_quick_launch_shortcut); |
414 prefs.GetBool( | 414 prefs.GetBool( |
415 installer::master_preferences::kDoNotCreateTaskbarShortcut, | 415 installer::master_preferences::kDoNotCreateTaskbarShortcut, |
416 &do_not_create_taskbar_shortcut); | 416 &do_not_create_taskbar_shortcut); |
417 EXPECT_FALSE(do_not_create_desktop_shortcut); | 417 EXPECT_FALSE(do_not_create_desktop_shortcut); |
418 EXPECT_FALSE(do_not_create_quick_launch_shortcut); | 418 EXPECT_FALSE(do_not_create_quick_launch_shortcut); |
419 EXPECT_FALSE(do_not_create_taskbar_shortcut); | 419 EXPECT_FALSE(do_not_create_taskbar_shortcut); |
420 } | 420 } |
OLD | NEW |