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

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

Issue 12662032: Merge SavePackageFilePicker{,ChromeOS} (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: @r198452 Created 7 years, 7 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/files/file_path.h" 5 #include "base/files/file_path.h"
6 #include "base/files/scoped_temp_dir.h" 6 #include "base/files/scoped_temp_dir.h"
7 #include "base/message_loop.h" 7 #include "base/message_loop.h"
8 #include "base/prefs/pref_service.h" 8 #include "base/prefs/pref_service.h"
9 #include "base/run_loop.h" 9 #include "base/run_loop.h"
10 #include "chrome/browser/download/chrome_download_manager_delegate.h" 10 #include "chrome/browser/download/chrome_download_manager_delegate.h"
(...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after
244 base::FilePath ChromeDownloadManagerDelegateTest::GetPathInDownloadDir( 244 base::FilePath ChromeDownloadManagerDelegateTest::GetPathInDownloadDir(
245 const char* relative_path) { 245 const char* relative_path) {
246 base::FilePath full_path = 246 base::FilePath full_path =
247 test_download_dir_.path().AppendASCII(relative_path); 247 test_download_dir_.path().AppendASCII(relative_path);
248 return full_path.NormalizePathSeparators(); 248 return full_path.NormalizePathSeparators();
249 } 249 }
250 250
251 void ChromeDownloadManagerDelegateTest::SetDefaultDownloadPath( 251 void ChromeDownloadManagerDelegateTest::SetDefaultDownloadPath(
252 const base::FilePath& path) { 252 const base::FilePath& path) {
253 pref_service_->SetFilePath(prefs::kDownloadDefaultDirectory, path); 253 pref_service_->SetFilePath(prefs::kDownloadDefaultDirectory, path);
254 pref_service_->SetFilePath(prefs::kSaveFileDefaultDirectory, path);
254 } 255 }
255 256
256 void ChromeDownloadManagerDelegateTest::DetermineDownloadTarget( 257 void ChromeDownloadManagerDelegateTest::DetermineDownloadTarget(
257 DownloadItem* download_item, 258 DownloadItem* download_item,
258 DownloadTarget* result) { 259 DownloadTarget* result) {
259 base::WeakPtrFactory<ChromeDownloadManagerDelegateTest> factory(this); 260 base::WeakPtrFactory<ChromeDownloadManagerDelegateTest> factory(this);
260 delegate()->DetermineDownloadTarget( 261 delegate()->DetermineDownloadTarget(
261 download_item, 262 download_item,
262 base::Bind(&ChromeDownloadManagerDelegateTest::OnDownloadTargetDone, 263 base::Bind(&ChromeDownloadManagerDelegateTest::OnDownloadTargetDone,
263 factory.GetWeakPtr(), base::Unretained(result))); 264 factory.GetWeakPtr(), base::Unretained(result)));
(...skipping 29 matching lines...) Expand all
293 } 294 }
294 295
295 DownloadPrefs* ChromeDownloadManagerDelegateTest::download_prefs() { 296 DownloadPrefs* ChromeDownloadManagerDelegateTest::download_prefs() {
296 return delegate_->download_prefs(); 297 return delegate_->download_prefs();
297 } 298 }
298 299
299 } // namespace 300 } // namespace
300 301
301 TEST_F(ChromeDownloadManagerDelegateTest, StartDownload_LastSavePath) { 302 TEST_F(ChromeDownloadManagerDelegateTest, StartDownload_LastSavePath) {
302 GURL download_url("http://example.com/foo.txt"); 303 GURL download_url("http://example.com/foo.txt");
303 delegate()->ClearLastDownloadPath();
304 304
305 scoped_ptr<content::MockDownloadItem> save_as_download( 305 scoped_ptr<content::MockDownloadItem> save_as_download(
306 CreateActiveDownloadItem(0)); 306 CreateActiveDownloadItem(0));
307 EXPECT_CALL(*save_as_download, GetURL()) 307 EXPECT_CALL(*save_as_download, GetURL())
308 .Times(::testing::AnyNumber()) 308 .Times(::testing::AnyNumber())
309 .WillRepeatedly(ReturnRef(download_url)); 309 .WillRepeatedly(ReturnRef(download_url));
310 EXPECT_CALL(*save_as_download, GetTargetDisposition()) 310 EXPECT_CALL(*save_as_download, GetTargetDisposition())
311 .Times(::testing::AnyNumber()) 311 .Times(::testing::AnyNumber())
312 .WillRepeatedly(Return(DownloadItem::TARGET_DISPOSITION_PROMPT)); 312 .WillRepeatedly(Return(DownloadItem::TARGET_DISPOSITION_PROMPT));
313 313
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
351 { 351 {
352 // Start an automatic download. This one should get the default download 352 // Start an automatic download. This one should get the default download
353 // path since the last download path only affects Save As downloads. 353 // path since the last download path only affects Save As downloads.
354 DownloadTarget result; 354 DownloadTarget result;
355 base::FilePath expected_path(GetPathInDownloadDir("foo.txt")); 355 base::FilePath expected_path(GetPathInDownloadDir("foo.txt"));
356 DetermineDownloadTarget(automatic_download.get(), &result); 356 DetermineDownloadTarget(automatic_download.get(), &result);
357 EXPECT_EQ(expected_path, result.target_path); 357 EXPECT_EQ(expected_path, result.target_path);
358 VerifyAndClearExpectations(); 358 VerifyAndClearExpectations();
359 } 359 }
360 360
361 // Clear the last download path.
362 delegate()->ClearLastDownloadPath();
363
364 { 361 {
365 // The prompt path for the next download should be the default. 362 // The prompt path for the next download should be the default.
363 download_prefs()->SetSaveFilePath(download_prefs()->DownloadPath());
366 DownloadTarget result; 364 DownloadTarget result;
367 base::FilePath expected_prompt_path(GetPathInDownloadDir("foo.txt")); 365 base::FilePath expected_prompt_path(GetPathInDownloadDir("foo.txt"));
368 EXPECT_CALL(*delegate(), 366 EXPECT_CALL(*delegate(),
369 MockPromptUserForDownloadPath(save_as_download.get(), 367 MockPromptUserForDownloadPath(save_as_download.get(),
370 expected_prompt_path, _)) 368 expected_prompt_path, _))
371 .WillOnce(Return(base::FilePath())); 369 .WillOnce(Return(base::FilePath()));
372 DetermineDownloadTarget(save_as_download.get(), &result); 370 DetermineDownloadTarget(save_as_download.get(), &result);
373 VerifyAndClearExpectations(); 371 VerifyAndClearExpectations();
374 } 372 }
375 } 373 }
374
375 // TODO(benjhayden): DownloadPrefs::[Set]SaveFilePath() on-the-record vs. off
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698