Commit b3b99ab8 authored by achuith@chromium.org's avatar achuith@chromium.org

Add Cancel test for SavePackage.

BUG=92289
TEST=New browser test for Cancel.
Review URL: http://codereview.chromium.org/7606024

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@97065 0039d316-1c4b-4281-b951-d872f2087c98
parent aa710902
......@@ -44,6 +44,28 @@ class SavePageBrowserTest : public InProcessBrowserTest {
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,18 +174,12 @@ class SavePageBrowserTest : public InProcessBrowserTest {
};
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);
TabContents* current_tab = browser()->GetSelectedTabContents();
ASSERT_TRUE(current_tab);
GURL url = NavigateToMockURL("a");
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));
FilePath full_file_name, dir;
GetDestinationPaths("a", &full_file_name, &dir);
ASSERT_TRUE(GetCurrentTab()->SavePage(full_file_name, dir,
SavePackage::SAVE_AS_ONLY_HTML));
EXPECT_EQ(url, WaitForSavePackageToFinish());
......@@ -173,7 +189,7 @@ IN_PROC_BROWSER_TEST_F(SavePageBrowserTest, SaveHTMLOnly) {
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,14 +201,10 @@ IN_PROC_BROWSER_TEST_F(SavePageBrowserTest, SaveViewSourceHTMLOnly) {
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 = 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));
FilePath full_file_name, dir;
GetDestinationPaths("a", &full_file_name, &dir);
ASSERT_TRUE(GetCurrentTab()->SavePage(full_file_name, dir,
SavePackage::SAVE_AS_ONLY_HTML));
EXPECT_EQ(actual_page_url, WaitForSavePackageToFinish());
......@@ -207,18 +219,12 @@ IN_PROC_BROWSER_TEST_F(SavePageBrowserTest, SaveViewSourceHTMLOnly) {
}
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);
TabContents* current_tab = browser()->GetSelectedTabContents();
ASSERT_TRUE(current_tab);
GURL url = NavigateToMockURL("b");
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));
FilePath full_file_name, dir;
GetDestinationPaths("b", &full_file_name, &dir);
ASSERT_TRUE(GetCurrentTab()->SavePage(full_file_name, dir,
SavePackage::SAVE_AS_COMPLETE_HTML));
EXPECT_EQ(url, WaitForSavePackageToFinish());
......@@ -245,22 +251,14 @@ IN_PROC_BROWSER_TEST_F(SavePageBrowserTest, NoSave) {
}
IN_PROC_BROWSER_TEST_F(SavePageBrowserTest, FileNameFromPageTitle) {
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");
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");
TabContents* current_tab = browser()->GetSelectedTabContents();
ASSERT_TRUE(current_tab);
ASSERT_TRUE(current_tab->SavePage(full_file_name, dir,
SavePackage::SAVE_AS_COMPLETE_HTML));
ASSERT_TRUE(GetCurrentTab()->SavePage(full_file_name, dir,
SavePackage::SAVE_AS_COMPLETE_HTML));
EXPECT_EQ(url, WaitForSavePackageToFinish());
......@@ -281,18 +279,12 @@ IN_PROC_BROWSER_TEST_F(SavePageBrowserTest, FileNameFromPageTitle) {
}
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);
TabContents* current_tab = browser()->GetSelectedTabContents();
ASSERT_TRUE(current_tab);
GURL url = NavigateToMockURL("a");
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));
FilePath full_file_name, dir;
GetDestinationPaths("a", &full_file_name, &dir);
ASSERT_TRUE(GetCurrentTab()->SavePage(full_file_name, dir,
SavePackage::SAVE_AS_ONLY_HTML));
EXPECT_EQ(url, WaitForSavePackageToFinish());
......@@ -314,8 +306,29 @@ IN_PROC_BROWSER_TEST_F(SavePageBrowserTest, RemoveFromList) {
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
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment