Chromium Code Reviews| Index: chrome/browser/download/save_page_browsertest.cc |
| =================================================================== |
| --- chrome/browser/download/save_page_browsertest.cc (revision 96208) |
| +++ chrome/browser/download/save_page_browsertest.cc (working copy) |
| @@ -44,6 +44,27 @@ |
| InProcessBrowserTest::SetUp(); |
| } |
| + GURL Navigate(const std::string& prefix) { |
|
Paweł Hajdan Jr.
2011/08/15 17:16:00
nit: Let's be more precise: NavigateToMockURL.
achuithb
2011/08/15 22:39:05
Done.
|
| + GURL url = URLRequestMockHTTPJob::GetMockUrl( |
| + FilePath(kTestDir).AppendASCII(prefix + ".htm")); |
| + ui_test_utils::NavigateToURL(browser(), url); |
| + return url; |
| + } |
| + |
| + void GetPaths(const std::string& prefix, |
|
Paweł Hajdan Jr.
2011/08/15 17:16:00
nit: Make the method name more precise: _what_ pat
achuithb
2011/08/15 22:39:05
I've renamed this to GetDestinationPaths and added
|
| + FilePath* full_file_name, |
| + FilePath* dir) { |
| + *full_file_name = save_dir_.path().AppendASCII(prefix + ".htm"); |
| + *dir = save_dir_.path().AppendASCII(prefix + "_files"); |
| + } |
| + |
| + TabContents* GetCurrentTab() const { |
| + TabContents* current_tab = browser()->GetSelectedTabContents(); |
| + EXPECT_TRUE(current_tab); |
| + return current_tab; |
| + } |
| + |
| + |
| GURL WaitForSavePackageToFinish() const { |
| ui_test_utils::TestNotificationObserver observer; |
| ui_test_utils::RegisterAndWait(&observer, |
| @@ -152,19 +173,13 @@ |
| }; |
| IN_PROC_BROWSER_TEST_F(SavePageBrowserTest, SaveHTMLOnly) { |
| - FilePath file_name(FILE_PATH_LITERAL("a.htm")); |
| - GURL url = URLRequestMockHTTPJob::GetMockUrl( |
| - FilePath(kTestDir).Append(file_name)); |
| - ui_test_utils::NavigateToURL(browser(), url); |
| + GURL url = Navigate("a"); |
| - TabContents* current_tab = browser()->GetSelectedTabContents(); |
| - ASSERT_TRUE(current_tab); |
| + FilePath full_file_name, dir; |
| + GetPaths("a", &full_file_name, &dir); |
| + ASSERT_TRUE(GetCurrentTab()->SavePage(full_file_name, dir, |
| + SavePackage::SAVE_AS_ONLY_HTML)); |
| - FilePath full_file_name = save_dir_.path().Append(file_name); |
| - FilePath dir = save_dir_.path().AppendASCII("a_files"); |
| - ASSERT_TRUE(current_tab->SavePage(full_file_name, dir, |
| - SavePackage::SAVE_AS_ONLY_HTML)); |
| - |
| EXPECT_EQ(url, WaitForSavePackageToFinish()); |
| CheckDownloadUI(full_file_name); |
| @@ -173,7 +188,7 @@ |
| EXPECT_TRUE(file_util::PathExists(full_file_name)); |
| EXPECT_FALSE(file_util::PathExists(dir)); |
| EXPECT_TRUE(file_util::ContentsEqual( |
| - test_dir_.Append(FilePath(kTestDir)).Append(file_name), |
| + test_dir_.Append(FilePath(kTestDir)).Append(FILE_PATH_LITERAL("a.htm")), |
| full_file_name)); |
| } |
| @@ -185,15 +200,11 @@ |
| FilePath(kTestDir).Append(file_name)); |
| ui_test_utils::NavigateToURL(browser(), view_source_url); |
| - TabContents* current_tab = browser()->GetSelectedTabContents(); |
| - ASSERT_TRUE(current_tab); |
| + FilePath full_file_name, dir; |
| + GetPaths("a", &full_file_name, &dir); |
| + ASSERT_TRUE(GetCurrentTab()->SavePage(full_file_name, dir, |
| + SavePackage::SAVE_AS_ONLY_HTML)); |
| - FilePath full_file_name = save_dir_.path().Append(file_name); |
| - FilePath dir = save_dir_.path().AppendASCII("a_files"); |
| - |
| - ASSERT_TRUE(current_tab->SavePage(full_file_name, dir, |
| - SavePackage::SAVE_AS_ONLY_HTML)); |
| - |
| EXPECT_EQ(actual_page_url, WaitForSavePackageToFinish()); |
| CheckDownloadUI(full_file_name); |
| @@ -207,19 +218,13 @@ |
| } |
| IN_PROC_BROWSER_TEST_F(SavePageBrowserTest, SaveCompleteHTML) { |
| - FilePath file_name(FILE_PATH_LITERAL("b.htm")); |
| - GURL url = URLRequestMockHTTPJob::GetMockUrl( |
| - FilePath(kTestDir).Append(file_name)); |
| - ui_test_utils::NavigateToURL(browser(), url); |
| + GURL url = Navigate("b"); |
| - TabContents* current_tab = browser()->GetSelectedTabContents(); |
| - ASSERT_TRUE(current_tab); |
| + FilePath full_file_name, dir; |
| + GetPaths("b", &full_file_name, &dir); |
| + ASSERT_TRUE(GetCurrentTab()->SavePage(full_file_name, dir, |
| + SavePackage::SAVE_AS_COMPLETE_HTML)); |
| - FilePath full_file_name = save_dir_.path().Append(file_name); |
| - FilePath dir = save_dir_.path().AppendASCII("b_files"); |
| - ASSERT_TRUE(current_tab->SavePage(full_file_name, dir, |
| - SavePackage::SAVE_AS_COMPLETE_HTML)); |
| - |
| EXPECT_EQ(url, WaitForSavePackageToFinish()); |
| CheckDownloadUI(full_file_name); |
| @@ -245,23 +250,15 @@ |
| } |
| IN_PROC_BROWSER_TEST_F(SavePageBrowserTest, FileNameFromPageTitle) { |
| - FilePath file_name(FILE_PATH_LITERAL("b.htm")); |
| + GURL url = Navigate("b"); |
| - GURL url = URLRequestMockHTTPJob::GetMockUrl( |
| - FilePath(kTestDir).Append(file_name)); |
| - ui_test_utils::NavigateToURL(browser(), url); |
| - |
| FilePath full_file_name = save_dir_.path().AppendASCII( |
| std::string("Test page for saving page feature") + kAppendedExtension); |
| FilePath dir = save_dir_.path().AppendASCII( |
| "Test page for saving page feature_files"); |
| + ASSERT_TRUE(GetCurrentTab()->SavePage(full_file_name, dir, |
| + SavePackage::SAVE_AS_COMPLETE_HTML)); |
| - TabContents* current_tab = browser()->GetSelectedTabContents(); |
| - ASSERT_TRUE(current_tab); |
| - |
| - ASSERT_TRUE(current_tab->SavePage(full_file_name, dir, |
| - SavePackage::SAVE_AS_COMPLETE_HTML)); |
| - |
| EXPECT_EQ(url, WaitForSavePackageToFinish()); |
| CheckDownloadUI(full_file_name); |
| @@ -281,19 +278,13 @@ |
| } |
| IN_PROC_BROWSER_TEST_F(SavePageBrowserTest, RemoveFromList) { |
| - FilePath file_name(FILE_PATH_LITERAL("a.htm")); |
| - GURL url = URLRequestMockHTTPJob::GetMockUrl( |
| - FilePath(kTestDir).Append(file_name)); |
| - ui_test_utils::NavigateToURL(browser(), url); |
| + GURL url = Navigate("a"); |
| - TabContents* current_tab = browser()->GetSelectedTabContents(); |
| - ASSERT_TRUE(current_tab); |
| + FilePath full_file_name, dir; |
| + GetPaths("a", &full_file_name, &dir); |
| + ASSERT_TRUE(GetCurrentTab()->SavePage(full_file_name, dir, |
| + SavePackage::SAVE_AS_ONLY_HTML)); |
| - FilePath full_file_name = save_dir_.path().Append(file_name); |
| - FilePath dir = save_dir_.path().AppendASCII("a_files"); |
| - ASSERT_TRUE(current_tab->SavePage(full_file_name, dir, |
| - SavePackage::SAVE_AS_ONLY_HTML)); |
| - |
| EXPECT_EQ(url, WaitForSavePackageToFinish()); |
| CheckDownloadUI(full_file_name); |
| @@ -314,8 +305,29 @@ |
| EXPECT_TRUE(file_util::PathExists(full_file_name)); |
| EXPECT_FALSE(file_util::PathExists(dir)); |
| EXPECT_TRUE(file_util::ContentsEqual( |
| - test_dir_.Append(FilePath(kTestDir)).Append(file_name), |
| + test_dir_.Append(FilePath(kTestDir)).Append(FILE_PATH_LITERAL("a.htm")), |
| full_file_name)); |
| } |
| +// Create a SavePackage and delete it without calling Init. |
| +// SavePackage dtor has various asserts/checks that should not fire. |
| +IN_PROC_BROWSER_TEST_F(SavePageBrowserTest, ImplicitCancel) { |
| + GURL url = Navigate("a"); |
| + FilePath full_file_name, dir; |
| + GetPaths("a", &full_file_name, &dir); |
| + scoped_refptr<SavePackage> save_package(new SavePackage(GetCurrentTab(), |
| + SavePackage::SAVE_AS_ONLY_HTML, full_file_name, dir)); |
| } |
| + |
| +// Create a SavePackage, call Cancel, then delete it. |
| +// SavePackage dtor has various asserts/checks that should not fire. |
| +IN_PROC_BROWSER_TEST_F(SavePageBrowserTest, ExplicitCancel) { |
| + GURL url = Navigate("a"); |
| + FilePath full_file_name, dir; |
| + GetPaths("a", &full_file_name, &dir); |
| + scoped_refptr<SavePackage> save_package(new SavePackage(GetCurrentTab(), |
| + SavePackage::SAVE_AS_ONLY_HTML, full_file_name, dir)); |
| + save_package->Cancel(true); |
| +} |
| + |
| +} // namespace |