| 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
|
|
|