| 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 <stddef.h> |
| 6 #include <stdint.h> |
| 7 |
| 5 #include "base/files/file_path.h" | 8 #include "base/files/file_path.h" |
| 6 #include "base/files/file_util.h" | 9 #include "base/files/file_util.h" |
| 7 #include "base/files/scoped_temp_dir.h" | 10 #include "base/files/scoped_temp_dir.h" |
| 8 #include "base/memory/weak_ptr.h" | 11 #include "base/memory/weak_ptr.h" |
| 9 #include "base/message_loop/message_loop.h" | 12 #include "base/message_loop/message_loop.h" |
| 10 #include "base/observer_list.h" | 13 #include "base/observer_list.h" |
| 11 #include "base/strings/stringprintf.h" | 14 #include "base/strings/stringprintf.h" |
| 12 #include "base/test/test_file_util.h" | 15 #include "base/test/test_file_util.h" |
| 16 #include "build/build_config.h" |
| 13 #include "chrome/browser/download/download_path_reservation_tracker.h" | 17 #include "chrome/browser/download/download_path_reservation_tracker.h" |
| 14 #include "chrome/browser/download/download_target_determiner.h" | 18 #include "chrome/browser/download/download_target_determiner.h" |
| 15 #include "content/public/test/mock_download_item.h" | 19 #include "content/public/test/mock_download_item.h" |
| 16 #include "content/public/test/test_browser_thread.h" | 20 #include "content/public/test/test_browser_thread.h" |
| 17 #include "testing/gmock/include/gmock/gmock.h" | 21 #include "testing/gmock/include/gmock/gmock.h" |
| 18 #include "testing/gtest/include/gtest/gtest.h" | 22 #include "testing/gtest/include/gtest/gtest.h" |
| 19 | 23 |
| 20 using content::BrowserThread; | 24 using content::BrowserThread; |
| 21 using content::DownloadItem; | 25 using content::DownloadItem; |
| 22 using content::MockDownloadItem; | 26 using content::MockDownloadItem; |
| 23 using testing::AnyNumber; | 27 using testing::AnyNumber; |
| 24 using testing::Return; | 28 using testing::Return; |
| 25 using testing::ReturnRef; | 29 using testing::ReturnRef; |
| 26 using testing::ReturnRefOfCopy; | 30 using testing::ReturnRefOfCopy; |
| 27 | 31 |
| 28 namespace { | 32 namespace { |
| 29 | 33 |
| 30 class DownloadPathReservationTrackerTest : public testing::Test { | 34 class DownloadPathReservationTrackerTest : public testing::Test { |
| 31 public: | 35 public: |
| 32 DownloadPathReservationTrackerTest(); | 36 DownloadPathReservationTrackerTest(); |
| 33 | 37 |
| 34 // testing::Test | 38 // testing::Test |
| 35 void SetUp() override; | 39 void SetUp() override; |
| 36 void TearDown() override; | 40 void TearDown() override; |
| 37 | 41 |
| 38 MockDownloadItem* CreateDownloadItem(int32 id); | 42 MockDownloadItem* CreateDownloadItem(int32_t id); |
| 39 base::FilePath GetPathInDownloadsDirectory( | 43 base::FilePath GetPathInDownloadsDirectory( |
| 40 const base::FilePath::CharType* suffix); | 44 const base::FilePath::CharType* suffix); |
| 41 bool IsPathInUse(const base::FilePath& path); | 45 bool IsPathInUse(const base::FilePath& path); |
| 42 void CallGetReservedPath( | 46 void CallGetReservedPath( |
| 43 DownloadItem* download_item, | 47 DownloadItem* download_item, |
| 44 const base::FilePath& target_path, | 48 const base::FilePath& target_path, |
| 45 bool create_directory, | 49 bool create_directory, |
| 46 DownloadPathReservationTracker::FilenameConflictAction conflict_action, | 50 DownloadPathReservationTracker::FilenameConflictAction conflict_action, |
| 47 base::FilePath* return_path, | 51 base::FilePath* return_path, |
| 48 bool* return_verified); | 52 bool* return_verified); |
| (...skipping 29 matching lines...) Expand all Loading... |
| 78 void DownloadPathReservationTrackerTest::SetUp() { | 82 void DownloadPathReservationTrackerTest::SetUp() { |
| 79 ASSERT_TRUE(test_download_dir_.CreateUniqueTempDir()); | 83 ASSERT_TRUE(test_download_dir_.CreateUniqueTempDir()); |
| 80 set_default_download_path(test_download_dir_.path()); | 84 set_default_download_path(test_download_dir_.path()); |
| 81 } | 85 } |
| 82 | 86 |
| 83 void DownloadPathReservationTrackerTest::TearDown() { | 87 void DownloadPathReservationTrackerTest::TearDown() { |
| 84 message_loop_.RunUntilIdle(); | 88 message_loop_.RunUntilIdle(); |
| 85 } | 89 } |
| 86 | 90 |
| 87 MockDownloadItem* DownloadPathReservationTrackerTest::CreateDownloadItem( | 91 MockDownloadItem* DownloadPathReservationTrackerTest::CreateDownloadItem( |
| 88 int32 id) { | 92 int32_t id) { |
| 89 MockDownloadItem* item = new ::testing::StrictMock<MockDownloadItem>; | 93 MockDownloadItem* item = new ::testing::StrictMock<MockDownloadItem>; |
| 90 EXPECT_CALL(*item, GetId()) | 94 EXPECT_CALL(*item, GetId()) |
| 91 .WillRepeatedly(Return(id)); | 95 .WillRepeatedly(Return(id)); |
| 92 EXPECT_CALL(*item, GetTargetFilePath()) | 96 EXPECT_CALL(*item, GetTargetFilePath()) |
| 93 .WillRepeatedly(ReturnRefOfCopy(base::FilePath())); | 97 .WillRepeatedly(ReturnRefOfCopy(base::FilePath())); |
| 94 EXPECT_CALL(*item, GetState()) | 98 EXPECT_CALL(*item, GetState()) |
| 95 .WillRepeatedly(Return(DownloadItem::IN_PROGRESS)); | 99 .WillRepeatedly(Return(DownloadItem::IN_PROGRESS)); |
| 96 return item; | 100 return item; |
| 97 } | 101 } |
| 98 | 102 |
| (...skipping 566 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 665 create_directory, | 669 create_directory, |
| 666 conflict_action, | 670 conflict_action, |
| 667 &reserved_path, | 671 &reserved_path, |
| 668 &verified); | 672 &verified); |
| 669 // We cannot truncate a path with very long extension. | 673 // We cannot truncate a path with very long extension. |
| 670 EXPECT_FALSE(verified); | 674 EXPECT_FALSE(verified); |
| 671 SetDownloadItemState(item.get(), DownloadItem::COMPLETE); | 675 SetDownloadItemState(item.get(), DownloadItem::COMPLETE); |
| 672 } | 676 } |
| 673 | 677 |
| 674 #endif | 678 #endif |
| OLD | NEW |