| 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/file_util.h" | 7 #include "base/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/stringprintf.h" | 10 #include "base/stringprintf.h" |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 50 TEST_F(MasterPreferencesTest, ParseDistroParams) { | 50 TEST_F(MasterPreferencesTest, ParseDistroParams) { |
| 51 const char text[] = | 51 const char text[] = |
| 52 "{ \n" | 52 "{ \n" |
| 53 " \"distribution\": { \n" | 53 " \"distribution\": { \n" |
| 54 " \"show_welcome_page\": true,\n" | 54 " \"show_welcome_page\": true,\n" |
| 55 " \"import_search_engine\": true,\n" | 55 " \"import_search_engine\": true,\n" |
| 56 " \"import_history\": true,\n" | 56 " \"import_history\": true,\n" |
| 57 " \"import_bookmarks\": true,\n" | 57 " \"import_bookmarks\": true,\n" |
| 58 " \"import_bookmarks_from_file\": \"c:\\\\foo\",\n" | 58 " \"import_bookmarks_from_file\": \"c:\\\\foo\",\n" |
| 59 " \"import_home_page\": true,\n" | 59 " \"import_home_page\": true,\n" |
| 60 " \"do_not_create_any_shortcuts\": true,\n" |
| 60 " \"do_not_create_desktop_shortcut\": true,\n" | 61 " \"do_not_create_desktop_shortcut\": true,\n" |
| 61 " \"do_not_create_quick_launch_shortcut\": true,\n" | 62 " \"do_not_create_quick_launch_shortcut\": true,\n" |
| 63 " \"do_not_create_taskbar_shortcut\": true,\n" |
| 62 " \"do_not_launch_chrome\": true,\n" | 64 " \"do_not_launch_chrome\": true,\n" |
| 63 " \"make_chrome_default\": true,\n" | 65 " \"make_chrome_default\": true,\n" |
| 64 " \"make_chrome_default_for_user\": true,\n" | 66 " \"make_chrome_default_for_user\": true,\n" |
| 65 " \"system_level\": true,\n" | 67 " \"system_level\": true,\n" |
| 66 " \"verbose_logging\": true,\n" | 68 " \"verbose_logging\": true,\n" |
| 67 " \"require_eula\": true,\n" | 69 " \"require_eula\": true,\n" |
| 68 " \"alternate_shortcut_text\": true,\n" | 70 " \"alternate_shortcut_text\": true,\n" |
| 69 " \"chrome_shortcut_icon_index\": 1,\n" | 71 " \"chrome_shortcut_icon_index\": 1,\n" |
| 70 " \"ping_delay\": 40\n" | 72 " \"ping_delay\": 40\n" |
| 71 " },\n" | 73 " },\n" |
| 72 " \"blah\": {\n" | 74 " \"blah\": {\n" |
| 73 " \"import_history\": false\n" | 75 " \"import_history\": false\n" |
| 74 " }\n" | 76 " }\n" |
| 75 "} \n"; | 77 "} \n"; |
| 76 | 78 |
| 77 EXPECT_TRUE(file_util::WriteFile(prefs_file(), text, strlen(text))); | 79 EXPECT_TRUE(file_util::WriteFile(prefs_file(), text, strlen(text))); |
| 78 installer::MasterPreferences prefs(prefs_file()); | 80 installer::MasterPreferences prefs(prefs_file()); |
| 79 EXPECT_TRUE(prefs.read_from_file()); | 81 EXPECT_TRUE(prefs.read_from_file()); |
| 80 | 82 |
| 81 const char* expected_true[] = { | 83 const char* expected_true[] = { |
| 82 installer::master_preferences::kDistroImportSearchPref, | 84 installer::master_preferences::kDistroImportSearchPref, |
| 83 installer::master_preferences::kDistroImportHistoryPref, | 85 installer::master_preferences::kDistroImportHistoryPref, |
| 84 installer::master_preferences::kDistroImportBookmarksPref, | 86 installer::master_preferences::kDistroImportBookmarksPref, |
| 85 installer::master_preferences::kDistroImportHomePagePref, | 87 installer::master_preferences::kDistroImportHomePagePref, |
| 88 installer::master_preferences::kDoNotCreateAnyShortcuts, |
| 86 installer::master_preferences::kDoNotCreateDesktopShortcut, | 89 installer::master_preferences::kDoNotCreateDesktopShortcut, |
| 87 installer::master_preferences::kDoNotCreateQuickLaunchShortcut, | 90 installer::master_preferences::kDoNotCreateQuickLaunchShortcut, |
| 91 installer::master_preferences::kDoNotCreateTaskbarShortcut, |
| 88 installer::master_preferences::kDoNotLaunchChrome, | 92 installer::master_preferences::kDoNotLaunchChrome, |
| 89 installer::master_preferences::kMakeChromeDefault, | 93 installer::master_preferences::kMakeChromeDefault, |
| 90 installer::master_preferences::kMakeChromeDefaultForUser, | 94 installer::master_preferences::kMakeChromeDefaultForUser, |
| 91 installer::master_preferences::kSystemLevel, | 95 installer::master_preferences::kSystemLevel, |
| 92 installer::master_preferences::kVerboseLogging, | 96 installer::master_preferences::kVerboseLogging, |
| 93 installer::master_preferences::kRequireEula, | 97 installer::master_preferences::kRequireEula, |
| 94 installer::master_preferences::kAltShortcutText, | 98 installer::master_preferences::kAltShortcutText, |
| 95 }; | 99 }; |
| 96 | 100 |
| 97 for (int i = 0; i < arraysize(expected_true); ++i) { | 101 for (int i = 0; i < arraysize(expected_true); ++i) { |
| (...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 352 "{" | 356 "{" |
| 353 " \"distribution\": {" | 357 " \"distribution\": {" |
| 354 " \"create_all_shortcuts\": false" | 358 " \"create_all_shortcuts\": false" |
| 355 " }" | 359 " }" |
| 356 "}"; | 360 "}"; |
| 357 | 361 |
| 358 installer::MasterPreferences prefs(kCreateAllShortcutsFalsePrefs); | 362 installer::MasterPreferences prefs(kCreateAllShortcutsFalsePrefs); |
| 359 | 363 |
| 360 bool do_not_create_desktop_shortcut = false; | 364 bool do_not_create_desktop_shortcut = false; |
| 361 bool do_not_create_quick_launch_shortcut = false; | 365 bool do_not_create_quick_launch_shortcut = false; |
| 366 bool do_not_create_taskbar_shortcut = false; |
| 362 prefs.GetBool( | 367 prefs.GetBool( |
| 363 installer::master_preferences::kDoNotCreateDesktopShortcut, | 368 installer::master_preferences::kDoNotCreateDesktopShortcut, |
| 364 &do_not_create_desktop_shortcut); | 369 &do_not_create_desktop_shortcut); |
| 365 prefs.GetBool( | 370 prefs.GetBool( |
| 366 installer::master_preferences::kDoNotCreateQuickLaunchShortcut, | 371 installer::master_preferences::kDoNotCreateQuickLaunchShortcut, |
| 367 &do_not_create_quick_launch_shortcut); | 372 &do_not_create_quick_launch_shortcut); |
| 373 prefs.GetBool( |
| 374 installer::master_preferences::kDoNotCreateTaskbarShortcut, |
| 375 &do_not_create_taskbar_shortcut); |
| 376 // create_all_shortcuts is a legacy preference that should only enforce |
| 377 // do_not_create_desktop_shortcut and do_not_create_quick_launch_shortcut |
| 378 // when set to false. |
| 368 EXPECT_TRUE(do_not_create_desktop_shortcut); | 379 EXPECT_TRUE(do_not_create_desktop_shortcut); |
| 369 EXPECT_TRUE(do_not_create_quick_launch_shortcut); | 380 EXPECT_TRUE(do_not_create_quick_launch_shortcut); |
| 381 EXPECT_FALSE(do_not_create_taskbar_shortcut); |
| 370 } | 382 } |
| 371 | 383 |
| 372 TEST_F(MasterPreferencesTest, DontEnforceLegacyCreateAllShortcutsTrue) { | 384 TEST_F(MasterPreferencesTest, DontEnforceLegacyCreateAllShortcutsTrue) { |
| 373 static const char kCreateAllShortcutsFalsePrefs[] = | 385 static const char kCreateAllShortcutsFalsePrefs[] = |
| 374 "{" | 386 "{" |
| 375 " \"distribution\": {" | 387 " \"distribution\": {" |
| 376 " \"create_all_shortcuts\": true" | 388 " \"create_all_shortcuts\": true" |
| 377 " }" | 389 " }" |
| 378 "}"; | 390 "}"; |
| 379 | 391 |
| 380 installer::MasterPreferences prefs(kCreateAllShortcutsFalsePrefs); | 392 installer::MasterPreferences prefs(kCreateAllShortcutsFalsePrefs); |
| 381 | 393 |
| 382 bool do_not_create_desktop_shortcut = false; | 394 bool do_not_create_desktop_shortcut = false; |
| 383 bool do_not_create_quick_launch_shortcut = false; | 395 bool do_not_create_quick_launch_shortcut = false; |
| 396 bool do_not_create_taskbar_shortcut = false; |
| 384 prefs.GetBool( | 397 prefs.GetBool( |
| 385 installer::master_preferences::kDoNotCreateDesktopShortcut, | 398 installer::master_preferences::kDoNotCreateDesktopShortcut, |
| 386 &do_not_create_desktop_shortcut); | 399 &do_not_create_desktop_shortcut); |
| 387 prefs.GetBool( | 400 prefs.GetBool( |
| 388 installer::master_preferences::kDoNotCreateQuickLaunchShortcut, | 401 installer::master_preferences::kDoNotCreateQuickLaunchShortcut, |
| 389 &do_not_create_quick_launch_shortcut); | 402 &do_not_create_quick_launch_shortcut); |
| 403 prefs.GetBool( |
| 404 installer::master_preferences::kDoNotCreateTaskbarShortcut, |
| 405 &do_not_create_taskbar_shortcut); |
| 390 EXPECT_FALSE(do_not_create_desktop_shortcut); | 406 EXPECT_FALSE(do_not_create_desktop_shortcut); |
| 391 EXPECT_FALSE(do_not_create_quick_launch_shortcut); | 407 EXPECT_FALSE(do_not_create_quick_launch_shortcut); |
| 408 EXPECT_FALSE(do_not_create_taskbar_shortcut); |
| 392 } | 409 } |
| 393 | 410 |
| 394 TEST_F(MasterPreferencesTest, DontEnforceLegacyCreateAllShortcutsNotSpecified) { | 411 TEST_F(MasterPreferencesTest, DontEnforceLegacyCreateAllShortcutsNotSpecified) { |
| 395 static const char kCreateAllShortcutsFalsePrefs[] = | 412 static const char kCreateAllShortcutsFalsePrefs[] = |
| 396 "{" | 413 "{" |
| 397 " \"distribution\": {" | 414 " \"distribution\": {" |
| 398 " \"some_other_pref\": true" | 415 " \"some_other_pref\": true" |
| 399 " }" | 416 " }" |
| 400 "}"; | 417 "}"; |
| 401 | 418 |
| 402 installer::MasterPreferences prefs(kCreateAllShortcutsFalsePrefs); | 419 installer::MasterPreferences prefs(kCreateAllShortcutsFalsePrefs); |
| 403 | 420 |
| 404 bool do_not_create_desktop_shortcut = false; | 421 bool do_not_create_desktop_shortcut = false; |
| 405 bool do_not_create_quick_launch_shortcut = false; | 422 bool do_not_create_quick_launch_shortcut = false; |
| 423 bool do_not_create_taskbar_shortcut = false; |
| 406 prefs.GetBool( | 424 prefs.GetBool( |
| 407 installer::master_preferences::kDoNotCreateDesktopShortcut, | 425 installer::master_preferences::kDoNotCreateDesktopShortcut, |
| 408 &do_not_create_desktop_shortcut); | 426 &do_not_create_desktop_shortcut); |
| 409 prefs.GetBool( | 427 prefs.GetBool( |
| 410 installer::master_preferences::kDoNotCreateQuickLaunchShortcut, | 428 installer::master_preferences::kDoNotCreateQuickLaunchShortcut, |
| 411 &do_not_create_quick_launch_shortcut); | 429 &do_not_create_quick_launch_shortcut); |
| 430 prefs.GetBool( |
| 431 installer::master_preferences::kDoNotCreateTaskbarShortcut, |
| 432 &do_not_create_taskbar_shortcut); |
| 412 EXPECT_FALSE(do_not_create_desktop_shortcut); | 433 EXPECT_FALSE(do_not_create_desktop_shortcut); |
| 413 EXPECT_FALSE(do_not_create_quick_launch_shortcut); | 434 EXPECT_FALSE(do_not_create_quick_launch_shortcut); |
| 435 EXPECT_FALSE(do_not_create_taskbar_shortcut); |
| 414 } | 436 } |
| OLD | NEW |