diff options
author | phajdan.jr@chromium.org <phajdan.jr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-07-15 17:09:01 +0000 |
---|---|---|
committer | phajdan.jr@chromium.org <phajdan.jr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-07-15 17:09:01 +0000 |
commit | 4129132ccbbc05abb8bfd89b3d7d5316c4d7d136 (patch) | |
tree | b01682d5ad9a9e73c64217299c383f2d281a9864 /chrome/browser/download/download_request_manager_unittest.cc | |
parent | 8bad4795cbf8afd699f6c3dc111c8dba11a280d3 (diff) | |
download | chromium_src-4129132ccbbc05abb8bfd89b3d7d5316c4d7d136.zip chromium_src-4129132ccbbc05abb8bfd89b3d7d5316c4d7d136.tar.gz chromium_src-4129132ccbbc05abb8bfd89b3d7d5316c4d7d136.tar.bz2 |
Rename DownloadRequestManager to DownloadRequestLimiter.
We already have too many classes named Manager in the download code.
This also contains some minor cleanup changes like comment updates.
TEST=unit_tests, browser_tests, ui_tests
BUG=48913
Review URL: http://codereview.chromium.org/3011001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52493 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/download/download_request_manager_unittest.cc')
-rw-r--r-- | chrome/browser/download/download_request_manager_unittest.cc | 214 |
1 files changed, 0 insertions, 214 deletions
diff --git a/chrome/browser/download/download_request_manager_unittest.cc b/chrome/browser/download/download_request_manager_unittest.cc deleted file mode 100644 index 3e5e454..0000000 --- a/chrome/browser/download/download_request_manager_unittest.cc +++ /dev/null @@ -1,214 +0,0 @@ -// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "chrome/browser/chrome_thread.h" -#include "chrome/browser/download/download_request_manager.h" -#include "chrome/browser/renderer_host/test/test_render_view_host.h" -#include "chrome/browser/tab_contents/navigation_controller.h" -#include "chrome/test/testing_profile.h" -#include "testing/gtest/include/gtest/gtest.h" - -class DownloadRequestManagerTest - : public RenderViewHostTestHarness, - public DownloadRequestManager::Callback { - public: - DownloadRequestManagerTest() : io_thread_(ChromeThread::IO, &message_loop_) {} - - virtual void SetUp() { - RenderViewHostTestHarness::SetUp(); - - allow_download_ = true; - ask_allow_count_ = cancel_count_ = continue_count_ = 0; - - download_request_manager_ = new DownloadRequestManager(); - test_delegate_.reset(new DownloadRequestManagerTestDelegate(this)); - DownloadRequestManager::SetTestingDelegate(test_delegate_.get()); - } - - virtual void TearDown() { - DownloadRequestManager::SetTestingDelegate(NULL); - - RenderViewHostTestHarness::TearDown(); - } - - virtual void ContinueDownload() { - continue_count_++; - } - virtual void CancelDownload() { - cancel_count_++; - } - - virtual int GetRequestId() { - return -1; - } - - void CanDownload() { - download_request_manager_->CanDownloadImpl( - controller().tab_contents(), this); - message_loop_.RunAllPending(); - } - - bool ShouldAllowDownload() { - ask_allow_count_++; - return allow_download_; - } - - protected: - class DownloadRequestManagerTestDelegate - : public DownloadRequestManager::TestingDelegate { - public: - explicit DownloadRequestManagerTestDelegate( - DownloadRequestManagerTest* test) - : test_(test) { } - - virtual bool ShouldAllowDownload() { - return test_->ShouldAllowDownload(); - } - - private: - DownloadRequestManagerTest* test_; - }; - - scoped_ptr<DownloadRequestManagerTestDelegate> test_delegate_; - scoped_refptr<DownloadRequestManager> download_request_manager_; - - // Number of times ContinueDownload was invoked. - int continue_count_; - - // Number of times CancelDownload was invoked. - int cancel_count_; - - // Whether the download should be allowed. - bool allow_download_; - - // Number of times ShouldAllowDownload was invoked. - int ask_allow_count_; - - ChromeThread io_thread_; -}; - -// http://code.google.com/p/chromium/issues/detail?id=39753 -TEST_F(DownloadRequestManagerTest, FLAKY_Allow) { - // All tabs should initially start at ALLOW_ONE_DOWNLOAD. - ASSERT_EQ(DownloadRequestManager::ALLOW_ONE_DOWNLOAD, - download_request_manager_->GetDownloadStatus( - controller().tab_contents())); - - // Ask if the tab can do a download. This moves to PROMPT_BEFORE_DOWNLOAD. - CanDownload(); - ASSERT_EQ(DownloadRequestManager::PROMPT_BEFORE_DOWNLOAD, - download_request_manager_->GetDownloadStatus( - controller().tab_contents())); - // We should have been told we can download. - ASSERT_EQ(1, continue_count_); - ASSERT_EQ(0, cancel_count_); - ASSERT_EQ(0, ask_allow_count_); - continue_count_ = 0; - - // Ask again. This triggers asking the delegate for allow/disallow. - allow_download_ = true; - CanDownload(); - // This should ask us if the download is allowed. - ASSERT_EQ(1, ask_allow_count_); - ask_allow_count_ = 0; - ASSERT_EQ(DownloadRequestManager::ALLOW_ALL_DOWNLOADS, - download_request_manager_->GetDownloadStatus( - controller().tab_contents())); - // We should have been told we can download. - ASSERT_EQ(1, continue_count_); - ASSERT_EQ(0, cancel_count_); - continue_count_ = 0; - - // Ask again and make sure continue is invoked. - CanDownload(); - // The state is at allow_all, which means the delegate shouldn't be asked. - ASSERT_EQ(0, ask_allow_count_); - ASSERT_EQ(DownloadRequestManager::ALLOW_ALL_DOWNLOADS, - download_request_manager_->GetDownloadStatus( - controller().tab_contents())); - // We should have been told we can download. - ASSERT_EQ(1, continue_count_); - ASSERT_EQ(0, cancel_count_); - continue_count_ = 0; -} - -TEST_F(DownloadRequestManagerTest, ResetOnNavigation) { - NavigateAndCommit(GURL("http://foo.com/bar")); - - // Do two downloads, allowing the second so that we end up with allow all. - CanDownload(); - allow_download_ = true; - CanDownload(); - ask_allow_count_ = continue_count_ = cancel_count_ = 0; - ASSERT_EQ(DownloadRequestManager::ALLOW_ALL_DOWNLOADS, - download_request_manager_->GetDownloadStatus( - controller().tab_contents())); - - // Navigate to a new URL with the same host, which shouldn't reset the allow - // all state. - NavigateAndCommit(GURL("http://foo.com/bar2")); - CanDownload(); - ASSERT_EQ(1, continue_count_); - ASSERT_EQ(0, cancel_count_); - ASSERT_EQ(0, ask_allow_count_); - ask_allow_count_ = continue_count_ = cancel_count_ = 0; - ASSERT_EQ(DownloadRequestManager::ALLOW_ALL_DOWNLOADS, - download_request_manager_->GetDownloadStatus( - controller().tab_contents())); - - // Do a user gesture, because we're at allow all, this shouldn't change the - // state. - download_request_manager_->OnUserGesture(controller().tab_contents()); - ASSERT_EQ(DownloadRequestManager::ALLOW_ALL_DOWNLOADS, - download_request_manager_->GetDownloadStatus( - controller().tab_contents())); - - // Navigate to a completely different host, which should reset the state. - NavigateAndCommit(GURL("http://fooey.com")); - ASSERT_EQ(DownloadRequestManager::ALLOW_ONE_DOWNLOAD, - download_request_manager_->GetDownloadStatus( - controller().tab_contents())); -} - -TEST_F(DownloadRequestManagerTest, ResetOnUserGesture) { - NavigateAndCommit(GURL("http://foo.com/bar")); - - // Do one download, which should change to prompt before download. - CanDownload(); - ask_allow_count_ = continue_count_ = cancel_count_ = 0; - ASSERT_EQ(DownloadRequestManager::PROMPT_BEFORE_DOWNLOAD, - download_request_manager_->GetDownloadStatus( - controller().tab_contents())); - - // Do a user gesture, which should reset back to allow one. - download_request_manager_->OnUserGesture(controller().tab_contents()); - ASSERT_EQ(DownloadRequestManager::ALLOW_ONE_DOWNLOAD, - download_request_manager_->GetDownloadStatus( - controller().tab_contents())); - - // Ask twice, which triggers calling the delegate. Don't allow the download - // so that we end up with not allowed. - allow_download_ = false; - CanDownload(); - CanDownload(); - ASSERT_EQ(DownloadRequestManager::DOWNLOADS_NOT_ALLOWED, - download_request_manager_->GetDownloadStatus( - controller().tab_contents())); - - // A user gesture now should NOT change the state. - download_request_manager_->OnUserGesture(controller().tab_contents()); - ASSERT_EQ(DownloadRequestManager::DOWNLOADS_NOT_ALLOWED, - download_request_manager_->GetDownloadStatus( - controller().tab_contents())); - // And make sure we really can't download. - ask_allow_count_ = continue_count_ = cancel_count_ = 0; - CanDownload(); - ASSERT_EQ(0, ask_allow_count_); - ASSERT_EQ(0, continue_count_); - ASSERT_EQ(1, cancel_count_); - // And the state shouldn't have changed. - ASSERT_EQ(DownloadRequestManager::DOWNLOADS_NOT_ALLOWED, - download_request_manager_->GetDownloadStatus( - controller().tab_contents())); -} |