| 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 "chrome/browser/download/download_browsertest.h" | 5 #include "chrome/browser/download/download_browsertest.h" |
| 6 | 6 |
| 7 #include <stdint.h> | 7 #include <stdint.h> |
| 8 #include <sstream> | 8 #include <sstream> |
| 9 #include <utility> | 9 #include <utility> |
| 10 | 10 |
| (...skipping 464 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 475 base::FilePath test_file_directory; | 475 base::FilePath test_file_directory; |
| 476 PathService::Get(chrome::DIR_TEST_DATA, &test_file_directory); | 476 PathService::Get(chrome::DIR_TEST_DATA, &test_file_directory); |
| 477 return test_file_directory; | 477 return test_file_directory; |
| 478 } | 478 } |
| 479 | 479 |
| 480 base::FilePath GetDownloadsDirectory() { | 480 base::FilePath GetDownloadsDirectory() { |
| 481 return downloads_directory_.GetPath(); | 481 return downloads_directory_.GetPath(); |
| 482 } | 482 } |
| 483 | 483 |
| 484 // Location of the file source (the place from which it is downloaded). | 484 // Location of the file source (the place from which it is downloaded). |
| 485 base::FilePath OriginFile(base::FilePath file) { | 485 base::FilePath OriginFile(const base::FilePath& file) { |
| 486 return test_dir_.Append(file); | 486 return test_dir_.Append(file); |
| 487 } | 487 } |
| 488 | 488 |
| 489 // Location of the file destination (place to which it is downloaded). | 489 // Location of the file destination (place to which it is downloaded). |
| 490 base::FilePath DestinationFile(Browser* browser, base::FilePath file) { | 490 base::FilePath DestinationFile(Browser* browser, const base::FilePath& file) { |
| 491 return GetDownloadDirectory(browser).Append(file.BaseName()); | 491 return GetDownloadDirectory(browser).Append(file.BaseName()); |
| 492 } | 492 } |
| 493 | 493 |
| 494 // Must be called after browser creation. Creates a temporary | 494 // Must be called after browser creation. Creates a temporary |
| 495 // directory for downloads that is auto-deleted on destruction. | 495 // directory for downloads that is auto-deleted on destruction. |
| 496 // Returning false indicates a failure of the function, and should be asserted | 496 // Returning false indicates a failure of the function, and should be asserted |
| 497 // in the caller. | 497 // in the caller. |
| 498 bool CreateAndSetDownloadsDirectory(Browser* browser) { | 498 bool CreateAndSetDownloadsDirectory(Browser* browser) { |
| 499 if (!browser) | 499 if (!browser) |
| 500 return false; | 500 return false; |
| (...skipping 2369 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2870 // korean | 2870 // korean |
| 2871 L"\u97d3-\u4e2d \uc815\uc0c1, \ucc9c\uc548\ud568 \uc758\uacac.zip", | 2871 L"\u97d3-\u4e2d \uc815\uc0c1, \ucc9c\uc548\ud568 \uc758\uacac.zip", |
| 2872 L"jiho....tiho...miho.zip", | 2872 L"jiho....tiho...miho.zip", |
| 2873 L"jiho!@#$tiho$%^&-()_+=miho copy.zip", // special chars | 2873 L"jiho!@#$tiho$%^&-()_+=miho copy.zip", // special chars |
| 2874 L"Wohoo-to hoo+I.zip", | 2874 L"Wohoo-to hoo+I.zip", |
| 2875 L"Picture 1.zip", | 2875 L"Picture 1.zip", |
| 2876 L"This is a very very long english sentence with spaces and , and +.zip", | 2876 L"This is a very very long english sentence with spaces and , and +.zip", |
| 2877 }; | 2877 }; |
| 2878 | 2878 |
| 2879 std::vector<DownloadItem*> download_items; | 2879 std::vector<DownloadItem*> download_items; |
| 2880 base::FilePath origin(FILE_PATH_LITERAL("origin")); | 2880 base::FilePath origin_directory = |
| 2881 ASSERT_TRUE(base::CreateDirectory(DestinationFile(browser(), origin))); | 2881 GetDownloadDirectory(browser()).Append(FILE_PATH_LITERAL("origin")); |
| 2882 ASSERT_TRUE(base::CreateDirectory(origin_directory)); |
| 2882 | 2883 |
| 2883 for (size_t index = 0; index < arraysize(kCrazyFilenames); ++index) { | 2884 for (size_t index = 0; index < arraysize(kCrazyFilenames); ++index) { |
| 2885 SCOPED_TRACE(testing::Message() << "Index " << index); |
| 2884 base::string16 crazy16; | 2886 base::string16 crazy16; |
| 2885 std::string crazy8; | 2887 std::string crazy8; |
| 2886 const wchar_t* crazy_w = kCrazyFilenames[index]; | 2888 const wchar_t* crazy_w = kCrazyFilenames[index]; |
| 2887 ASSERT_TRUE(base::WideToUTF8(crazy_w, wcslen(crazy_w), &crazy8)); | 2889 ASSERT_TRUE(base::WideToUTF8(crazy_w, wcslen(crazy_w), &crazy8)); |
| 2888 ASSERT_TRUE(base::WideToUTF16(crazy_w, wcslen(crazy_w), &crazy16)); | 2890 ASSERT_TRUE(base::WideToUTF16(crazy_w, wcslen(crazy_w), &crazy16)); |
| 2889 base::FilePath file_path(DestinationFile(browser(), origin.Append( | 2891 base::FilePath file_path(origin_directory.Append( |
| 2890 #if defined(OS_WIN) | 2892 #if defined(OS_WIN) |
| 2891 crazy16 | 2893 crazy16 |
| 2892 #elif defined(OS_POSIX) | 2894 #elif defined(OS_POSIX) |
| 2893 crazy8 | 2895 crazy8 |
| 2894 #endif | 2896 #endif |
| 2895 ))); | 2897 )); |
| 2896 | 2898 |
| 2897 // Create the file. | 2899 // Create the file. |
| 2898 EXPECT_EQ(static_cast<int>(crazy8.size()), | 2900 EXPECT_EQ(static_cast<int>(crazy8.size()), |
| 2899 base::WriteFile(file_path, crazy8.c_str(), crazy8.size())); | 2901 base::WriteFile(file_path, crazy8.c_str(), crazy8.size())); |
| 2900 GURL file_url(net::FilePathToFileURL(file_path)); | 2902 GURL file_url(net::FilePathToFileURL(file_path)); |
| 2901 | 2903 |
| 2902 // Download the file and check that the filename is correct. | 2904 // Download the file and check that the filename is correct. |
| 2903 DownloadAndWait(browser(), file_url); | 2905 DownloadAndWait(browser(), file_url); |
| 2904 GetDownloads(browser(), &download_items); | 2906 GetDownloads(browser(), &download_items); |
| 2905 ASSERT_EQ(1UL, download_items.size()); | 2907 ASSERT_EQ(1UL, download_items.size()); |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2962 // Timing out on ARM linux: http://crbug.com/238459 | 2964 // Timing out on ARM linux: http://crbug.com/238459 |
| 2963 #define MAYBE_DownloadTest_PercentComplete DISABLED_DownloadTest_PercentComplete | 2965 #define MAYBE_DownloadTest_PercentComplete DISABLED_DownloadTest_PercentComplete |
| 2964 #elif defined(OS_MACOSX) | 2966 #elif defined(OS_MACOSX) |
| 2965 // Disable on mac: http://crbug.com/238831 | 2967 // Disable on mac: http://crbug.com/238831 |
| 2966 #define MAYBE_DownloadTest_PercentComplete DISABLED_DownloadTest_PercentComplete | 2968 #define MAYBE_DownloadTest_PercentComplete DISABLED_DownloadTest_PercentComplete |
| 2967 #else | 2969 #else |
| 2968 #define MAYBE_DownloadTest_PercentComplete DownloadTest_PercentComplete | 2970 #define MAYBE_DownloadTest_PercentComplete DownloadTest_PercentComplete |
| 2969 #endif | 2971 #endif |
| 2970 IN_PROC_BROWSER_TEST_F(DownloadTest, MAYBE_DownloadTest_PercentComplete) { | 2972 IN_PROC_BROWSER_TEST_F(DownloadTest, MAYBE_DownloadTest_PercentComplete) { |
| 2971 // Write a huge file. | 2973 // Write a huge file. |
| 2972 base::FilePath file_path(DestinationFile( | 2974 base::FilePath file_path( |
| 2973 browser(), base::FilePath(FILE_PATH_LITERAL("DownloadTest_BigZip.zip")))); | 2975 GetDownloadDirectory(browser()).AppendASCII("source").AppendASCII( |
| 2976 "DownloadTest_BigZip.zip")); |
| 2977 ASSERT_TRUE(CreateDirectory(file_path.DirName())); |
| 2974 base::File file(file_path, base::File::FLAG_CREATE | base::File::FLAG_WRITE); | 2978 base::File file(file_path, base::File::FLAG_CREATE | base::File::FLAG_WRITE); |
| 2975 ASSERT_TRUE(file.IsValid()); | 2979 ASSERT_TRUE(file.IsValid()); |
| 2976 int64_t size = 1 << 25; | 2980 int64_t size = 1 << 25; |
| 2977 EXPECT_EQ(1, file.Write(size, "a", 1)); | 2981 EXPECT_EQ(1, file.Write(size, "a", 1)); |
| 2978 file.Close(); | 2982 file.Close(); |
| 2979 | 2983 |
| 2980 #if defined(OS_POSIX) | 2984 #if defined(OS_POSIX) |
| 2981 // Make it readable by chronos on chromeos | 2985 // Make it readable by chronos on chromeos |
| 2982 base::SetPosixFilePermissions(file_path, 0755); | 2986 base::SetPosixFilePermissions(file_path, 0755); |
| 2983 #endif | 2987 #endif |
| (...skipping 683 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3667 browser(), 1, | 3671 browser(), 1, |
| 3668 content::DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_DENY)); | 3672 content::DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_DENY)); |
| 3669 ui_test_utils::NavigateToURL(browser(), extension_url); | 3673 ui_test_utils::NavigateToURL(browser(), extension_url); |
| 3670 | 3674 |
| 3671 observer->WaitForFinished(); | 3675 observer->WaitForFinished(); |
| 3672 | 3676 |
| 3673 // Download shelf should close. | 3677 // Download shelf should close. |
| 3674 EXPECT_FALSE(browser()->window()->IsDownloadShelfVisible()); | 3678 EXPECT_FALSE(browser()->window()->IsDownloadShelfVisible()); |
| 3675 } | 3679 } |
| 3676 #endif // defined(OS_CHROMEOS) | 3680 #endif // defined(OS_CHROMEOS) |
| OLD | NEW |