| Index: chrome/browser/conflicts/module_info_win_unittest.cc
|
| diff --git a/chrome/browser/conflicts/module_info_win_unittest.cc b/chrome/browser/conflicts/module_info_win_unittest.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..7ec422d74674af1d10f9776f88d92e5f1e528ba5
|
| --- /dev/null
|
| +++ b/chrome/browser/conflicts/module_info_win_unittest.cc
|
| @@ -0,0 +1,50 @@
|
| +// Copyright 2017 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/browser/conflicts/module_info_win.h"
|
| +
|
| +#include <memory>
|
| +#include <string>
|
| +
|
| +#include "base/environment.h"
|
| +#include "base/files/file_path.h"
|
| +#include "testing/gtest/include/gtest/gtest.h"
|
| +
|
| +namespace {
|
| +
|
| +base::FilePath GetKernel32DllFilePath() {
|
| + std::unique_ptr<base::Environment> env = base::Environment::Create();
|
| + std::string sysroot;
|
| + EXPECT_TRUE(env->GetVar("SYSTEMROOT", &sysroot));
|
| +
|
| + base::FilePath path =
|
| + base::FilePath::FromUTF8Unsafe(sysroot).Append(L"system32\\kernel32.dll");
|
| +
|
| + return path;
|
| +}
|
| +
|
| +} // namespace
|
| +
|
| +TEST(ModuleInfoTest, InspectModule) {
|
| + ModuleInfoKey module_key = {GetKernel32DllFilePath(), 0, 0, 1};
|
| + StringMapping path_mapping = GetEnvironmentVariablesMapping({
|
| + L"SystemRoot",
|
| + });
|
| +
|
| + ModuleInfoData module_data = InspectModule(path_mapping, module_key);
|
| +
|
| + EXPECT_TRUE(module_data.inspected);
|
| + EXPECT_STREQ(L"%systemroot%\\system32\\", module_data.location.c_str());
|
| + EXPECT_STREQ(L"kernel32.dll", module_data.basename.c_str());
|
| + EXPECT_STREQ(L"Microsoft\xAE Windows\xAE Operating System",
|
| + module_data.product_name.c_str());
|
| + EXPECT_STREQ(L"Windows NT BASE API Client DLL",
|
| + module_data.description.c_str());
|
| + EXPECT_FALSE(module_data.version.empty());
|
| + EXPECT_EQ(module_data.certificate_info.type,
|
| + CertificateType::CERTIFICATE_IN_CATALOG);
|
| + EXPECT_FALSE(module_data.certificate_info.path.empty());
|
| + EXPECT_STREQ(L"Microsoft Windows",
|
| + module_data.certificate_info.subject.c_str());
|
| +}
|
|
|