Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(259)

Side by Side Diff: chrome/browser/download/download_browsertest.cc

Issue 1542413002: Switch to standard integer types in chrome/browser/, part 1 of 4. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 12 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 <stdint.h>
6
5 #include <sstream> 7 #include <sstream>
6 8
7 #include "base/bind.h" 9 #include "base/bind.h"
8 #include "base/bind_helpers.h" 10 #include "base/bind_helpers.h"
9 #include "base/command_line.h" 11 #include "base/command_line.h"
10 #include "base/feature_list.h" 12 #include "base/feature_list.h"
11 #include "base/files/file.h" 13 #include "base/files/file.h"
12 #include "base/files/file_path.h" 14 #include "base/files/file_path.h"
13 #include "base/files/file_util.h" 15 #include "base/files/file_util.h"
14 #include "base/files/scoped_temp_dir.h" 16 #include "base/files/scoped_temp_dir.h"
17 #include "base/macros.h"
15 #include "base/memory/ref_counted.h" 18 #include "base/memory/ref_counted.h"
16 #include "base/path_service.h" 19 #include "base/path_service.h"
17 #include "base/prefs/pref_service.h" 20 #include "base/prefs/pref_service.h"
18 #include "base/stl_util.h" 21 #include "base/stl_util.h"
19 #include "base/strings/string_number_conversions.h" 22 #include "base/strings/string_number_conversions.h"
20 #include "base/strings/string_split.h" 23 #include "base/strings/string_split.h"
21 #include "base/strings/string_util.h" 24 #include "base/strings/string_util.h"
22 #include "base/strings/stringprintf.h" 25 #include "base/strings/stringprintf.h"
23 #include "base/strings/utf_string_conversions.h" 26 #include "base/strings/utf_string_conversions.h"
24 #include "base/sys_info.h" 27 #include "base/sys_info.h"
25 #include "base/test/test_file_util.h" 28 #include "base/test/test_file_util.h"
29 #include "build/build_config.h"
26 #include "chrome/app/chrome_command_ids.h" 30 #include "chrome/app/chrome_command_ids.h"
27 #include "chrome/browser/browser_process.h" 31 #include "chrome/browser/browser_process.h"
28 #include "chrome/browser/chrome_notification_types.h" 32 #include "chrome/browser/chrome_notification_types.h"
29 #include "chrome/browser/download/chrome_download_manager_delegate.h" 33 #include "chrome/browser/download/chrome_download_manager_delegate.h"
30 #include "chrome/browser/download/download_browsertest.h" 34 #include "chrome/browser/download/download_browsertest.h"
31 #include "chrome/browser/download/download_crx_util.h" 35 #include "chrome/browser/download/download_crx_util.h"
32 #include "chrome/browser/download/download_history.h" 36 #include "chrome/browser/download/download_history.h"
33 #include "chrome/browser/download/download_item_model.h" 37 #include "chrome/browser/download/download_item_model.h"
34 #include "chrome/browser/download/download_prefs.h" 38 #include "chrome/browser/download/download_prefs.h"
35 #include "chrome/browser/download/download_request_limiter.h" 39 #include "chrome/browser/download/download_request_limiter.h"
(...skipping 596 matching lines...) Expand 10 before | Expand all | Expand 10 after
632 EXPECT_TRUE(origin_file_exists) << origin_file.value(); 636 EXPECT_TRUE(origin_file_exists) << origin_file.value();
633 if (!origin_file_exists) 637 if (!origin_file_exists)
634 return false; 638 return false;
635 639
636 // Confirm the downloaded data file exists. 640 // Confirm the downloaded data file exists.
637 bool downloaded_file_exists = base::PathExists(downloaded_file); 641 bool downloaded_file_exists = base::PathExists(downloaded_file);
638 EXPECT_TRUE(downloaded_file_exists) << downloaded_file.value(); 642 EXPECT_TRUE(downloaded_file_exists) << downloaded_file.value();
639 if (!downloaded_file_exists) 643 if (!downloaded_file_exists)
640 return false; 644 return false;
641 645
642 int64 origin_file_size = 0; 646 int64_t origin_file_size = 0;
643 EXPECT_TRUE(base::GetFileSize(origin_file, &origin_file_size)); 647 EXPECT_TRUE(base::GetFileSize(origin_file, &origin_file_size));
644 std::string original_file_contents; 648 std::string original_file_contents;
645 EXPECT_TRUE(base::ReadFileToString(origin_file, &original_file_contents)); 649 EXPECT_TRUE(base::ReadFileToString(origin_file, &original_file_contents));
646 EXPECT_TRUE( 650 EXPECT_TRUE(
647 VerifyFile(downloaded_file, original_file_contents, origin_file_size)); 651 VerifyFile(downloaded_file, original_file_contents, origin_file_size));
648 652
649 // Delete the downloaded copy of the file. 653 // Delete the downloaded copy of the file.
650 bool downloaded_file_deleted = base::DieFileDie(downloaded_file, false); 654 bool downloaded_file_deleted = base::DieFileDie(downloaded_file, false);
651 EXPECT_TRUE(downloaded_file_deleted); 655 EXPECT_TRUE(downloaded_file_deleted);
652 return downloaded_file_deleted; 656 return downloaded_file_deleted;
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
781 } 785 }
782 786
783 bool DidShowFileChooser() { 787 bool DidShowFileChooser() {
784 return file_activity_observer_->TestAndResetDidShowFileChooser(); 788 return file_activity_observer_->TestAndResetDidShowFileChooser();
785 } 789 }
786 790
787 // Checks that |path| is has |file_size| bytes, and matches the |value| 791 // Checks that |path| is has |file_size| bytes, and matches the |value|
788 // string. 792 // string.
789 bool VerifyFile(const base::FilePath& path, 793 bool VerifyFile(const base::FilePath& path,
790 const std::string& value, 794 const std::string& value,
791 const int64 file_size) { 795 const int64_t file_size) {
792 std::string file_contents; 796 std::string file_contents;
793 797
794 bool read = base::ReadFileToString(path, &file_contents); 798 bool read = base::ReadFileToString(path, &file_contents);
795 EXPECT_TRUE(read) << "Failed reading file: " << path.value() << std::endl; 799 EXPECT_TRUE(read) << "Failed reading file: " << path.value() << std::endl;
796 if (!read) 800 if (!read)
797 return false; // Couldn't read the file. 801 return false; // Couldn't read the file.
798 802
799 // Note: we don't handle really large files (more than size_t can hold) 803 // Note: we don't handle really large files (more than size_t can hold)
800 // so we will fail in that case. 804 // so we will fail in that case.
801 size_t expected_size = static_cast<size_t>(file_size); 805 size_t expected_size = static_cast<size_t>(file_size);
(...skipping 554 matching lines...) Expand 10 before | Expand all | Expand 10 after
1356 // bug; this next test tests that filename deduplication happens independently 1360 // bug; this next test tests that filename deduplication happens independently
1357 // of DownloadManager/CDMD. 1361 // of DownloadManager/CDMD.
1358 IN_PROC_BROWSER_TEST_F(DownloadTest, DownloadTest_IncognitoRegular) { 1362 IN_PROC_BROWSER_TEST_F(DownloadTest, DownloadTest_IncognitoRegular) {
1359 GURL url = net::URLRequestMockHTTPJob::GetMockUrl("downloads/a_zip_file.zip"); 1363 GURL url = net::URLRequestMockHTTPJob::GetMockUrl("downloads/a_zip_file.zip");
1360 1364
1361 // Read the origin file now so that we can compare the downloaded files to it 1365 // Read the origin file now so that we can compare the downloaded files to it
1362 // later. 1366 // later.
1363 base::FilePath origin(OriginFile(base::FilePath(FILE_PATH_LITERAL( 1367 base::FilePath origin(OriginFile(base::FilePath(FILE_PATH_LITERAL(
1364 "downloads/a_zip_file.zip")))); 1368 "downloads/a_zip_file.zip"))));
1365 ASSERT_TRUE(base::PathExists(origin)); 1369 ASSERT_TRUE(base::PathExists(origin));
1366 int64 origin_file_size = 0; 1370 int64_t origin_file_size = 0;
1367 EXPECT_TRUE(base::GetFileSize(origin, &origin_file_size)); 1371 EXPECT_TRUE(base::GetFileSize(origin, &origin_file_size));
1368 std::string original_contents; 1372 std::string original_contents;
1369 EXPECT_TRUE(base::ReadFileToString(origin, &original_contents)); 1373 EXPECT_TRUE(base::ReadFileToString(origin, &original_contents));
1370 1374
1371 std::vector<DownloadItem*> download_items; 1375 std::vector<DownloadItem*> download_items;
1372 GetDownloads(browser(), &download_items); 1376 GetDownloads(browser(), &download_items);
1373 ASSERT_TRUE(download_items.empty()); 1377 ASSERT_TRUE(download_items.empty());
1374 1378
1375 // Download a file in the on-record browser and check that it was downloaded 1379 // Download a file in the on-record browser and check that it was downloaded
1376 // correctly. 1380 // correctly.
(...skipping 1600 matching lines...) Expand 10 before | Expand all | Expand 10 after
2977 #define MAYBE_DownloadTest_PercentComplete DISABLED_DownloadTest_PercentComplete 2981 #define MAYBE_DownloadTest_PercentComplete DISABLED_DownloadTest_PercentComplete
2978 #else 2982 #else
2979 #define MAYBE_DownloadTest_PercentComplete DownloadTest_PercentComplete 2983 #define MAYBE_DownloadTest_PercentComplete DownloadTest_PercentComplete
2980 #endif 2984 #endif
2981 IN_PROC_BROWSER_TEST_F(DownloadTest, MAYBE_DownloadTest_PercentComplete) { 2985 IN_PROC_BROWSER_TEST_F(DownloadTest, MAYBE_DownloadTest_PercentComplete) {
2982 // Write a huge file. 2986 // Write a huge file.
2983 base::FilePath file_path(DestinationFile( 2987 base::FilePath file_path(DestinationFile(
2984 browser(), base::FilePath(FILE_PATH_LITERAL("DownloadTest_BigZip.zip")))); 2988 browser(), base::FilePath(FILE_PATH_LITERAL("DownloadTest_BigZip.zip"))));
2985 base::File file(file_path, base::File::FLAG_CREATE | base::File::FLAG_WRITE); 2989 base::File file(file_path, base::File::FLAG_CREATE | base::File::FLAG_WRITE);
2986 ASSERT_TRUE(file.IsValid()); 2990 ASSERT_TRUE(file.IsValid());
2987 int64 size = 1 << 25; 2991 int64_t size = 1 << 25;
2988 EXPECT_EQ(1, file.Write(size, "a", 1)); 2992 EXPECT_EQ(1, file.Write(size, "a", 1));
2989 file.Close(); 2993 file.Close();
2990 2994
2991 #if defined(OS_POSIX) 2995 #if defined(OS_POSIX)
2992 // Make it readable by chronos on chromeos 2996 // Make it readable by chronos on chromeos
2993 base::SetPosixFilePermissions(file_path, 0755); 2997 base::SetPosixFilePermissions(file_path, 0755);
2994 #endif 2998 #endif
2995 2999
2996 // Ensure that we have enough disk space. 3000 // Ensure that we have enough disk space.
2997 int64 free_space = base::SysInfo::AmountOfFreeDiskSpace( 3001 int64_t free_space =
2998 GetDownloadDirectory(browser())); 3002 base::SysInfo::AmountOfFreeDiskSpace(GetDownloadDirectory(browser()));
2999 ASSERT_LE(size, free_space) << "Not enough disk space to download. Got " 3003 ASSERT_LE(size, free_space) << "Not enough disk space to download. Got "
3000 << free_space; 3004 << free_space;
3001 GURL file_url(net::FilePathToFileURL(file_path)); 3005 GURL file_url(net::FilePathToFileURL(file_path));
3002 scoped_ptr<content::DownloadTestObserver> progress_waiter( 3006 scoped_ptr<content::DownloadTestObserver> progress_waiter(
3003 CreateInProgressWaiter(browser(), 1)); 3007 CreateInProgressWaiter(browser(), 1));
3004 3008
3005 // Start downloading a file, wait for it to be created. 3009 // Start downloading a file, wait for it to be created.
3006 ui_test_utils::NavigateToURLWithDisposition( 3010 ui_test_utils::NavigateToURLWithDisposition(
3007 browser(), file_url, CURRENT_TAB, ui_test_utils::BROWSER_TEST_NONE); 3011 browser(), file_url, CURRENT_TAB, ui_test_utils::BROWSER_TEST_NONE);
3008 progress_waiter->WaitForFinished(); 3012 progress_waiter->WaitForFinished();
3009 EXPECT_EQ(1u, progress_waiter->NumDownloadsSeenInState( 3013 EXPECT_EQ(1u, progress_waiter->NumDownloadsSeenInState(
3010 DownloadItem::IN_PROGRESS)); 3014 DownloadItem::IN_PROGRESS));
3011 std::vector<DownloadItem*> download_items; 3015 std::vector<DownloadItem*> download_items;
3012 GetDownloads(browser(), &download_items); 3016 GetDownloads(browser(), &download_items);
3013 ASSERT_EQ(1UL, download_items.size()); 3017 ASSERT_EQ(1UL, download_items.size());
3014 3018
3015 // Wait for the download to complete, checking along the way that the 3019 // Wait for the download to complete, checking along the way that the
3016 // PercentComplete() never regresses. 3020 // PercentComplete() never regresses.
3017 PercentWaiter waiter(download_items[0]); 3021 PercentWaiter waiter(download_items[0]);
3018 EXPECT_TRUE(waiter.WaitForFinished()); 3022 EXPECT_TRUE(waiter.WaitForFinished());
3019 EXPECT_EQ(DownloadItem::COMPLETE, download_items[0]->GetState()); 3023 EXPECT_EQ(DownloadItem::COMPLETE, download_items[0]->GetState());
3020 ASSERT_EQ(100, download_items[0]->PercentComplete()); 3024 ASSERT_EQ(100, download_items[0]->PercentComplete());
3021 3025
3022 // Check that the file downloaded correctly. 3026 // Check that the file downloaded correctly.
3023 ASSERT_TRUE(base::PathExists(download_items[0]->GetTargetFilePath())); 3027 ASSERT_TRUE(base::PathExists(download_items[0]->GetTargetFilePath()));
3024 int64 downloaded_size = 0; 3028 int64_t downloaded_size = 0;
3025 ASSERT_TRUE(base::GetFileSize( 3029 ASSERT_TRUE(base::GetFileSize(
3026 download_items[0]->GetTargetFilePath(), &downloaded_size)); 3030 download_items[0]->GetTargetFilePath(), &downloaded_size));
3027 ASSERT_EQ(size + 1, downloaded_size); 3031 ASSERT_EQ(size + 1, downloaded_size);
3028 ASSERT_TRUE(base::DieFileDie(file_path, false)); 3032 ASSERT_TRUE(base::DieFileDie(file_path, false));
3029 ASSERT_TRUE(base::DieFileDie(download_items[0]->GetTargetFilePath(), false)); 3033 ASSERT_TRUE(base::DieFileDie(download_items[0]->GetTargetFilePath(), false));
3030 } 3034 }
3031 3035
3032 // A download that is interrupted due to a file error should be able to be 3036 // A download that is interrupted due to a file error should be able to be
3033 // resumed. 3037 // resumed.
3034 IN_PROC_BROWSER_TEST_F(DownloadTest, Resumption_NoPrompt) { 3038 IN_PROC_BROWSER_TEST_F(DownloadTest, Resumption_NoPrompt) {
(...skipping 598 matching lines...) Expand 10 before | Expand all | Expand 10 after
3633 3637
3634 scoped_ptr<content::DownloadTestObserver> observer(DangerousDownloadWaiter( 3638 scoped_ptr<content::DownloadTestObserver> observer(DangerousDownloadWaiter(
3635 browser(), 1, content::DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_DENY)); 3639 browser(), 1, content::DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_DENY));
3636 ui_test_utils::NavigateToURL(browser(), extension_url); 3640 ui_test_utils::NavigateToURL(browser(), extension_url);
3637 3641
3638 observer->WaitForFinished(); 3642 observer->WaitForFinished();
3639 3643
3640 // Download shelf should close. 3644 // Download shelf should close.
3641 EXPECT_FALSE(browser()->window()->IsDownloadShelfVisible()); 3645 EXPECT_FALSE(browser()->window()->IsDownloadShelfVisible());
3642 } 3646 }
OLDNEW
« no previous file with comments | « chrome/browser/download/download_browsertest.h ('k') | chrome/browser/download/download_commands.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698