Index: chrome/browser/download/save_page_browsertest.cc |
diff --git a/chrome/browser/download/save_page_browsertest.cc b/chrome/browser/download/save_page_browsertest.cc |
index 88859b3ee1d40d7322d09397d98f26a8191024cb..76c098f5b44bf06303b5d434ff0cd75a5f77c2b3 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::ContentsEqual( |
+ 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::ContentsEqual( |
+ 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"))); |