OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/bind.h" | 5 #include "base/bind.h" |
6 #include "base/bind_helpers.h" | 6 #include "base/bind_helpers.h" |
7 #include "base/file_path.h" | 7 #include "base/file_path.h" |
8 #include "base/file_util.h" | 8 #include "base/file_util.h" |
9 #include "base/path_service.h" | 9 #include "base/path_service.h" |
10 #include "base/scoped_temp_dir.h" | 10 #include "base/scoped_temp_dir.h" |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
90 | 90 |
91 GURL WaitForSavePackageToFinish() const { | 91 GURL WaitForSavePackageToFinish() const { |
92 ui_test_utils::TestNotificationObserver observer; | 92 ui_test_utils::TestNotificationObserver observer; |
93 ui_test_utils::RegisterAndWait(&observer, | 93 ui_test_utils::RegisterAndWait(&observer, |
94 content::NOTIFICATION_SAVE_PACKAGE_SUCCESSFULLY_FINISHED, | 94 content::NOTIFICATION_SAVE_PACKAGE_SUCCESSFULLY_FINISHED, |
95 content::NotificationService::AllSources()); | 95 content::NotificationService::AllSources()); |
96 return content::Details<DownloadItem>(observer.details()).ptr()-> | 96 return content::Details<DownloadItem>(observer.details()).ptr()-> |
97 GetOriginalUrl(); | 97 GetOriginalUrl(); |
98 } | 98 } |
99 | 99 |
100 void CheckDownloadUI(const FilePath& download_path) const { | |
101 EXPECT_TRUE(browser()->window()->IsDownloadShelfVisible()); | |
102 } | |
103 | |
104 DownloadManager* GetDownloadManager() const { | 100 DownloadManager* GetDownloadManager() const { |
105 DownloadManager* download_manager = | 101 DownloadManager* download_manager = |
106 DownloadServiceFactory::GetForProfile( | 102 DownloadServiceFactory::GetForProfile( |
107 browser()->profile())->GetDownloadManager(); | 103 browser()->profile())->GetDownloadManager(); |
108 EXPECT_TRUE(download_manager); | 104 EXPECT_TRUE(download_manager); |
109 return download_manager; | 105 return download_manager; |
110 } | 106 } |
111 | 107 |
112 void QueryDownloadHistory() { | 108 void QueryDownloadHistory() { |
113 // Query the history system. | 109 // Query the history system. |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
178 IN_PROC_BROWSER_TEST_F(SavePageBrowserTest, SaveHTMLOnly) { | 174 IN_PROC_BROWSER_TEST_F(SavePageBrowserTest, SaveHTMLOnly) { |
179 GURL url = NavigateToMockURL("a"); | 175 GURL url = NavigateToMockURL("a"); |
180 | 176 |
181 FilePath full_file_name, dir; | 177 FilePath full_file_name, dir; |
182 GetDestinationPaths("a", &full_file_name, &dir); | 178 GetDestinationPaths("a", &full_file_name, &dir); |
183 ASSERT_TRUE(GetCurrentTab()->SavePage(full_file_name, dir, | 179 ASSERT_TRUE(GetCurrentTab()->SavePage(full_file_name, dir, |
184 content::SAVE_PAGE_TYPE_AS_ONLY_HTML)); | 180 content::SAVE_PAGE_TYPE_AS_ONLY_HTML)); |
185 | 181 |
186 EXPECT_EQ(url, WaitForSavePackageToFinish()); | 182 EXPECT_EQ(url, WaitForSavePackageToFinish()); |
187 | 183 |
188 CheckDownloadUI(full_file_name); | 184 EXPECT_TRUE(browser()->window()->IsDownloadShelfVisible()); |
189 CheckDownloadHistory(url, full_file_name, 1); // a.htm is 1 file. | 185 CheckDownloadHistory(url, full_file_name, 1); // a.htm is 1 file. |
190 | 186 |
191 EXPECT_TRUE(file_util::PathExists(full_file_name)); | 187 EXPECT_TRUE(file_util::PathExists(full_file_name)); |
192 EXPECT_FALSE(file_util::PathExists(dir)); | 188 EXPECT_FALSE(file_util::PathExists(dir)); |
193 EXPECT_TRUE(file_util::ContentsEqual( | 189 EXPECT_TRUE(file_util::ContentsEqual( |
194 test_dir_.Append(FilePath(kTestDir)).Append(FILE_PATH_LITERAL("a.htm")), | 190 test_dir_.Append(FilePath(kTestDir)).Append(FILE_PATH_LITERAL("a.htm")), |
195 full_file_name)); | 191 full_file_name)); |
196 } | 192 } |
197 | 193 |
198 IN_PROC_BROWSER_TEST_F(SavePageBrowserTest, SaveViewSourceHTMLOnly) { | 194 IN_PROC_BROWSER_TEST_F(SavePageBrowserTest, SaveViewSourceHTMLOnly) { |
199 FilePath file_name(FILE_PATH_LITERAL("a.htm")); | 195 FilePath file_name(FILE_PATH_LITERAL("a.htm")); |
200 GURL view_source_url = URLRequestMockHTTPJob::GetMockViewSourceUrl( | 196 GURL view_source_url = URLRequestMockHTTPJob::GetMockViewSourceUrl( |
201 FilePath(kTestDir).Append(file_name)); | 197 FilePath(kTestDir).Append(file_name)); |
202 GURL actual_page_url = URLRequestMockHTTPJob::GetMockUrl( | 198 GURL actual_page_url = URLRequestMockHTTPJob::GetMockUrl( |
203 FilePath(kTestDir).Append(file_name)); | 199 FilePath(kTestDir).Append(file_name)); |
204 ui_test_utils::NavigateToURL(browser(), view_source_url); | 200 ui_test_utils::NavigateToURL(browser(), view_source_url); |
205 | 201 |
206 FilePath full_file_name, dir; | 202 FilePath full_file_name, dir; |
207 GetDestinationPaths("a", &full_file_name, &dir); | 203 GetDestinationPaths("a", &full_file_name, &dir); |
208 ASSERT_TRUE(GetCurrentTab()->SavePage(full_file_name, dir, | 204 ASSERT_TRUE(GetCurrentTab()->SavePage(full_file_name, dir, |
209 content::SAVE_PAGE_TYPE_AS_ONLY_HTML)); | 205 content::SAVE_PAGE_TYPE_AS_ONLY_HTML)); |
210 | 206 |
211 EXPECT_EQ(actual_page_url, WaitForSavePackageToFinish()); | 207 EXPECT_EQ(actual_page_url, WaitForSavePackageToFinish()); |
212 | 208 |
213 CheckDownloadUI(full_file_name); | 209 EXPECT_TRUE(browser()->window()->IsDownloadShelfVisible()); |
214 CheckDownloadHistory(actual_page_url, full_file_name, 1); // a.htm is 1 file. | 210 CheckDownloadHistory(actual_page_url, full_file_name, 1); // a.htm is 1 file. |
215 | 211 |
216 EXPECT_TRUE(file_util::PathExists(full_file_name)); | 212 EXPECT_TRUE(file_util::PathExists(full_file_name)); |
217 EXPECT_FALSE(file_util::PathExists(dir)); | 213 EXPECT_FALSE(file_util::PathExists(dir)); |
218 EXPECT_TRUE(file_util::ContentsEqual( | 214 EXPECT_TRUE(file_util::ContentsEqual( |
219 test_dir_.Append(FilePath(kTestDir)).Append(file_name), | 215 test_dir_.Append(FilePath(kTestDir)).Append(file_name), |
220 full_file_name)); | 216 full_file_name)); |
221 } | 217 } |
222 | 218 |
223 IN_PROC_BROWSER_TEST_F(SavePageBrowserTest, SaveCompleteHTML) { | 219 IN_PROC_BROWSER_TEST_F(SavePageBrowserTest, SaveCompleteHTML) { |
224 GURL url = NavigateToMockURL("b"); | 220 GURL url = NavigateToMockURL("b"); |
225 | 221 |
226 FilePath full_file_name, dir; | 222 FilePath full_file_name, dir; |
227 GetDestinationPaths("b", &full_file_name, &dir); | 223 GetDestinationPaths("b", &full_file_name, &dir); |
228 ASSERT_TRUE(GetCurrentTab()->SavePage( | 224 ASSERT_TRUE(GetCurrentTab()->SavePage( |
229 full_file_name, dir, content::SAVE_PAGE_TYPE_AS_COMPLETE_HTML)); | 225 full_file_name, dir, content::SAVE_PAGE_TYPE_AS_COMPLETE_HTML)); |
230 | 226 |
231 EXPECT_EQ(url, WaitForSavePackageToFinish()); | 227 EXPECT_EQ(url, WaitForSavePackageToFinish()); |
232 | 228 |
233 CheckDownloadUI(full_file_name); | 229 EXPECT_TRUE(browser()->window()->IsDownloadShelfVisible()); |
234 CheckDownloadHistory(url, full_file_name, 3); // b.htm is 3 files. | 230 CheckDownloadHistory(url, full_file_name, 3); // b.htm is 3 files. |
235 | 231 |
236 EXPECT_TRUE(file_util::PathExists(full_file_name)); | 232 EXPECT_TRUE(file_util::PathExists(full_file_name)); |
237 EXPECT_TRUE(file_util::PathExists(dir)); | 233 EXPECT_TRUE(file_util::PathExists(dir)); |
238 EXPECT_TRUE(file_util::TextContentsEqual( | 234 EXPECT_TRUE(file_util::TextContentsEqual( |
239 test_dir_.Append(FilePath(kTestDir)).AppendASCII("b.saved1.htm"), | 235 test_dir_.Append(FilePath(kTestDir)).AppendASCII("b.saved1.htm"), |
240 full_file_name)); | 236 full_file_name)); |
241 EXPECT_TRUE(file_util::ContentsEqual( | 237 EXPECT_TRUE(file_util::ContentsEqual( |
242 test_dir_.Append(FilePath(kTestDir)).AppendASCII("1.png"), | 238 test_dir_.Append(FilePath(kTestDir)).AppendASCII("1.png"), |
243 dir.AppendASCII("1.png"))); | 239 dir.AppendASCII("1.png"))); |
(...skipping 13 matching lines...) Expand all Loading... |
257 | 253 |
258 FilePath full_file_name = save_dir_.path().AppendASCII( | 254 FilePath full_file_name = save_dir_.path().AppendASCII( |
259 std::string("Test page for saving page feature") + kAppendedExtension); | 255 std::string("Test page for saving page feature") + kAppendedExtension); |
260 FilePath dir = save_dir_.path().AppendASCII( | 256 FilePath dir = save_dir_.path().AppendASCII( |
261 "Test page for saving page feature_files"); | 257 "Test page for saving page feature_files"); |
262 ASSERT_TRUE(GetCurrentTab()->SavePage( | 258 ASSERT_TRUE(GetCurrentTab()->SavePage( |
263 full_file_name, dir, content::SAVE_PAGE_TYPE_AS_COMPLETE_HTML)); | 259 full_file_name, dir, content::SAVE_PAGE_TYPE_AS_COMPLETE_HTML)); |
264 | 260 |
265 EXPECT_EQ(url, WaitForSavePackageToFinish()); | 261 EXPECT_EQ(url, WaitForSavePackageToFinish()); |
266 | 262 |
267 CheckDownloadUI(full_file_name); | 263 EXPECT_TRUE(browser()->window()->IsDownloadShelfVisible()); |
268 CheckDownloadHistory(url, full_file_name, 3); // b.htm is 3 files. | 264 CheckDownloadHistory(url, full_file_name, 3); // b.htm is 3 files. |
269 | 265 |
270 EXPECT_TRUE(file_util::PathExists(full_file_name)); | 266 EXPECT_TRUE(file_util::PathExists(full_file_name)); |
271 EXPECT_TRUE(file_util::PathExists(dir)); | 267 EXPECT_TRUE(file_util::PathExists(dir)); |
272 EXPECT_TRUE(file_util::TextContentsEqual( | 268 EXPECT_TRUE(file_util::TextContentsEqual( |
273 test_dir_.Append(FilePath(kTestDir)).AppendASCII("b.saved2.htm"), | 269 test_dir_.Append(FilePath(kTestDir)).AppendASCII("b.saved2.htm"), |
274 full_file_name)); | 270 full_file_name)); |
275 EXPECT_TRUE(file_util::ContentsEqual( | 271 EXPECT_TRUE(file_util::ContentsEqual( |
276 test_dir_.Append(FilePath(kTestDir)).AppendASCII("1.png"), | 272 test_dir_.Append(FilePath(kTestDir)).AppendASCII("1.png"), |
277 dir.AppendASCII("1.png"))); | 273 dir.AppendASCII("1.png"))); |
278 EXPECT_TRUE(file_util::ContentsEqual( | 274 EXPECT_TRUE(file_util::ContentsEqual( |
279 test_dir_.Append(FilePath(kTestDir)).AppendASCII("1.css"), | 275 test_dir_.Append(FilePath(kTestDir)).AppendASCII("1.css"), |
280 dir.AppendASCII("1.css"))); | 276 dir.AppendASCII("1.css"))); |
281 } | 277 } |
282 | 278 |
283 IN_PROC_BROWSER_TEST_F(SavePageBrowserTest, RemoveFromList) { | 279 IN_PROC_BROWSER_TEST_F(SavePageBrowserTest, RemoveFromList) { |
284 GURL url = NavigateToMockURL("a"); | 280 GURL url = NavigateToMockURL("a"); |
285 | 281 |
286 FilePath full_file_name, dir; | 282 FilePath full_file_name, dir; |
287 GetDestinationPaths("a", &full_file_name, &dir); | 283 GetDestinationPaths("a", &full_file_name, &dir); |
288 ASSERT_TRUE(GetCurrentTab()->SavePage(full_file_name, dir, | 284 ASSERT_TRUE(GetCurrentTab()->SavePage(full_file_name, dir, |
289 content::SAVE_PAGE_TYPE_AS_ONLY_HTML)); | 285 content::SAVE_PAGE_TYPE_AS_ONLY_HTML)); |
290 | 286 |
291 EXPECT_EQ(url, WaitForSavePackageToFinish()); | 287 EXPECT_EQ(url, WaitForSavePackageToFinish()); |
292 | 288 |
293 CheckDownloadUI(full_file_name); | 289 EXPECT_TRUE(browser()->window()->IsDownloadShelfVisible()); |
294 CheckDownloadHistory(url, full_file_name, 1); // a.htm is 1 file. | 290 CheckDownloadHistory(url, full_file_name, 1); // a.htm is 1 file. |
295 | 291 |
296 EXPECT_EQ(GetDownloadManager()->RemoveAllDownloads(), 1); | 292 EXPECT_EQ(GetDownloadManager()->RemoveAllDownloads(), 1); |
297 | 293 |
298 // Should not be in history. | 294 // Should not be in history. |
299 QueryDownloadHistory(); | 295 QueryDownloadHistory(); |
300 EXPECT_EQ(std::find_if(history_entries_.begin(), history_entries_.end(), | 296 EXPECT_EQ(std::find_if(history_entries_.begin(), history_entries_.end(), |
301 DownloadPersistentStoreInfoMatch(url, full_file_name, 1)), | 297 DownloadPersistentStoreInfoMatch(url, full_file_name, 1)), |
302 history_entries_.end()); | 298 history_entries_.end()); |
303 | 299 |
(...skipping 28 matching lines...) Expand all Loading... |
332 content::NotificationService::AllSources()); | 328 content::NotificationService::AllSources()); |
333 browser()->SavePage(); | 329 browser()->SavePage(); |
334 observer.Wait(); | 330 observer.Wait(); |
335 | 331 |
336 EXPECT_TRUE(file_util::PathExists(full_file_name)); | 332 EXPECT_TRUE(file_util::PathExists(full_file_name)); |
337 | 333 |
338 EXPECT_TRUE(file_util::DieFileDie(full_file_name, false)); | 334 EXPECT_TRUE(file_util::DieFileDie(full_file_name, false)); |
339 EXPECT_TRUE(file_util::DieFileDie(dir, true)); | 335 EXPECT_TRUE(file_util::DieFileDie(dir, true)); |
340 } | 336 } |
341 #endif | 337 #endif |
OLD | NEW |