| OLD | NEW | 
|---|
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 #include "chrome/install_static/install_util.h" | 5 #include "chrome/install_static/install_util.h" | 
| 6 | 6 | 
| 7 #include <tuple> | 7 #include <tuple> | 
| 8 | 8 | 
| 9 #include "base/macros.h" | 9 #include "base/macros.h" | 
| 10 #include "base/memory/ptr_util.h" | 10 #include "base/memory/ptr_util.h" | 
| (...skipping 330 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 341   registry_util::RegistryOverrideManager override_manager_; | 341   registry_util::RegistryOverrideManager override_manager_; | 
| 342 | 342 | 
| 343   DISALLOW_COPY_AND_ASSIGN(InstallStaticUtilTest); | 343   DISALLOW_COPY_AND_ASSIGN(InstallStaticUtilTest); | 
| 344 }; | 344 }; | 
| 345 | 345 | 
| 346 TEST_P(InstallStaticUtilTest, GetChromeInstallSubDirectory) { | 346 TEST_P(InstallStaticUtilTest, GetChromeInstallSubDirectory) { | 
| 347 #if defined(GOOGLE_CHROME_BUILD) | 347 #if defined(GOOGLE_CHROME_BUILD) | 
| 348   // The directory strings for the brand's install modes; parallel to | 348   // The directory strings for the brand's install modes; parallel to | 
| 349   // kInstallModes. | 349   // kInstallModes. | 
| 350   static constexpr const wchar_t* kInstallDirs[] = { | 350   static constexpr const wchar_t* kInstallDirs[] = { | 
| 351       L"Google\\Chrome", L"Google\\Chrome SxS", | 351       L"Google\\Chrome", L"Google\\Chrome Beta", L"Google\\Chrome Dev", | 
|  | 352       L"Google\\Chrome SxS", | 
| 352   }; | 353   }; | 
| 353 #else | 354 #else | 
| 354   // The directory strings for the brand's install modes; parallel to | 355   // The directory strings for the brand's install modes; parallel to | 
| 355   // kInstallModes. | 356   // kInstallModes. | 
| 356   static constexpr const wchar_t* kInstallDirs[] = { | 357   static constexpr const wchar_t* kInstallDirs[] = { | 
| 357       L"Chromium", | 358       L"Chromium", | 
| 358   }; | 359   }; | 
| 359 #endif | 360 #endif | 
| 360   static_assert(arraysize(kInstallDirs) == NUM_INSTALL_MODES, | 361   static_assert(arraysize(kInstallDirs) == NUM_INSTALL_MODES, | 
| 361                 "kInstallDirs out of date."); | 362                 "kInstallDirs out of date."); | 
| 362   EXPECT_THAT(GetChromeInstallSubDirectory(), | 363   EXPECT_THAT(GetChromeInstallSubDirectory(), | 
| 363               StrCaseEq(kInstallDirs[std::get<0>(GetParam())])); | 364               StrCaseEq(kInstallDirs[std::get<0>(GetParam())])); | 
| 364 } | 365 } | 
| 365 | 366 | 
| 366 TEST_P(InstallStaticUtilTest, GetRegistryPath) { | 367 TEST_P(InstallStaticUtilTest, GetRegistryPath) { | 
| 367 #if defined(GOOGLE_CHROME_BUILD) | 368 #if defined(GOOGLE_CHROME_BUILD) | 
| 368   // The registry path strings for the brand's install modes; parallel to | 369   // The registry path strings for the brand's install modes; parallel to | 
| 369   // kInstallModes. | 370   // kInstallModes. | 
| 370   static constexpr const wchar_t* kRegistryPaths[] = { | 371   static constexpr const wchar_t* kRegistryPaths[] = { | 
| 371       L"Software\\Google\\Chrome", L"Software\\Google\\Chrome SxS", | 372       L"Software\\Google\\Chrome", L"Software\\Google\\Chrome Beta", | 
|  | 373       L"Software\\Google\\Chrome Dev", L"Software\\Google\\Chrome SxS", | 
| 372   }; | 374   }; | 
| 373 #else | 375 #else | 
| 374   // The registry path strings for the brand's install modes; parallel to | 376   // The registry path strings for the brand's install modes; parallel to | 
| 375   // kInstallModes. | 377   // kInstallModes. | 
| 376   static constexpr const wchar_t* kRegistryPaths[] = { | 378   static constexpr const wchar_t* kRegistryPaths[] = { | 
| 377       L"Software\\Chromium", | 379       L"Software\\Chromium", | 
| 378   }; | 380   }; | 
| 379 #endif | 381 #endif | 
| 380   static_assert(arraysize(kRegistryPaths) == NUM_INSTALL_MODES, | 382   static_assert(arraysize(kRegistryPaths) == NUM_INSTALL_MODES, | 
| 381                 "kRegistryPaths out of date."); | 383                 "kRegistryPaths out of date."); | 
| 382   EXPECT_THAT(GetRegistryPath(), | 384   EXPECT_THAT(GetRegistryPath(), | 
| 383               StrCaseEq(kRegistryPaths[std::get<0>(GetParam())])); | 385               StrCaseEq(kRegistryPaths[std::get<0>(GetParam())])); | 
| 384 } | 386 } | 
| 385 | 387 | 
| 386 TEST_P(InstallStaticUtilTest, GetUninstallRegistryPath) { | 388 TEST_P(InstallStaticUtilTest, GetUninstallRegistryPath) { | 
| 387 #if defined(GOOGLE_CHROME_BUILD) | 389 #if defined(GOOGLE_CHROME_BUILD) | 
| 388   // The uninstall registry path strings for the brand's install modes; parallel | 390   // The uninstall registry path strings for the brand's install modes; parallel | 
| 389   // to kInstallModes. | 391   // to kInstallModes. | 
| 390   static constexpr const wchar_t* kUninstallRegistryPaths[] = { | 392   static constexpr const wchar_t* kUninstallRegistryPaths[] = { | 
| 391       L"Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Google Chrome", | 393       L"Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Google Chrome", | 
| 392       L"Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\"  // (cont'd) | 394       L"Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\"  // (cont'd) | 
|  | 395       L"Google Chrome Beta", | 
|  | 396       L"Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\"  // (cont'd) | 
|  | 397       L"Google Chrome Dev", | 
|  | 398       L"Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\"  // (cont'd) | 
| 393       L"Google Chrome SxS", | 399       L"Google Chrome SxS", | 
| 394   }; | 400   }; | 
| 395 #else | 401 #else | 
| 396   // The registry path strings for the brand's install modes; parallel to | 402   // The registry path strings for the brand's install modes; parallel to | 
| 397   // kInstallModes. | 403   // kInstallModes. | 
| 398   static constexpr const wchar_t* kUninstallRegistryPaths[] = { | 404   static constexpr const wchar_t* kUninstallRegistryPaths[] = { | 
| 399       L"Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Chromium", | 405       L"Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Chromium", | 
| 400   }; | 406   }; | 
| 401 #endif | 407 #endif | 
| 402   static_assert(arraysize(kUninstallRegistryPaths) == NUM_INSTALL_MODES, | 408   static_assert(arraysize(kUninstallRegistryPaths) == NUM_INSTALL_MODES, | 
| 403                 "kUninstallRegistryPaths out of date."); | 409                 "kUninstallRegistryPaths out of date."); | 
| 404   EXPECT_THAT(GetUninstallRegistryPath(), | 410   EXPECT_THAT(GetUninstallRegistryPath(), | 
| 405               StrCaseEq(kUninstallRegistryPaths[std::get<0>(GetParam())])); | 411               StrCaseEq(kUninstallRegistryPaths[std::get<0>(GetParam())])); | 
| 406 } | 412 } | 
| 407 | 413 | 
| 408 TEST_P(InstallStaticUtilTest, GetAppGuid) { | 414 TEST_P(InstallStaticUtilTest, GetAppGuid) { | 
| 409   // For brands that do not integrate with Omaha/Google Update, the app guid is | 415   // For brands that do not integrate with Omaha/Google Update, the app guid is | 
| 410   // an empty string. | 416   // an empty string. | 
| 411   if (!kUseGoogleUpdateIntegration) { | 417   if (!kUseGoogleUpdateIntegration) { | 
| 412     EXPECT_STREQ(L"", GetAppGuid()); | 418     EXPECT_STREQ(L"", GetAppGuid()); | 
| 413     return; | 419     return; | 
| 414   } | 420   } | 
| 415 | 421 | 
| 416 #if defined(GOOGLE_CHROME_BUILD) | 422 #if defined(GOOGLE_CHROME_BUILD) | 
| 417   // The app guids for the brand's install modes; parallel to kInstallModes. | 423   // The app guids for the brand's install modes; parallel to kInstallModes. | 
| 418   static constexpr const wchar_t* kAppGuids[] = { | 424   static constexpr const wchar_t* kAppGuids[] = { | 
| 419       L"{8A69D345-D564-463c-AFF1-A69D9E530F96}",  // Google Chrome. | 425       L"{8A69D345-D564-463c-AFF1-A69D9E530F96}",  // Google Chrome. | 
|  | 426       L"{8237E44A-0054-442C-B6B6-EA0509993955}",  // Google Chrome Beta. | 
|  | 427       L"{401C381F-E0DE-4B85-8BD8-3F3F14FBDA57}",  // Google Chrome Dev. | 
| 420       L"{4EA16AC7-FD5A-47C3-875B-DBF4A2008C20}",  // Google Chrome SxS (Canary). | 428       L"{4EA16AC7-FD5A-47C3-875B-DBF4A2008C20}",  // Google Chrome SxS (Canary). | 
| 421   }; | 429   }; | 
| 422   static_assert(arraysize(kAppGuids) == NUM_INSTALL_MODES, | 430   static_assert(arraysize(kAppGuids) == NUM_INSTALL_MODES, | 
| 423                 "kAppGuids out of date."); | 431                 "kAppGuids out of date."); | 
| 424   EXPECT_THAT(GetAppGuid(), StrCaseEq(kAppGuids[std::get<0>(GetParam())])); | 432   EXPECT_THAT(GetAppGuid(), StrCaseEq(kAppGuids[std::get<0>(GetParam())])); | 
| 425 #else | 433 #else | 
| 426   FAIL() << "Not implemented."; | 434   FAIL() << "Not implemented."; | 
| 427 #endif | 435 #endif | 
| 428 } | 436 } | 
| 429 | 437 | 
| 430 TEST_P(InstallStaticUtilTest, GetBaseAppId) { | 438 TEST_P(InstallStaticUtilTest, GetBaseAppId) { | 
| 431 #if defined(GOOGLE_CHROME_BUILD) | 439 #if defined(GOOGLE_CHROME_BUILD) | 
| 432   // The base app ids for the brand's install modes; parallel to kInstallModes. | 440   // The base app ids for the brand's install modes; parallel to kInstallModes. | 
| 433   static constexpr const wchar_t* kBaseAppIds[] = { | 441   static constexpr const wchar_t* kBaseAppIds[] = { | 
| 434       L"Chrome", L"ChromeCanary", | 442       L"Chrome", L"ChromeBeta", L"ChromeDev", L"ChromeCanary", | 
| 435   }; | 443   }; | 
| 436 #else | 444 #else | 
| 437   // The base app ids for the brand's install modes; parallel to kInstallModes. | 445   // The base app ids for the brand's install modes; parallel to kInstallModes. | 
| 438   static constexpr const wchar_t* kBaseAppIds[] = { | 446   static constexpr const wchar_t* kBaseAppIds[] = { | 
| 439       L"Chromium", | 447       L"Chromium", | 
| 440   }; | 448   }; | 
| 441 #endif | 449 #endif | 
| 442   static_assert(arraysize(kBaseAppIds) == NUM_INSTALL_MODES, | 450   static_assert(arraysize(kBaseAppIds) == NUM_INSTALL_MODES, | 
| 443                 "kBaseAppIds out of date."); | 451                 "kBaseAppIds out of date."); | 
| 444   EXPECT_THAT(GetBaseAppId(), StrCaseEq(kBaseAppIds[std::get<0>(GetParam())])); | 452   EXPECT_THAT(GetBaseAppId(), StrCaseEq(kBaseAppIds[std::get<0>(GetParam())])); | 
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 506 TEST_P(InstallStaticUtilTest, GetChromeChannelName) { | 514 TEST_P(InstallStaticUtilTest, GetChromeChannelName) { | 
| 507   EXPECT_EQ(default_channel(), GetChromeChannelName()); | 515   EXPECT_EQ(default_channel(), GetChromeChannelName()); | 
| 508 } | 516 } | 
| 509 | 517 | 
| 510 #if defined(GOOGLE_CHROME_BUILD) | 518 #if defined(GOOGLE_CHROME_BUILD) | 
| 511 // Stable supports user and system levels. | 519 // Stable supports user and system levels. | 
| 512 INSTANTIATE_TEST_CASE_P(Stable, | 520 INSTANTIATE_TEST_CASE_P(Stable, | 
| 513                         InstallStaticUtilTest, | 521                         InstallStaticUtilTest, | 
| 514                         testing::Combine(testing::Values(STABLE_INDEX), | 522                         testing::Combine(testing::Values(STABLE_INDEX), | 
| 515                                          testing::Values("user", "system"))); | 523                                          testing::Values("user", "system"))); | 
|  | 524 // Beta supports user and system levels. | 
|  | 525 INSTANTIATE_TEST_CASE_P(Beta, | 
|  | 526                         InstallStaticUtilTest, | 
|  | 527                         testing::Combine(testing::Values(BETA_INDEX), | 
|  | 528                                          testing::Values("user", "system"))); | 
|  | 529 // Dev supports user and system levels. | 
|  | 530 INSTANTIATE_TEST_CASE_P(Dev, | 
|  | 531                         InstallStaticUtilTest, | 
|  | 532                         testing::Combine(testing::Values(DEV_INDEX), | 
|  | 533                                          testing::Values("user", "system"))); | 
| 516 // Canary is only at user level. | 534 // Canary is only at user level. | 
| 517 INSTANTIATE_TEST_CASE_P(Canary, | 535 INSTANTIATE_TEST_CASE_P(Canary, | 
| 518                         InstallStaticUtilTest, | 536                         InstallStaticUtilTest, | 
| 519                         testing::Combine(testing::Values(CANARY_INDEX), | 537                         testing::Combine(testing::Values(CANARY_INDEX), | 
| 520                                          testing::Values("user"))); | 538                                          testing::Values("user"))); | 
| 521 #else   // GOOGLE_CHROME_BUILD | 539 #else   // GOOGLE_CHROME_BUILD | 
| 522 // Chromium supports user and system levels. | 540 // Chromium supports user and system levels. | 
| 523 INSTANTIATE_TEST_CASE_P(Chromium, | 541 INSTANTIATE_TEST_CASE_P(Chromium, | 
| 524                         InstallStaticUtilTest, | 542                         InstallStaticUtilTest, | 
| 525                         testing::Combine(testing::Values(CHROMIUM_INDEX), | 543                         testing::Combine(testing::Values(CHROMIUM_INDEX), | 
| 526                                          testing::Values("user", "system"))); | 544                                          testing::Values("user", "system"))); | 
| 527 #endif  // !GOOGLE_CHROME_BUILD | 545 #endif  // !GOOGLE_CHROME_BUILD | 
| 528 | 546 | 
| 529 }  // namespace install_static | 547 }  // namespace install_static | 
| OLD | NEW | 
|---|