OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 <string> | 5 #include <string> |
6 #include <set> | 6 #include <set> |
7 | 7 |
8 #include "base/file_util.h" | 8 #include "base/file_util.h" |
9 #include "base/i18n/number_formatting.h" | 9 #include "base/i18n/number_formatting.h" |
10 #include "base/i18n/rtl.h" | 10 #include "base/i18n/rtl.h" |
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
228 download_manager_->AddObserver(this); | 228 download_manager_->AddObserver(this); |
229 } | 229 } |
230 | 230 |
231 ~SelectFileObserver() { | 231 ~SelectFileObserver() { |
232 download_manager_->RemoveObserver(this); | 232 download_manager_->RemoveObserver(this); |
233 } | 233 } |
234 | 234 |
235 // Downloadmanager::Observer functions. | 235 // Downloadmanager::Observer functions. |
236 virtual void ModelChanged() {} | 236 virtual void ModelChanged() {} |
237 virtual void ManagerGoingDown() {} | 237 virtual void ManagerGoingDown() {} |
238 virtual void SelectFileDialogDisplayed(int32 id) { | 238 virtual void SelectFileDialogDisplayed(int32 id, |
| 239 const FilePath& suggested_path) { |
239 file_dialog_ids_.insert(id); | 240 file_dialog_ids_.insert(id); |
240 } | 241 } |
241 | 242 |
242 bool ShowedFileDialogForId(int32 id) { | 243 bool ShowedFileDialogForId(int32 id) { |
243 return file_dialog_ids_.find(id) != file_dialog_ids_.end(); | 244 return file_dialog_ids_.find(id) != file_dialog_ids_.end(); |
244 } | 245 } |
245 | 246 |
246 private: | 247 private: |
247 std::set<int32> file_dialog_ids_; | 248 std::set<int32> file_dialog_ids_; |
248 scoped_refptr<DownloadManager> download_manager_; | 249 scoped_refptr<DownloadManager> download_manager_; |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
285 DownloadItem* tracked_; | 286 DownloadItem* tracked_; |
286 int states_hit_; | 287 int states_hit_; |
287 bool was_updated_; | 288 bool was_updated_; |
288 bool was_opened_; | 289 bool was_opened_; |
289 }; | 290 }; |
290 | 291 |
291 } // namespace | 292 } // namespace |
292 | 293 |
293 TEST_F(DownloadManagerTest, StartDownload) { | 294 TEST_F(DownloadManagerTest, StartDownload) { |
294 BrowserThread io_thread(BrowserThread::IO, &message_loop_); | 295 BrowserThread io_thread(BrowserThread::IO, &message_loop_); |
| 296 ScopedTempDir download_save_dir; |
| 297 ASSERT_TRUE(download_save_dir.CreateUniqueTempDir()); |
295 PrefService* prefs = profile_->GetPrefs(); | 298 PrefService* prefs = profile_->GetPrefs(); |
296 prefs->SetFilePath(prefs::kDownloadDefaultDirectory, FilePath()); | 299 prefs->SetFilePath(prefs::kDownloadDefaultDirectory, |
| 300 download_save_dir.path()); |
297 download_manager_->download_prefs()->EnableAutoOpenBasedOnExtension( | 301 download_manager_->download_prefs()->EnableAutoOpenBasedOnExtension( |
298 FilePath(FILE_PATH_LITERAL("example.pdf"))); | 302 FilePath(FILE_PATH_LITERAL("example.pdf"))); |
299 | 303 |
300 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kStartDownloadCases); ++i) { | 304 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kStartDownloadCases); ++i) { |
301 prefs->SetBoolean(prefs::kPromptForDownload, | 305 prefs->SetBoolean(prefs::kPromptForDownload, |
302 kStartDownloadCases[i].prompt_for_download); | 306 kStartDownloadCases[i].prompt_for_download); |
303 | 307 |
304 SelectFileObserver observer(download_manager_); | 308 SelectFileObserver observer(download_manager_); |
305 // Normally, the download system takes ownership of info, and is | 309 // Normally, the download system takes ownership of info, and is |
306 // responsible for deleting it. In these unit tests, however, we | 310 // responsible for deleting it. In these unit tests, however, we |
(...skipping 401 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
708 EXPECT_FALSE(observer->hit_state(DownloadItem::REMOVING)); | 712 EXPECT_FALSE(observer->hit_state(DownloadItem::REMOVING)); |
709 EXPECT_TRUE(observer->was_updated()); | 713 EXPECT_TRUE(observer->was_updated()); |
710 EXPECT_FALSE(observer->was_opened()); | 714 EXPECT_FALSE(observer->was_opened()); |
711 EXPECT_TRUE(download->file_externally_removed()); | 715 EXPECT_TRUE(download->file_externally_removed()); |
712 EXPECT_EQ(DownloadItem::COMPLETE, download->state()); | 716 EXPECT_EQ(DownloadItem::COMPLETE, download->state()); |
713 EXPECT_EQ(download_item_model->GetStatusText(), | 717 EXPECT_EQ(download_item_model->GetStatusText(), |
714 l10n_util::GetStringUTF16(IDS_DOWNLOAD_STATUS_REMOVED)); | 718 l10n_util::GetStringUTF16(IDS_DOWNLOAD_STATUS_REMOVED)); |
715 | 719 |
716 EXPECT_FALSE(file_util::PathExists(new_path)); | 720 EXPECT_FALSE(file_util::PathExists(new_path)); |
717 } | 721 } |
OLD | NEW |