diff options
Diffstat (limited to 'chrome/browser/download/save_page_browsertest.cc')
-rw-r--r-- | chrome/browser/download/save_page_browsertest.cc | 63 |
1 files changed, 58 insertions, 5 deletions
diff --git a/chrome/browser/download/save_page_browsertest.cc b/chrome/browser/download/save_page_browsertest.cc index 88859b3e..4c4df11 100644 --- a/chrome/browser/download/save_page_browsertest.cc +++ b/chrome/browser/download/save_page_browsertest.cc @@ -4,6 +4,7 @@ #include "base/file_path.h" #include "base/scoped_temp_dir.h" +#include "chrome/app/chrome_dll_resource.h" #include "chrome/browser/browser.h" #include "chrome/browser/browser_window.h" #include "chrome/browser/net/url_request_mock_http_job.h" @@ -16,6 +17,13 @@ static const FilePath::CharType* kTestDir = FILE_PATH_LITERAL("save_page"); +static const char* kAppendedExtension = +#if defined(OS_WIN) + ".htm"; +#else + ".html"; +#endif + namespace { class SavePageFinishedObserver : public NotificationObserver { @@ -73,8 +81,9 @@ IN_PROC_BROWSER_TEST_F(SavePageBrowserTest, SaveHTMLOnly) { FilePath full_file_name = save_dir_.path().Append(file_name); FilePath dir = save_dir_.path().AppendASCII("a_files"); - current_tab->SavePage(full_file_name.ToWStringHack(), dir.ToWStringHack(), - SavePackage::SAVE_AS_ONLY_HTML); + ASSERT_TRUE(current_tab->SavePage(full_file_name.ToWStringHack(), + dir.ToWStringHack(), + SavePackage::SAVE_AS_ONLY_HTML)); SavePageFinishedObserver observer; @@ -98,8 +107,9 @@ IN_PROC_BROWSER_TEST_F(SavePageBrowserTest, SaveCompleteHTML) { FilePath full_file_name = save_dir_.path().Append(file_name); FilePath dir = save_dir_.path().AppendASCII("b_files"); - current_tab->SavePage(full_file_name.ToWStringHack(), dir.ToWStringHack(), - SavePackage::SAVE_AS_COMPLETE_HTML); + ASSERT_TRUE(current_tab->SavePage(full_file_name.ToWStringHack(), + dir.ToWStringHack(), + SavePackage::SAVE_AS_COMPLETE_HTML)); SavePageFinishedObserver observer; @@ -107,7 +117,50 @@ IN_PROC_BROWSER_TEST_F(SavePageBrowserTest, SaveCompleteHTML) { EXPECT_TRUE(browser()->window()->IsDownloadShelfVisible()); EXPECT_TRUE(file_util::PathExists(full_file_name)); EXPECT_TRUE(file_util::PathExists(dir)); - // TODO(phajdan.jr): Check saved html file's contents (http://crbug.com/3791). + EXPECT_TRUE(file_util::TextContentsEqual( + test_dir_.Append(FilePath(kTestDir)).AppendASCII("b.saved1.htm"), + full_file_name)); + EXPECT_TRUE(file_util::ContentsEqual( + test_dir_.Append(FilePath(kTestDir)).AppendASCII("1.png"), + dir.AppendASCII("1.png"))); + EXPECT_TRUE(file_util::ContentsEqual( + test_dir_.Append(FilePath(kTestDir)).AppendASCII("1.css"), + dir.AppendASCII("1.css"))); +} + +IN_PROC_BROWSER_TEST_F(SavePageBrowserTest, NoSave) { + ui_test_utils::NavigateToURL(browser(), GURL("about:blank")); + ASSERT_TRUE(browser()->command_updater()->SupportsCommand(IDC_SAVE_PAGE)); + EXPECT_FALSE(browser()->command_updater()->IsCommandEnabled(IDC_SAVE_PAGE)); +} + +IN_PROC_BROWSER_TEST_F(SavePageBrowserTest, FileNameFromPageTitle) { + FilePath file_name(FILE_PATH_LITERAL("b.htm")); + + GURL url = URLRequestMockHTTPJob::GetMockUrl( + FilePath(kTestDir).Append(file_name).ToWStringHack()); + 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"); + + TabContents* current_tab = browser()->GetSelectedTabContents(); + ASSERT_TRUE(current_tab); + + ASSERT_TRUE(current_tab->SavePage(full_file_name.ToWStringHack(), + dir.ToWStringHack(), + SavePackage::SAVE_AS_COMPLETE_HTML)); + SavePageFinishedObserver observer; + + EXPECT_EQ(url, observer.page_url()); + EXPECT_TRUE(browser()->window()->IsDownloadShelfVisible()); + EXPECT_TRUE(file_util::PathExists(full_file_name)); + EXPECT_TRUE(file_util::PathExists(dir)); + EXPECT_TRUE(file_util::TextContentsEqual( + test_dir_.Append(FilePath(kTestDir)).AppendASCII("b.saved2.htm"), + full_file_name)); EXPECT_TRUE(file_util::ContentsEqual( test_dir_.Append(FilePath(kTestDir)).AppendASCII("1.png"), dir.AppendASCII("1.png"))); |