Pin Chrome's shortcut to the Win10 Start menu on install and OS upgrade.
[chromium-blink-merge.git] / chrome / installer / mini_installer / decompress_test.cc
blob1592bb400eeef6e7b1ee199702cafcf02f977611
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include <windows.h>
7 #include "base/files/file_path.h"
8 #include "base/files/scoped_temp_dir.h"
9 #include "base/path_service.h"
10 #include "chrome/installer/mini_installer/decompress.h"
11 #include "testing/gtest/include/gtest/gtest.h"
13 TEST(MiniDecompressTest, ExpandTest) {
14 base::FilePath source_path;
15 PathService::Get(base::DIR_SOURCE_ROOT, &source_path);
16 source_path = source_path.Append(FILE_PATH_LITERAL("chrome"))
17 .Append(FILE_PATH_LITERAL("installer"))
18 .Append(FILE_PATH_LITERAL("test"))
19 .Append(FILE_PATH_LITERAL("data"))
20 .Append(FILE_PATH_LITERAL("SETUP.EX_"));
22 // Prepare a temp folder that will be automatically deleted along with
23 // our temporary test data.
24 base::ScopedTempDir temp_dir;
25 EXPECT_TRUE(temp_dir.CreateUniqueTempDir());
26 base::FilePath dest_path(
27 temp_dir.path().Append(FILE_PATH_LITERAL("setup.exe")));
29 // Decompress our test file.
30 EXPECT_TRUE(mini_installer::Expand(source_path.value().c_str(),
31 dest_path.value().c_str()));
33 // Check if the expanded file is a valid executable.
34 DWORD type = static_cast<DWORD>(-1);
35 EXPECT_TRUE(GetBinaryType(dest_path.value().c_str(), &type));
36 EXPECT_EQ(SCS_32BIT_BINARY, type);