| Index: chrome/install_static/install_details_unittest.cc
|
| diff --git a/chrome/install_static/install_details_unittest.cc b/chrome/install_static/install_details_unittest.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..ddd91caab129d01cd65169673413749bdd7d995d
|
| --- /dev/null
|
| +++ b/chrome/install_static/install_details_unittest.cc
|
| @@ -0,0 +1,111 @@
|
| +// Copyright 2016 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#include "chrome/install_static/install_details.h"
|
| +
|
| +#include <string>
|
| +
|
| +#include "base/macros.h"
|
| +#include "chrome/install_static/install_modes.h"
|
| +#include "testing/gmock/include/gmock/gmock.h"
|
| +#include "testing/gtest/include/gtest/gtest.h"
|
| +
|
| +using ::testing::StrEq;
|
| +
|
| +namespace install_static {
|
| +
|
| +class FakeInstallDetails : public InstallDetails {
|
| + public:
|
| + FakeInstallDetails() : InstallDetails(&payload) {
|
| + constants.install_suffix = L"";
|
| + constants.default_channel_name = L"";
|
| + constants.supports_multi_install = true;
|
| + if (kUseGoogleUpdateIntegration) {
|
| + constants.app_guid = L"testguid";
|
| + constants.channel_strategy = ChannelStrategy::FIXED;
|
| + } else {
|
| + constants.app_guid = L"";
|
| + constants.channel_strategy = ChannelStrategy::UNSUPPORTED;
|
| + }
|
| + payload.mode = &constants;
|
| + payload.channel = channel.c_str();
|
| + payload.channel_length = channel.length();
|
| + }
|
| +
|
| + InstallConstants constants = InstallConstants();
|
| + std::wstring channel = std::wstring(L"testchannel");
|
| + Payload payload = Payload();
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(FakeInstallDetails);
|
| +};
|
| +
|
| +TEST(InstallDetailsTest, GetClientStateKeyPath) {
|
| + FakeInstallDetails details;
|
| + if (kUseGoogleUpdateIntegration) {
|
| + // Single-install.
|
| + EXPECT_THAT(details.GetClientStateKeyPath(false),
|
| + StrEq(L"Software\\Google\\Update\\ClientState\\testguid"));
|
| + EXPECT_THAT(details.GetClientStateKeyPath(true),
|
| + StrEq(L"Software\\Google\\Update\\ClientState\\testguid"));
|
| +
|
| + // Multi-install.
|
| + details.payload.multi_install = true;
|
| + EXPECT_THAT(details.GetClientStateKeyPath(false),
|
| + StrEq(L"Software\\Google\\Update\\ClientState\\testguid"));
|
| + EXPECT_THAT(details.GetClientStateKeyPath(true),
|
| + StrEq(std::wstring(L"Software\\Google\\Update\\ClientState\\")
|
| + .append(kBinariesAppGuid)));
|
| + } else {
|
| + // Single-install.
|
| + EXPECT_THAT(details.GetClientStateKeyPath(false),
|
| + StrEq(std::wstring(L"Software\\").append(kProductPathName)));
|
| + EXPECT_THAT(details.GetClientStateKeyPath(true),
|
| + StrEq(std::wstring(L"Software\\").append(kProductPathName)));
|
| +
|
| + // Multi-install.
|
| + details.payload.multi_install = true;
|
| + EXPECT_THAT(details.GetClientStateKeyPath(false),
|
| + StrEq(std::wstring(L"Software\\").append(kProductPathName)));
|
| + EXPECT_THAT(details.GetClientStateKeyPath(true),
|
| + StrEq(std::wstring(L"Software\\").append(kBinariesPathName)));
|
| + }
|
| +}
|
| +
|
| +TEST(InstallDetailsTest, GetClientStateMediumKeyPath) {
|
| + FakeInstallDetails details;
|
| + if (kUseGoogleUpdateIntegration) {
|
| + // Single-install.
|
| + EXPECT_THAT(
|
| + details.GetClientStateMediumKeyPath(false),
|
| + StrEq(L"Software\\Google\\Update\\ClientStateMedium\\testguid"));
|
| + EXPECT_THAT(
|
| + details.GetClientStateMediumKeyPath(true),
|
| + StrEq(L"Software\\Google\\Update\\ClientStateMedium\\testguid"));
|
| +
|
| + // Multi-install.
|
| + details.payload.multi_install = true;
|
| + EXPECT_THAT(
|
| + details.GetClientStateMediumKeyPath(false),
|
| + StrEq(L"Software\\Google\\Update\\ClientStateMedium\\testguid"));
|
| + EXPECT_THAT(
|
| + details.GetClientStateMediumKeyPath(true),
|
| + StrEq(std::wstring(L"Software\\Google\\Update\\ClientStateMedium\\")
|
| + .append(kBinariesAppGuid)));
|
| + } else {
|
| + // Single-install.
|
| + EXPECT_THAT(details.GetClientStateKeyPath(false),
|
| + StrEq(std::wstring(L"Software\\").append(kProductPathName)));
|
| + EXPECT_THAT(details.GetClientStateKeyPath(true),
|
| + StrEq(std::wstring(L"Software\\").append(kProductPathName)));
|
| +
|
| + // Multi-install.
|
| + details.payload.multi_install = true;
|
| + EXPECT_THAT(details.GetClientStateKeyPath(false),
|
| + StrEq(std::wstring(L"Software\\").append(kProductPathName)));
|
| + EXPECT_THAT(details.GetClientStateKeyPath(true),
|
| + StrEq(std::wstring(L"Software\\").append(kBinariesPathName)));
|
| + }
|
| +}
|
| +
|
| +} // namespace install_static
|
|
|