Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4870)

Unified Diff: chrome/browser/download/save_page_browsertest.cc

Issue 7606024: Add Cancel test for SavePackage. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/download/save_page_browsertest.cc
===================================================================
--- chrome/browser/download/save_page_browsertest.cc (revision 97058)
+++ chrome/browser/download/save_page_browsertest.cc (working copy)
@@ -44,6 +44,28 @@
InProcessBrowserTest::SetUp();
}
+ GURL NavigateToMockURL(const std::string& prefix) {
+ GURL url = URLRequestMockHTTPJob::GetMockUrl(
+ FilePath(kTestDir).AppendASCII(prefix + ".htm"));
+ ui_test_utils::NavigateToURL(browser(), url);
+ return url;
+ }
+
+ // Returns full paths of destination file and directory.
+ void GetDestinationPaths(const std::string& prefix,
+ 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 +174,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 = NavigateToMockURL("a");
- TabContents* current_tab = browser()->GetSelectedTabContents();
- ASSERT_TRUE(current_tab);
+ FilePath full_file_name, dir;
+ GetDestinationPaths("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 +189,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 +201,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;
+ GetDestinationPaths("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 +219,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 = NavigateToMockURL("b");
- TabContents* current_tab = browser()->GetSelectedTabContents();
- ASSERT_TRUE(current_tab);
+ FilePath full_file_name, dir;
+ GetDestinationPaths("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 +251,15 @@
}
IN_PROC_BROWSER_TEST_F(SavePageBrowserTest, FileNameFromPageTitle) {
- FilePath file_name(FILE_PATH_LITERAL("b.htm"));
+ GURL url = NavigateToMockURL("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 +279,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 = NavigateToMockURL("a");
- TabContents* current_tab = browser()->GetSelectedTabContents();
- ASSERT_TRUE(current_tab);
+ FilePath full_file_name, dir;
+ GetDestinationPaths("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 +306,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 = NavigateToMockURL("a");
+ FilePath full_file_name, dir;
+ GetDestinationPaths("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 = NavigateToMockURL("a");
+ FilePath full_file_name, dir;
+ GetDestinationPaths("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
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698