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 |