summaryrefslogtreecommitdiffstats
path: root/chrome/browser/download/save_page_browsertest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/download/save_page_browsertest.cc')
-rw-r--r--chrome/browser/download/save_page_browsertest.cc63
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")));