diff options
author | viettrungluu@chromium.org <viettrungluu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-04-08 16:07:16 +0000 |
---|---|---|
committer | viettrungluu@chromium.org <viettrungluu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-04-08 16:07:16 +0000 |
commit | 714786e1b9566ca76388497904d2ebdb7fd111f5 (patch) | |
tree | 01acf69cddaa411e91c0e8f1cb1c8ed3c30a0ba0 /chrome/browser/download | |
parent | a5a00b1dd7a4950de617bb9bb9bc596d1f89965f (diff) | |
download | chromium_src-714786e1b9566ca76388497904d2ebdb7fd111f5.zip chromium_src-714786e1b9566ca76388497904d2ebdb7fd111f5.tar.gz chromium_src-714786e1b9566ca76388497904d2ebdb7fd111f5.tar.bz2 |
Revert 43931 - [GTTF] Clean up browser tests:
use more ui_test_utils functions to simplify the code
expose more consistent and powerful utilities in ui_test_utils
minor style improvements
move some tests from DISABLED to FLAKY so we don't lose coverage
remove redundant timeouts
check more return values
TEST=browser_tests
BUG=none
Review URL: http://codereview.chromium.org/1571002
TBR=phajdan.jr@chromium.org
Review URL: http://codereview.chromium.org/1520026
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43950 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/download')
-rw-r--r-- | chrome/browser/download/save_page_browsertest.cc | 52 |
1 files changed, 39 insertions, 13 deletions
diff --git a/chrome/browser/download/save_page_browsertest.cc b/chrome/browser/download/save_page_browsertest.cc index 99648b4..70b1822 100644 --- a/chrome/browser/download/save_page_browsertest.cc +++ b/chrome/browser/download/save_page_browsertest.cc @@ -16,8 +16,6 @@ #include "chrome/test/ui_test_utils.h" #include "testing/gtest/include/gtest/gtest.h" -namespace { - static const FilePath::CharType* kTestDir = FILE_PATH_LITERAL("save_page"); static const char* kAppendedExtension = @@ -27,6 +25,37 @@ static const char* kAppendedExtension = ".html"; #endif +namespace { + +class SavePageFinishedObserver : public NotificationObserver { + public: + SavePageFinishedObserver() { + registrar_.Add(this, NotificationType::SAVE_PACKAGE_SUCCESSFULLY_FINISHED, + NotificationService::AllSources()); + ui_test_utils::RunMessageLoop(); + } + + GURL page_url() const { return page_url_; } + + virtual void Observe(NotificationType type, + const NotificationSource& source, + const NotificationDetails& details) { + if (type == NotificationType::SAVE_PACKAGE_SUCCESSFULLY_FINISHED) { + page_url_ = *Details<GURL>(details).ptr(); + MessageLoopForUI::current()->Quit(); + } else { + NOTREACHED(); + } + } + + private: + NotificationRegistrar registrar_; + + GURL page_url_; + + DISALLOW_COPY_AND_ASSIGN(SavePageFinishedObserver); +}; + class SavePageBrowserTest : public InProcessBrowserTest { protected: void SetUp() { @@ -35,14 +64,6 @@ class SavePageBrowserTest : public InProcessBrowserTest { InProcessBrowserTest::SetUp(); } - GURL WaitForSavePackageToFinish() { - ui_test_utils::TestNotificationObserver observer; - ui_test_utils::RegisterAndWait(&observer, - NotificationType::SAVE_PACKAGE_SUCCESSFULLY_FINISHED, - NotificationService::AllSources()); - return *Details<GURL>(observer.details()).ptr(); - } - // Path to directory containing test data. FilePath test_dir_; @@ -64,7 +85,9 @@ IN_PROC_BROWSER_TEST_F(SavePageBrowserTest, SaveHTMLOnly) { ASSERT_TRUE(current_tab->SavePage(full_file_name, dir, SavePackage::SAVE_AS_ONLY_HTML)); - EXPECT_EQ(url, WaitForSavePackageToFinish()); + SavePageFinishedObserver observer; + + EXPECT_EQ(url, observer.page_url()); if (browser()->SupportsWindowFeature(Browser::FEATURE_DOWNLOADSHELF)) EXPECT_TRUE(browser()->window()->IsDownloadShelfVisible()); @@ -119,7 +142,9 @@ IN_PROC_BROWSER_TEST_F(SavePageBrowserTest, SaveCompleteHTML) { ASSERT_TRUE(current_tab->SavePage(full_file_name, dir, SavePackage::SAVE_AS_COMPLETE_HTML)); - EXPECT_EQ(url, WaitForSavePackageToFinish()); + SavePageFinishedObserver observer; + + EXPECT_EQ(url, observer.page_url()); if (browser()->SupportsWindowFeature(Browser::FEATURE_DOWNLOADSHELF)) EXPECT_TRUE(browser()->window()->IsDownloadShelfVisible()); @@ -160,8 +185,9 @@ IN_PROC_BROWSER_TEST_F(SavePageBrowserTest, FileNameFromPageTitle) { ASSERT_TRUE(current_tab->SavePage(full_file_name, dir, SavePackage::SAVE_AS_COMPLETE_HTML)); + SavePageFinishedObserver observer; - EXPECT_EQ(url, WaitForSavePackageToFinish()); + EXPECT_EQ(url, observer.page_url()); if (browser()->SupportsWindowFeature(Browser::FEATURE_DOWNLOADSHELF)) EXPECT_TRUE(browser()->window()->IsDownloadShelfVisible()); |