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

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

Issue 148133007: [Downloads] Always call DM::StartDownload() for explicit downloads. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 9 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 | Annotate | Revision Log
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 "base/at_exit.h" 5 #include "base/at_exit.h"
6 #include "base/files/file_path.h" 6 #include "base/files/file_path.h"
7 #include "base/files/scoped_temp_dir.h" 7 #include "base/files/scoped_temp_dir.h"
8 #include "base/message_loop/message_loop.h" 8 #include "base/message_loop/message_loop.h"
9 #include "base/observer_list.h" 9 #include "base/observer_list.h"
10 #include "base/prefs/pref_service.h" 10 #include "base/prefs/pref_service.h"
(...skipping 905 matching lines...) Expand 10 before | Expand all | Expand 10 after
916 // Test that an inactive download will still get a virtual or local download 916 // Test that an inactive download will still get a virtual or local download
917 // path. 917 // path.
918 TEST_F(DownloadTargetDeterminerTest, TargetDeterminer_InactiveDownload) { 918 TEST_F(DownloadTargetDeterminerTest, TargetDeterminer_InactiveDownload) {
919 const DownloadTestCase kInactiveTestCases[] = { 919 const DownloadTestCase kInactiveTestCases[] = {
920 { 920 {
921 AUTOMATIC, 921 AUTOMATIC,
922 content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, 922 content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS,
923 "http://example.com/foo.txt", "text/plain", 923 "http://example.com/foo.txt", "text/plain",
924 FILE_PATH_LITERAL(""), 924 FILE_PATH_LITERAL(""),
925 925
926 FILE_PATH_LITERAL(""), 926 FILE_PATH_LITERAL("foo.txt"),
927 DownloadItem::TARGET_DISPOSITION_OVERWRITE, 927 DownloadItem::TARGET_DISPOSITION_OVERWRITE,
928 928
929 EXPECT_LOCAL_PATH 929 EXPECT_CRDOWNLOAD
930 }, 930 },
931 931
932 { 932 {
933 SAVE_AS, 933 SAVE_AS,
934 content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, 934 content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS,
935 "http://example.com/foo.txt", "text/plain", 935 "http://example.com/foo.txt", "text/plain",
936 FILE_PATH_LITERAL(""), 936 FILE_PATH_LITERAL(""),
937 937
938 FILE_PATH_LITERAL(""), 938 FILE_PATH_LITERAL("foo.txt"),
939 DownloadItem::TARGET_DISPOSITION_PROMPT, 939 DownloadItem::TARGET_DISPOSITION_PROMPT,
940 940
941 EXPECT_LOCAL_PATH 941 EXPECT_CRDOWNLOAD
942 } 942 }
943 }; 943 };
944 944
945 for (size_t i = 0; i < arraysize(kInactiveTestCases); ++i) { 945 for (size_t i = 0; i < arraysize(kInactiveTestCases); ++i) {
946 SCOPED_TRACE(testing::Message() << "Running test case " << i); 946 SCOPED_TRACE(testing::Message() << "Running test case " << i);
947 const DownloadTestCase& test_case = kInactiveTestCases[i]; 947 const DownloadTestCase& test_case = kInactiveTestCases[i];
948 scoped_ptr<content::MockDownloadItem> item( 948 scoped_ptr<content::MockDownloadItem> item(
949 CreateActiveDownloadItem(i, test_case)); 949 CreateActiveDownloadItem(i, test_case));
950 EXPECT_CALL(*item.get(), GetState()) 950 EXPECT_CALL(*item.get(), GetState())
951 .WillRepeatedly(Return(content::DownloadItem::CANCELLED)); 951 .WillRepeatedly(Return(content::DownloadItem::CANCELLED));
952 // Even though one is a SAVE_AS download, no prompt will be displayed to 952
953 // the user because the download is inactive. 953 // The following delegate methods should not be invoked for an inactive
954 EXPECT_CALL(*delegate(), PromptUserForDownloadPath(_, _, _)) 954 // download.
955 .Times(0); 955 EXPECT_CALL(*delegate(), PromptUserForDownloadPath(_, _, _)).Times(0);
956 EXPECT_CALL(*delegate(), NotifyExtensions(_, _, _)).Times(0);
957 EXPECT_CALL(*delegate(), ReserveVirtualPath(_, _, _, _, _)).Times(0);
958 EXPECT_CALL(*delegate(), DetermineLocalPath(_, _, _)).Times(1);
956 RunTestCase(test_case, base::FilePath(), item.get()); 959 RunTestCase(test_case, base::FilePath(), item.get());
957 } 960 }
958 } 961 }
959 962
960 // If the reserved path could not be verified, then the user should see a 963 // If the reserved path could not be verified, then the user should see a
961 // prompt. 964 // prompt.
962 TEST_F(DownloadTargetDeterminerTest, TargetDeterminer_ReservationFailed) { 965 TEST_F(DownloadTargetDeterminerTest, TargetDeterminer_ReservationFailed) {
963 const DownloadTestCase kReservationFailedCases[] = { 966 const DownloadTestCase kReservationFailedCases[] = {
964 { 967 {
965 // 0: Automatic download. Since the reservation fails, the disposition of 968 // 0: Automatic download. Since the reservation fails, the disposition of
(...skipping 1213 matching lines...) Expand 10 before | Expand all | Expand 10 after
2179 EXPECT_CALL(mock_plugin_filter_, MockPluginAvailable(npapi_plugin.path())) 2182 EXPECT_CALL(mock_plugin_filter_, MockPluginAvailable(npapi_plugin.path()))
2180 .WillRepeatedly(Return(true)); 2183 .WillRepeatedly(Return(true));
2181 2184
2182 target_info = RunDownloadTargetDeterminer( 2185 target_info = RunDownloadTargetDeterminer(
2183 GetPathInDownloadDir(kInitialPath), item.get()); 2186 GetPathInDownloadDir(kInitialPath), item.get());
2184 EXPECT_FALSE(target_info->is_filetype_handled_safely); 2187 EXPECT_FALSE(target_info->is_filetype_handled_safely);
2185 } 2188 }
2186 #endif // defined(ENABLE_PLUGINS) 2189 #endif // defined(ENABLE_PLUGINS)
2187 2190
2188 } // namespace 2191 } // namespace
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698