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 "base/message_loop.h" | 5 #include "base/message_loop.h" |
6 #include "base/stl_util.h" | 6 #include "base/stl_util.h" |
7 #include "base/threading/thread.h" | 7 #include "base/threading/thread.h" |
8 #include "content/browser/download/byte_stream.h" | 8 #include "content/browser/download/byte_stream.h" |
9 #include "content/browser/download/download_create_info.h" | 9 #include "content/browser/download/download_create_info.h" |
10 #include "content/browser/download/download_file_manager.h" | 10 #include "content/browser/download/download_file_manager.h" |
(...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
292 MockObserver observer(item); | 292 MockObserver observer(item); |
293 | 293 |
294 item->Remove(); | 294 item->Remove(); |
295 ASSERT_TRUE(observer.CheckUpdated()); | 295 ASSERT_TRUE(observer.CheckUpdated()); |
296 } | 296 } |
297 | 297 |
298 TEST_F(DownloadItemTest, NotificationAfterOnTargetPathDetermined) { | 298 TEST_F(DownloadItemTest, NotificationAfterOnTargetPathDetermined) { |
299 DownloadItemImpl* safe_item = CreateDownloadItem(DownloadItem::IN_PROGRESS); | 299 DownloadItemImpl* safe_item = CreateDownloadItem(DownloadItem::IN_PROGRESS); |
300 MockObserver safe_observer(safe_item); | 300 MockObserver safe_observer(safe_item); |
301 | 301 |
302 // Calling OnTargetPathDetermined does not trigger notification if danger type | 302 // Calling OnTargetPathDetermined triggers notification regardless of danger |
303 // is NOT_DANGEROUS. | 303 // type. |
304 safe_item->OnTargetPathDetermined( | 304 safe_item->OnTargetPathDetermined( |
305 FilePath(kDummyPath), DownloadItem::TARGET_DISPOSITION_OVERWRITE, | 305 FilePath(kDummyPath), DownloadItem::TARGET_DISPOSITION_OVERWRITE, |
306 content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS); | 306 content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS); |
307 EXPECT_FALSE(safe_observer.CheckUpdated()); | 307 EXPECT_FALSE(safe_observer.CheckUpdated()); |
308 | 308 |
309 DownloadItemImpl* dangerous_item = | 309 DownloadItemImpl* dangerous_item = |
310 CreateDownloadItem(DownloadItem::IN_PROGRESS); | 310 CreateDownloadItem(DownloadItem::IN_PROGRESS); |
311 MockObserver dangerous_observer(dangerous_item); | 311 MockObserver dangerous_observer(dangerous_item); |
312 | 312 |
313 // Calling OnTargetPathDetermined does trigger notification if danger type | 313 // Calling OnTargetPathDetermined does trigger notification if danger type |
314 // anything other than NOT_DANGEROUS. | 314 // anything other than NOT_DANGEROUS. |
315 dangerous_item->OnTargetPathDetermined( | 315 dangerous_item->OnTargetPathDetermined( |
316 FilePath(kDummyPath), DownloadItem::TARGET_DISPOSITION_OVERWRITE, | 316 FilePath(kDummyPath), DownloadItem::TARGET_DISPOSITION_OVERWRITE, |
317 content::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE); | 317 content::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE); |
318 EXPECT_TRUE(dangerous_observer.CheckUpdated()); | 318 EXPECT_FALSE(dangerous_observer.CheckUpdated()); |
319 } | 319 } |
320 | 320 |
321 TEST_F(DownloadItemTest, NotificationAfterOnTargetPathSelected) { | 321 TEST_F(DownloadItemTest, NotificationAfterOnTargetPathSelected) { |
322 DownloadItemImpl* item = CreateDownloadItem(DownloadItem::IN_PROGRESS); | 322 DownloadItemImpl* item = CreateDownloadItem(DownloadItem::IN_PROGRESS); |
323 MockObserver observer(item); | 323 MockObserver observer(item); |
324 | 324 |
325 item->OnTargetPathDetermined( | 325 item->OnTargetPathDetermined( |
326 FilePath(kDummyPath), DownloadItem::TARGET_DISPOSITION_PROMPT, | 326 FilePath(kDummyPath), DownloadItem::TARGET_DISPOSITION_PROMPT, |
327 content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS); | 327 content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS); |
328 item->OnTargetPathSelected(FilePath(kDummyPath)); | 328 item->OnTargetPathSelected(FilePath(kDummyPath)); |
329 EXPECT_FALSE(observer.CheckUpdated()); | 329 EXPECT_FALSE(observer.CheckUpdated()); |
330 } | 330 } |
331 | 331 |
332 TEST_F(DownloadItemTest, NotificationAfterOnContentCheckCompleted) { | 332 TEST_F(DownloadItemTest, NotificationAfterOnContentCheckCompleted) { |
333 // Setting to NOT_DANGEROUS does not trigger a notification. | 333 // Setting to NOT_DANGEROUS does not trigger a notification. |
334 DownloadItemImpl* safe_item = CreateDownloadItem(DownloadItem::IN_PROGRESS); | 334 DownloadItemImpl* safe_item = CreateDownloadItem(DownloadItem::IN_PROGRESS); |
335 MockObserver safe_observer(safe_item); | 335 MockObserver safe_observer(safe_item); |
336 | 336 |
337 safe_item->OnTargetPathDetermined( | 337 safe_item->OnTargetPathDetermined( |
338 FilePath(kDummyPath), DownloadItem::TARGET_DISPOSITION_OVERWRITE, | 338 FilePath(kDummyPath), DownloadItem::TARGET_DISPOSITION_OVERWRITE, |
339 content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS); | 339 content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS); |
340 EXPECT_FALSE(safe_observer.CheckUpdated()); | 340 EXPECT_FALSE(safe_observer.CheckUpdated()); |
341 safe_item->OnAllDataSaved(1, ""); | 341 safe_item->OnAllDataSaved(1, ""); |
342 EXPECT_TRUE(safe_observer.CheckUpdated()); | 342 EXPECT_TRUE(safe_observer.CheckUpdated()); |
343 safe_item->OnContentCheckCompleted( | 343 safe_item->OnContentCheckCompleted( |
344 content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS); | 344 content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS); |
345 EXPECT_FALSE(safe_observer.CheckUpdated()); | 345 EXPECT_TRUE(safe_observer.CheckUpdated()); |
346 | 346 |
347 // Setting to unsafe url or unsafe file should trigger a notification. | 347 // Setting to unsafe url or unsafe file should trigger a notification. |
348 DownloadItemImpl* unsafeurl_item = | 348 DownloadItemImpl* unsafeurl_item = |
349 CreateDownloadItem(DownloadItem::IN_PROGRESS); | 349 CreateDownloadItem(DownloadItem::IN_PROGRESS); |
350 MockObserver unsafeurl_observer(unsafeurl_item); | 350 MockObserver unsafeurl_observer(unsafeurl_item); |
351 | 351 |
352 unsafeurl_item->OnTargetPathDetermined( | 352 unsafeurl_item->OnTargetPathDetermined( |
353 FilePath(kDummyPath), DownloadItem::TARGET_DISPOSITION_OVERWRITE, | 353 FilePath(kDummyPath), DownloadItem::TARGET_DISPOSITION_OVERWRITE, |
354 content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS); | 354 content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS); |
355 EXPECT_FALSE(unsafeurl_observer.CheckUpdated()); | 355 EXPECT_FALSE(unsafeurl_observer.CheckUpdated()); |
(...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
583 DownloadItemImpl* item = CreateDownloadItem(DownloadItem::IN_PROGRESS); | 583 DownloadItemImpl* item = CreateDownloadItem(DownloadItem::IN_PROGRESS); |
584 | 584 |
585 EXPECT_FALSE(item->GetFileExternallyRemoved()); | 585 EXPECT_FALSE(item->GetFileExternallyRemoved()); |
586 item->OnDownloadedFileRemoved(); | 586 item->OnDownloadedFileRemoved(); |
587 EXPECT_TRUE(item->GetFileExternallyRemoved()); | 587 EXPECT_TRUE(item->GetFileExternallyRemoved()); |
588 } | 588 } |
589 | 589 |
590 TEST(MockDownloadItem, Compiles) { | 590 TEST(MockDownloadItem, Compiles) { |
591 MockDownloadItem mock_item; | 591 MockDownloadItem mock_item; |
592 } | 592 } |
OLD | NEW |