| OLD | NEW |
| 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "base/file_util.h" | 5 #include "base/file_util.h" |
| 6 #include "base/path_service.h" | 6 #include "base/path_service.h" |
| 7 #include "base/platform_thread.h" | 7 #include "base/platform_thread.h" |
| 8 #include "base/string_util.h" | 8 #include "base/string_util.h" |
| 9 #include "chrome/app/chrome_dll_resource.h" | 9 #include "chrome/app/chrome_dll_resource.h" |
| 10 #include "chrome/browser/automation/url_request_mock_http_job.h" | 10 #include "chrome/browser/automation/url_request_mock_http_job.h" |
| (...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 91 | 91 |
| 92 // Flaky on Linux: http://code.google.com/p/chromium/issues/detail?id=14746 | 92 // Flaky on Linux: http://code.google.com/p/chromium/issues/detail?id=14746 |
| 93 TEST_F(SavePageTest, MAYBE_SaveHTMLOnly) { | 93 TEST_F(SavePageTest, MAYBE_SaveHTMLOnly) { |
| 94 std::string file_name("a.htm"); | 94 std::string file_name("a.htm"); |
| 95 FilePath full_file_name = save_dir_.AppendASCII(file_name); | 95 FilePath full_file_name = save_dir_.AppendASCII(file_name); |
| 96 FilePath dir = save_dir_.AppendASCII("a_files"); | 96 FilePath dir = save_dir_.AppendASCII("a_files"); |
| 97 | 97 |
| 98 GURL url = URLRequestMockHTTPJob::GetMockUrl( | 98 GURL url = URLRequestMockHTTPJob::GetMockUrl( |
| 99 UTF8ToWide(std::string(kTestDir) + "/" + file_name)); | 99 UTF8ToWide(std::string(kTestDir) + "/" + file_name)); |
| 100 scoped_refptr<TabProxy> tab(GetActiveTab()); | 100 scoped_refptr<TabProxy> tab(GetActiveTab()); |
| 101 ASSERT_TRUE(tab.get()); |
| 101 ASSERT_TRUE(tab->NavigateToURL(url)); | 102 ASSERT_TRUE(tab->NavigateToURL(url)); |
| 102 WaitUntilTabCount(1); | 103 WaitUntilTabCount(1); |
| 103 | 104 |
| 104 EXPECT_TRUE(tab->SavePage(full_file_name.ToWStringHack(), dir.ToWStringHack(), | 105 EXPECT_TRUE(tab->SavePage(full_file_name.ToWStringHack(), dir.ToWStringHack(), |
| 105 SavePackage::SAVE_AS_ONLY_HTML)); | 106 SavePackage::SAVE_AS_ONLY_HTML)); |
| 106 scoped_refptr<BrowserProxy> browser(automation()->GetBrowserWindow(0)); | 107 scoped_refptr<BrowserProxy> browser(automation()->GetBrowserWindow(0)); |
| 107 EXPECT_TRUE(WaitForDownloadShelfVisible(browser.get())); | 108 EXPECT_TRUE(WaitForDownloadShelfVisible(browser.get())); |
| 108 | 109 |
| 109 CheckFile(full_file_name, FilePath::FromWStringHack(UTF8ToWide(file_name)), | 110 CheckFile(full_file_name, FilePath::FromWStringHack(UTF8ToWide(file_name)), |
| 110 true); | 111 true); |
| 111 EXPECT_FALSE(file_util::PathExists(dir)); | 112 EXPECT_FALSE(file_util::PathExists(dir)); |
| 112 } | 113 } |
| 113 | 114 |
| 114 // Flaky on Linux: http://code.google.com/p/chromium/issues/detail?id=14746 | 115 // Flaky on Linux: http://code.google.com/p/chromium/issues/detail?id=14746 |
| 115 TEST_F(SavePageTest, MAYBE_SaveCompleteHTML) { | 116 TEST_F(SavePageTest, MAYBE_SaveCompleteHTML) { |
| 116 std::string file_name = "b.htm"; | 117 std::string file_name = "b.htm"; |
| 117 FilePath full_file_name = save_dir_.AppendASCII(file_name); | 118 FilePath full_file_name = save_dir_.AppendASCII(file_name); |
| 118 FilePath dir = save_dir_.AppendASCII("b_files"); | 119 FilePath dir = save_dir_.AppendASCII("b_files"); |
| 119 | 120 |
| 120 GURL url = URLRequestMockHTTPJob::GetMockUrl( | 121 GURL url = URLRequestMockHTTPJob::GetMockUrl( |
| 121 UTF8ToWide(std::string(kTestDir) + "/" + file_name)); | 122 UTF8ToWide(std::string(kTestDir) + "/" + file_name)); |
| 122 scoped_refptr<TabProxy> tab(GetActiveTab()); | 123 scoped_refptr<TabProxy> tab(GetActiveTab()); |
| 124 ASSERT_TRUE(tab.get()); |
| 123 ASSERT_TRUE(tab->NavigateToURL(url)); | 125 ASSERT_TRUE(tab->NavigateToURL(url)); |
| 124 WaitUntilTabCount(1); | 126 WaitUntilTabCount(1); |
| 125 | 127 |
| 126 EXPECT_TRUE(tab->SavePage(full_file_name.ToWStringHack(), dir.ToWStringHack(), | 128 EXPECT_TRUE(tab->SavePage(full_file_name.ToWStringHack(), dir.ToWStringHack(), |
| 127 SavePackage::SAVE_AS_COMPLETE_HTML)); | 129 SavePackage::SAVE_AS_COMPLETE_HTML)); |
| 128 scoped_refptr<BrowserProxy> browser(automation()->GetBrowserWindow(0)); | 130 scoped_refptr<BrowserProxy> browser(automation()->GetBrowserWindow(0)); |
| 129 EXPECT_TRUE(WaitForDownloadShelfVisible(browser.get())); | 131 EXPECT_TRUE(WaitForDownloadShelfVisible(browser.get())); |
| 130 | 132 |
| 131 CheckFile(dir.AppendASCII("1.png"), FilePath(FILE_PATH_LITERAL("1.png")), | 133 CheckFile(dir.AppendASCII("1.png"), FilePath(FILE_PATH_LITERAL("1.png")), |
| 132 true); | 134 true); |
| 133 CheckFile(dir.AppendASCII("1.css"), FilePath(FILE_PATH_LITERAL("1.css")), | 135 CheckFile(dir.AppendASCII("1.css"), FilePath(FILE_PATH_LITERAL("1.css")), |
| 134 true); | 136 true); |
| 135 CheckFile(full_file_name, FilePath::FromWStringHack(UTF8ToWide(file_name)), | 137 CheckFile(full_file_name, FilePath::FromWStringHack(UTF8ToWide(file_name)), |
| 136 false); | 138 false); |
| 137 EXPECT_TRUE(DieFileDie(dir, true)); | 139 EXPECT_TRUE(DieFileDie(dir, true)); |
| 138 } | 140 } |
| 139 | 141 |
| 140 TEST_F(SavePageTest, NoSave) { | 142 TEST_F(SavePageTest, NoSave) { |
| 141 std::string file_name = "c.htm"; | 143 std::string file_name = "c.htm"; |
| 142 FilePath full_file_name = save_dir_.AppendASCII(file_name); | 144 FilePath full_file_name = save_dir_.AppendASCII(file_name); |
| 143 FilePath dir = save_dir_.AppendASCII("c_files"); | 145 FilePath dir = save_dir_.AppendASCII("c_files"); |
| 144 | 146 |
| 145 scoped_refptr<TabProxy> tab(GetActiveTab()); | 147 scoped_refptr<TabProxy> tab(GetActiveTab()); |
| 148 ASSERT_TRUE(tab.get()); |
| 146 ASSERT_TRUE(tab->NavigateToURL(GURL("about:blank"))); | 149 ASSERT_TRUE(tab->NavigateToURL(GURL("about:blank"))); |
| 147 WaitUntilTabCount(1); | 150 WaitUntilTabCount(1); |
| 148 | 151 |
| 149 EXPECT_FALSE(tab->SavePage(full_file_name.ToWStringHack(), | 152 EXPECT_FALSE(tab->SavePage(full_file_name.ToWStringHack(), |
| 150 dir.ToWStringHack(), | 153 dir.ToWStringHack(), |
| 151 SavePackage::SAVE_AS_ONLY_HTML)); | 154 SavePackage::SAVE_AS_ONLY_HTML)); |
| 152 scoped_refptr<BrowserProxy> browser(automation()->GetBrowserWindow(0)); | 155 scoped_refptr<BrowserProxy> browser(automation()->GetBrowserWindow(0)); |
| 153 EXPECT_FALSE(WaitForDownloadShelfVisible(browser.get())); | 156 EXPECT_FALSE(WaitForDownloadShelfVisible(browser.get())); |
| 154 } | 157 } |
| 155 | 158 |
| 156 TEST_F(SavePageTest, MAYBE_FilenameFromPageTitle) { | 159 TEST_F(SavePageTest, MAYBE_FilenameFromPageTitle) { |
| 157 std::string file_name = "b.htm"; | 160 std::string file_name = "b.htm"; |
| 158 | 161 |
| 159 FilePath full_file_name = download_dir_.AppendASCII( | 162 FilePath full_file_name = download_dir_.AppendASCII( |
| 160 std::string("Test page for saving page feature") + kAppendedExtension); | 163 std::string("Test page for saving page feature") + kAppendedExtension); |
| 161 FilePath dir = download_dir_.AppendASCII( | 164 FilePath dir = download_dir_.AppendASCII( |
| 162 "Test page for saving page feature_files"); | 165 "Test page for saving page feature_files"); |
| 163 | 166 |
| 164 GURL url = URLRequestMockHTTPJob::GetMockUrl( | 167 GURL url = URLRequestMockHTTPJob::GetMockUrl( |
| 165 UTF8ToWide(std::string(kTestDir) + "/" + file_name)); | 168 UTF8ToWide(std::string(kTestDir) + "/" + file_name)); |
| 166 scoped_refptr<TabProxy> tab(GetActiveTab()); | 169 scoped_refptr<TabProxy> tab(GetActiveTab()); |
| 170 ASSERT_TRUE(tab.get()); |
| 167 ASSERT_TRUE(tab->NavigateToURL(url)); | 171 ASSERT_TRUE(tab->NavigateToURL(url)); |
| 168 WaitUntilTabCount(1); | 172 WaitUntilTabCount(1); |
| 169 | 173 |
| 170 scoped_refptr<BrowserProxy> browser(automation()->GetBrowserWindow(0)); | 174 scoped_refptr<BrowserProxy> browser(automation()->GetBrowserWindow(0)); |
| 171 automation()->SavePackageShouldPromptUser(false); | 175 automation()->SavePackageShouldPromptUser(false); |
| 172 EXPECT_TRUE(browser->RunCommandAsync(IDC_SAVE_PAGE)); | 176 EXPECT_TRUE(browser->RunCommandAsync(IDC_SAVE_PAGE)); |
| 173 EXPECT_TRUE(WaitForDownloadShelfVisible(browser.get())); | 177 EXPECT_TRUE(WaitForDownloadShelfVisible(browser.get())); |
| 174 automation()->SavePackageShouldPromptUser(true); | 178 automation()->SavePackageShouldPromptUser(true); |
| 175 | 179 |
| 176 CheckFile(dir.AppendASCII("1.png"), FilePath(FILE_PATH_LITERAL("1.png")), | 180 CheckFile(dir.AppendASCII("1.png"), FilePath(FILE_PATH_LITERAL("1.png")), |
| (...skipping 12 matching lines...) Expand all Loading... |
| 189 #if defined(OS_WIN) | 193 #if defined(OS_WIN) |
| 190 TEST_F(SavePageTest, CleanFilenameFromPageTitle) { | 194 TEST_F(SavePageTest, CleanFilenameFromPageTitle) { |
| 191 std::string file_name = "c.htm"; | 195 std::string file_name = "c.htm"; |
| 192 FilePath full_file_name = | 196 FilePath full_file_name = |
| 193 download_dir_.AppendASCII(std::string("test.exe") + kAppendedExtension); | 197 download_dir_.AppendASCII(std::string("test.exe") + kAppendedExtension); |
| 194 FilePath dir = download_dir_.AppendASCII("test.exe_files"); | 198 FilePath dir = download_dir_.AppendASCII("test.exe_files"); |
| 195 | 199 |
| 196 GURL url = URLRequestMockHTTPJob::GetMockUrl( | 200 GURL url = URLRequestMockHTTPJob::GetMockUrl( |
| 197 UTF8ToWide(std::string(kTestDir) + "/" + file_name)); | 201 UTF8ToWide(std::string(kTestDir) + "/" + file_name)); |
| 198 scoped_refptr<TabProxy> tab(GetActiveTab()); | 202 scoped_refptr<TabProxy> tab(GetActiveTab()); |
| 203 ASSERT_TRUE(tab.get()); |
| 199 ASSERT_TRUE(tab->NavigateToURL(url)); | 204 ASSERT_TRUE(tab->NavigateToURL(url)); |
| 200 WaitUntilTabCount(1); | 205 WaitUntilTabCount(1); |
| 201 | 206 |
| 202 scoped_refptr<BrowserProxy> browser(automation()->GetBrowserWindow(0)); | 207 scoped_refptr<BrowserProxy> browser(automation()->GetBrowserWindow(0)); |
| 203 automation()->SavePackageShouldPromptUser(false); | 208 automation()->SavePackageShouldPromptUser(false); |
| 204 EXPECT_TRUE(browser->RunCommandAsync(IDC_SAVE_PAGE)); | 209 EXPECT_TRUE(browser->RunCommandAsync(IDC_SAVE_PAGE)); |
| 205 EXPECT_TRUE(WaitForDownloadShelfVisible(browser.get())); | 210 EXPECT_TRUE(WaitForDownloadShelfVisible(browser.get())); |
| 206 automation()->SavePackageShouldPromptUser(true); | 211 automation()->SavePackageShouldPromptUser(true); |
| 207 | 212 |
| 208 CheckFile(full_file_name, FilePath::FromWStringHack(UTF8ToWide(file_name)), | 213 CheckFile(full_file_name, FilePath::FromWStringHack(UTF8ToWide(file_name)), |
| 209 false); | 214 false); |
| 210 EXPECT_TRUE(DieFileDie(full_file_name, false)); | 215 EXPECT_TRUE(DieFileDie(full_file_name, false)); |
| 211 EXPECT_TRUE(DieFileDie(dir, true)); | 216 EXPECT_TRUE(DieFileDie(dir, true)); |
| 212 } | 217 } |
| 213 #endif | 218 #endif |
| OLD | NEW |