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 { ...@@ -44,6 +44,28 @@ class SavePageBrowserTest : public InProcessBrowserTest {
InProcessBrowserTest::SetUp(); 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 { GURL WaitForSavePackageToFinish() const {
ui_test_utils::TestNotificationObserver observer; ui_test_utils::TestNotificationObserver observer;
ui_test_utils::RegisterAndWait(&observer, ui_test_utils::RegisterAndWait(&observer,
...@@ -152,18 +174,12 @@ class SavePageBrowserTest : public InProcessBrowserTest { ...@@ -152,18 +174,12 @@ class SavePageBrowserTest : public InProcessBrowserTest {
}; };
IN_PROC_BROWSER_TEST_F(SavePageBrowserTest, SaveHTMLOnly) { IN_PROC_BROWSER_TEST_F(SavePageBrowserTest, SaveHTMLOnly) {
FilePath file_name(FILE_PATH_LITERAL("a.htm")); GURL url = NavigateToMockURL("a");
GURL url = URLRequestMockHTTPJob::GetMockUrl(
FilePath(kTestDir).Append(file_name));
ui_test_utils::NavigateToURL(browser(), url);
TabContents* current_tab = browser()->GetSelectedTabContents();
ASSERT_TRUE(current_tab);
FilePath full_file_name = save_dir_.path().Append(file_name); FilePath full_file_name, dir;
FilePath dir = save_dir_.path().AppendASCII("a_files"); GetDestinationPaths("a", &full_file_name, &dir);
ASSERT_TRUE(current_tab->SavePage(full_file_name, dir, ASSERT_TRUE(GetCurrentTab()->SavePage(full_file_name, dir,
SavePackage::SAVE_AS_ONLY_HTML)); SavePackage::SAVE_AS_ONLY_HTML));
EXPECT_EQ(url, WaitForSavePackageToFinish()); EXPECT_EQ(url, WaitForSavePackageToFinish());
...@@ -173,7 +189,7 @@ IN_PROC_BROWSER_TEST_F(SavePageBrowserTest, SaveHTMLOnly) { ...@@ -173,7 +189,7 @@ IN_PROC_BROWSER_TEST_F(SavePageBrowserTest, SaveHTMLOnly) {
EXPECT_TRUE(file_util::PathExists(full_file_name)); EXPECT_TRUE(file_util::PathExists(full_file_name));
EXPECT_FALSE(file_util::PathExists(dir)); EXPECT_FALSE(file_util::PathExists(dir));
EXPECT_TRUE(file_util::ContentsEqual( 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)); full_file_name));
} }
...@@ -185,14 +201,10 @@ IN_PROC_BROWSER_TEST_F(SavePageBrowserTest, SaveViewSourceHTMLOnly) { ...@@ -185,14 +201,10 @@ IN_PROC_BROWSER_TEST_F(SavePageBrowserTest, SaveViewSourceHTMLOnly) {
FilePath(kTestDir).Append(file_name)); FilePath(kTestDir).Append(file_name));
ui_test_utils::NavigateToURL(browser(), view_source_url); ui_test_utils::NavigateToURL(browser(), view_source_url);
TabContents* current_tab = browser()->GetSelectedTabContents(); FilePath full_file_name, dir;
ASSERT_TRUE(current_tab); GetDestinationPaths("a", &full_file_name, &dir);
ASSERT_TRUE(GetCurrentTab()->SavePage(full_file_name, dir,
FilePath full_file_name = save_dir_.path().Append(file_name); SavePackage::SAVE_AS_ONLY_HTML));
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()); EXPECT_EQ(actual_page_url, WaitForSavePackageToFinish());
...@@ -207,18 +219,12 @@ IN_PROC_BROWSER_TEST_F(SavePageBrowserTest, SaveViewSourceHTMLOnly) { ...@@ -207,18 +219,12 @@ IN_PROC_BROWSER_TEST_F(SavePageBrowserTest, SaveViewSourceHTMLOnly) {
} }
IN_PROC_BROWSER_TEST_F(SavePageBrowserTest, SaveCompleteHTML) { IN_PROC_BROWSER_TEST_F(SavePageBrowserTest, SaveCompleteHTML) {
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);
TabContents* current_tab = browser()->GetSelectedTabContents();
ASSERT_TRUE(current_tab);
FilePath full_file_name = save_dir_.path().Append(file_name); FilePath full_file_name, dir;
FilePath dir = save_dir_.path().AppendASCII("b_files"); GetDestinationPaths("b", &full_file_name, &dir);
ASSERT_TRUE(current_tab->SavePage(full_file_name, dir, ASSERT_TRUE(GetCurrentTab()->SavePage(full_file_name, dir,
SavePackage::SAVE_AS_COMPLETE_HTML)); SavePackage::SAVE_AS_COMPLETE_HTML));
EXPECT_EQ(url, WaitForSavePackageToFinish()); EXPECT_EQ(url, WaitForSavePackageToFinish());
...@@ -245,22 +251,14 @@ IN_PROC_BROWSER_TEST_F(SavePageBrowserTest, NoSave) { ...@@ -245,22 +251,14 @@ IN_PROC_BROWSER_TEST_F(SavePageBrowserTest, NoSave) {
} }
IN_PROC_BROWSER_TEST_F(SavePageBrowserTest, FileNameFromPageTitle) { 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( FilePath full_file_name = save_dir_.path().AppendASCII(
std::string("Test page for saving page feature") + kAppendedExtension); std::string("Test page for saving page feature") + kAppendedExtension);
FilePath dir = save_dir_.path().AppendASCII( FilePath dir = save_dir_.path().AppendASCII(
"Test page for saving page feature_files"); "Test page for saving page feature_files");
ASSERT_TRUE(GetCurrentTab()->SavePage(full_file_name, dir,
TabContents* current_tab = browser()->GetSelectedTabContents(); SavePackage::SAVE_AS_COMPLETE_HTML));
ASSERT_TRUE(current_tab);
ASSERT_TRUE(current_tab->SavePage(full_file_name, dir,
SavePackage::SAVE_AS_COMPLETE_HTML));
EXPECT_EQ(url, WaitForSavePackageToFinish()); EXPECT_EQ(url, WaitForSavePackageToFinish());
...@@ -281,18 +279,12 @@ IN_PROC_BROWSER_TEST_F(SavePageBrowserTest, FileNameFromPageTitle) { ...@@ -281,18 +279,12 @@ IN_PROC_BROWSER_TEST_F(SavePageBrowserTest, FileNameFromPageTitle) {
} }
IN_PROC_BROWSER_TEST_F(SavePageBrowserTest, RemoveFromList) { IN_PROC_BROWSER_TEST_F(SavePageBrowserTest, RemoveFromList) {
FilePath file_name(FILE_PATH_LITERAL("a.htm")); GURL url = NavigateToMockURL("a");
GURL url = URLRequestMockHTTPJob::GetMockUrl(
FilePath(kTestDir).Append(file_name));
ui_test_utils::NavigateToURL(browser(), url);
TabContents* current_tab = browser()->GetSelectedTabContents();
ASSERT_TRUE(current_tab);
FilePath full_file_name = save_dir_.path().Append(file_name); FilePath full_file_name, dir;
FilePath dir = save_dir_.path().AppendASCII("a_files"); GetDestinationPaths("a", &full_file_name, &dir);
ASSERT_TRUE(current_tab->SavePage(full_file_name, dir, ASSERT_TRUE(GetCurrentTab()->SavePage(full_file_name, dir,
SavePackage::SAVE_AS_ONLY_HTML)); SavePackage::SAVE_AS_ONLY_HTML));
EXPECT_EQ(url, WaitForSavePackageToFinish()); EXPECT_EQ(url, WaitForSavePackageToFinish());
...@@ -314,8 +306,29 @@ IN_PROC_BROWSER_TEST_F(SavePageBrowserTest, RemoveFromList) { ...@@ -314,8 +306,29 @@ IN_PROC_BROWSER_TEST_F(SavePageBrowserTest, RemoveFromList) {
EXPECT_TRUE(file_util::PathExists(full_file_name)); EXPECT_TRUE(file_util::PathExists(full_file_name));
EXPECT_FALSE(file_util::PathExists(dir)); EXPECT_FALSE(file_util::PathExists(dir));
EXPECT_TRUE(file_util::ContentsEqual( 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)); 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