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 #include <memory> | 5 #include <memory> |
6 | 6 |
7 #include "base/files/file_util.h" | 7 #include "base/files/file_util.h" |
8 #include "base/files/scoped_temp_dir.h" | 8 #include "base/files/scoped_temp_dir.h" |
9 #include "base/path_service.h" | 9 #include "base/path_service.h" |
10 #include "base/strings/pattern.h" | 10 #include "base/strings/pattern.h" |
(...skipping 15 matching lines...) Expand all Loading... |
26 using base::ASCIIToUTF16; | 26 using base::ASCIIToUTF16; |
27 | 27 |
28 namespace extensions { | 28 namespace extensions { |
29 | 29 |
30 namespace errors = manifest_errors; | 30 namespace errors = manifest_errors; |
31 namespace keys = manifest_keys; | 31 namespace keys = manifest_keys; |
32 | 32 |
33 class UnpackerTest : public testing::Test { | 33 class UnpackerTest : public testing::Test { |
34 public: | 34 public: |
35 ~UnpackerTest() override { | 35 ~UnpackerTest() override { |
36 VLOG(1) << "Deleting temp dir: " << temp_dir_.path().LossyDisplayName(); | 36 VLOG(1) << "Deleting temp dir: " << temp_dir_.GetPath().LossyDisplayName(); |
37 VLOG(1) << temp_dir_.Delete(); | 37 VLOG(1) << temp_dir_.Delete(); |
38 } | 38 } |
39 | 39 |
40 void SetupUnpacker(const std::string& crx_name) { | 40 void SetupUnpacker(const std::string& crx_name) { |
41 base::FilePath crx_path; | 41 base::FilePath crx_path; |
42 ASSERT_TRUE(PathService::Get(DIR_TEST_DATA, &crx_path)); | 42 ASSERT_TRUE(PathService::Get(DIR_TEST_DATA, &crx_path)); |
43 crx_path = crx_path.AppendASCII("unpacker").AppendASCII(crx_name); | 43 crx_path = crx_path.AppendASCII("unpacker").AppendASCII(crx_name); |
44 ASSERT_TRUE(base::PathExists(crx_path)) << crx_path.value(); | 44 ASSERT_TRUE(base::PathExists(crx_path)) << crx_path.value(); |
45 | 45 |
46 // Try bots won't let us write into DIR_TEST_DATA, so we have to create | 46 // Try bots won't let us write into DIR_TEST_DATA, so we have to create |
47 // a temp folder to play in. | 47 // a temp folder to play in. |
48 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); | 48 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); |
49 | 49 |
50 base::FilePath unzipped_dir = temp_dir_.path().AppendASCII("unzipped"); | 50 base::FilePath unzipped_dir = temp_dir_.GetPath().AppendASCII("unzipped"); |
51 ASSERT_TRUE(zip::Unzip(crx_path, unzipped_dir)) | 51 ASSERT_TRUE(zip::Unzip(crx_path, unzipped_dir)) |
52 << "Failed to unzip " << crx_path.value() << " to " | 52 << "Failed to unzip " << crx_path.value() << " to " |
53 << unzipped_dir.value(); | 53 << unzipped_dir.value(); |
54 | 54 |
55 unpacker_.reset(new Unpacker(temp_dir_.path(), unzipped_dir, std::string(), | 55 unpacker_.reset(new Unpacker(temp_dir_.GetPath(), unzipped_dir, |
56 Manifest::INTERNAL, Extension::NO_FLAGS)); | 56 std::string(), Manifest::INTERNAL, |
| 57 Extension::NO_FLAGS)); |
57 } | 58 } |
58 | 59 |
59 protected: | 60 protected: |
60 base::ScopedTempDir temp_dir_; | 61 base::ScopedTempDir temp_dir_; |
61 std::unique_ptr<Unpacker> unpacker_; | 62 std::unique_ptr<Unpacker> unpacker_; |
62 }; | 63 }; |
63 | 64 |
64 TEST_F(UnpackerTest, EmptyDefaultLocale) { | 65 TEST_F(UnpackerTest, EmptyDefaultLocale) { |
65 SetupUnpacker("empty_default_locale.crx"); | 66 SetupUnpacker("empty_default_locale.crx"); |
66 EXPECT_FALSE(unpacker_->Run()); | 67 EXPECT_FALSE(unpacker_->Run()); |
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
189 SetupUnpacker("bad_image.crx"); | 190 SetupUnpacker("bad_image.crx"); |
190 EXPECT_FALSE(unpacker_->Run()); | 191 EXPECT_FALSE(unpacker_->Run()); |
191 EXPECT_TRUE(base::StartsWith(unpacker_->error_message(), | 192 EXPECT_TRUE(base::StartsWith(unpacker_->error_message(), |
192 ASCIIToUTF16(kExpected), | 193 ASCIIToUTF16(kExpected), |
193 base::CompareCase::INSENSITIVE_ASCII)) | 194 base::CompareCase::INSENSITIVE_ASCII)) |
194 << "Expected prefix: \"" << kExpected << "\", actual error: \"" | 195 << "Expected prefix: \"" << kExpected << "\", actual error: \"" |
195 << unpacker_->error_message() << "\""; | 196 << unpacker_->error_message() << "\""; |
196 } | 197 } |
197 | 198 |
198 } // namespace extensions | 199 } // namespace extensions |
OLD | NEW |