| 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 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 78 FilePath dir = save_dir_.AppendASCII("a_files"); | 78 FilePath dir = save_dir_.AppendASCII("a_files"); |
| 79 | 79 |
| 80 GURL url = URLRequestMockHTTPJob::GetMockUrl( | 80 GURL url = URLRequestMockHTTPJob::GetMockUrl( |
| 81 UTF8ToWide(kTestDir + "/" + file_name)); | 81 UTF8ToWide(kTestDir + "/" + file_name)); |
| 82 scoped_refptr<TabProxy> tab(GetActiveTab()); | 82 scoped_refptr<TabProxy> tab(GetActiveTab()); |
| 83 ASSERT_TRUE(tab->NavigateToURL(url)); | 83 ASSERT_TRUE(tab->NavigateToURL(url)); |
| 84 WaitUntilTabCount(1); | 84 WaitUntilTabCount(1); |
| 85 | 85 |
| 86 EXPECT_TRUE(tab->SavePage(full_file_name.ToWStringHack(), dir.ToWStringHack(), | 86 EXPECT_TRUE(tab->SavePage(full_file_name.ToWStringHack(), dir.ToWStringHack(), |
| 87 SavePackage::SAVE_AS_ONLY_HTML)); | 87 SavePackage::SAVE_AS_ONLY_HTML)); |
| 88 EXPECT_TRUE(WaitForDownloadShelfVisible(tab.get())); | 88 scoped_refptr<BrowserProxy> browser(automation()->GetBrowserWindow(0)); |
| 89 EXPECT_TRUE(WaitForDownloadShelfVisible(browser.get())); |
| 89 | 90 |
| 90 CheckFile(full_file_name, FilePath::FromWStringHack(UTF8ToWide(file_name)), | 91 CheckFile(full_file_name, FilePath::FromWStringHack(UTF8ToWide(file_name)), |
| 91 true); | 92 true); |
| 92 EXPECT_FALSE(file_util::PathExists(dir)); | 93 EXPECT_FALSE(file_util::PathExists(dir)); |
| 93 } | 94 } |
| 94 | 95 |
| 95 TEST_F(SavePageTest, SaveCompleteHTML) { | 96 TEST_F(SavePageTest, SaveCompleteHTML) { |
| 96 std::string file_name = "b.htm"; | 97 std::string file_name = "b.htm"; |
| 97 FilePath full_file_name = save_dir_.AppendASCII(file_name); | 98 FilePath full_file_name = save_dir_.AppendASCII(file_name); |
| 98 FilePath dir = save_dir_.AppendASCII("b_files"); | 99 FilePath dir = save_dir_.AppendASCII("b_files"); |
| 99 | 100 |
| 100 GURL url = URLRequestMockHTTPJob::GetMockUrl(UTF8ToWide(kTestDir + "/" + | 101 GURL url = URLRequestMockHTTPJob::GetMockUrl(UTF8ToWide(kTestDir + "/" + |
| 101 file_name)); | 102 file_name)); |
| 102 scoped_refptr<TabProxy> tab(GetActiveTab()); | 103 scoped_refptr<TabProxy> tab(GetActiveTab()); |
| 103 ASSERT_TRUE(tab->NavigateToURL(url)); | 104 ASSERT_TRUE(tab->NavigateToURL(url)); |
| 104 WaitUntilTabCount(1); | 105 WaitUntilTabCount(1); |
| 105 | 106 |
| 106 EXPECT_TRUE(tab->SavePage(full_file_name.ToWStringHack(), dir.ToWStringHack(), | 107 EXPECT_TRUE(tab->SavePage(full_file_name.ToWStringHack(), dir.ToWStringHack(), |
| 107 SavePackage::SAVE_AS_COMPLETE_HTML)); | 108 SavePackage::SAVE_AS_COMPLETE_HTML)); |
| 108 EXPECT_TRUE(WaitForDownloadShelfVisible(tab.get())); | 109 scoped_refptr<BrowserProxy> browser(automation()->GetBrowserWindow(0)); |
| 110 EXPECT_TRUE(WaitForDownloadShelfVisible(browser.get())); |
| 109 | 111 |
| 110 CheckFile(dir.AppendASCII("1.png"), FilePath(FILE_PATH_LITERAL("1.png")), | 112 CheckFile(dir.AppendASCII("1.png"), FilePath(FILE_PATH_LITERAL("1.png")), |
| 111 true); | 113 true); |
| 112 CheckFile(dir.AppendASCII("1.css"), FilePath(FILE_PATH_LITERAL("1.css")), | 114 CheckFile(dir.AppendASCII("1.css"), FilePath(FILE_PATH_LITERAL("1.css")), |
| 113 true); | 115 true); |
| 114 CheckFile(full_file_name, FilePath::FromWStringHack(UTF8ToWide(file_name)), | 116 CheckFile(full_file_name, FilePath::FromWStringHack(UTF8ToWide(file_name)), |
| 115 false); | 117 false); |
| 116 EXPECT_TRUE(DieFileDie(dir, true)); | 118 EXPECT_TRUE(DieFileDie(dir, true)); |
| 117 } | 119 } |
| 118 | 120 |
| 119 TEST_F(SavePageTest, NoSave) { | 121 TEST_F(SavePageTest, NoSave) { |
| 120 std::string file_name = "c.htm"; | 122 std::string file_name = "c.htm"; |
| 121 FilePath full_file_name = save_dir_.AppendASCII(file_name); | 123 FilePath full_file_name = save_dir_.AppendASCII(file_name); |
| 122 FilePath dir = save_dir_.AppendASCII("c_files"); | 124 FilePath dir = save_dir_.AppendASCII("c_files"); |
| 123 | 125 |
| 124 scoped_refptr<TabProxy> tab(GetActiveTab()); | 126 scoped_refptr<TabProxy> tab(GetActiveTab()); |
| 125 ASSERT_TRUE(tab->NavigateToURL(GURL("about:blank"))); | 127 ASSERT_TRUE(tab->NavigateToURL(GURL("about:blank"))); |
| 126 WaitUntilTabCount(1); | 128 WaitUntilTabCount(1); |
| 127 | 129 |
| 128 EXPECT_FALSE(tab->SavePage(full_file_name.ToWStringHack(), | 130 EXPECT_FALSE(tab->SavePage(full_file_name.ToWStringHack(), |
| 129 dir.ToWStringHack(), | 131 dir.ToWStringHack(), |
| 130 SavePackage::SAVE_AS_ONLY_HTML)); | 132 SavePackage::SAVE_AS_ONLY_HTML)); |
| 131 EXPECT_FALSE(WaitForDownloadShelfVisible(tab.get())); | 133 scoped_refptr<BrowserProxy> browser(automation()->GetBrowserWindow(0)); |
| 134 EXPECT_FALSE(WaitForDownloadShelfVisible(browser.get())); |
| 132 } | 135 } |
| 133 | 136 |
| 134 TEST_F(SavePageTest, FilenameFromPageTitle) { | 137 TEST_F(SavePageTest, FilenameFromPageTitle) { |
| 135 std::string file_name = "b.htm"; | 138 std::string file_name = "b.htm"; |
| 136 | 139 |
| 137 FilePath full_file_name = download_dir_.AppendASCII( | 140 FilePath full_file_name = download_dir_.AppendASCII( |
| 138 "Test page for saving page feature" + kAppendedExtension); | 141 "Test page for saving page feature" + kAppendedExtension); |
| 139 FilePath dir = download_dir_.AppendASCII( | 142 FilePath dir = download_dir_.AppendASCII( |
| 140 "Test page for saving page feature_files"); | 143 "Test page for saving page feature_files"); |
| 141 | 144 |
| 142 GURL url = URLRequestMockHTTPJob::GetMockUrl(UTF8ToWide(kTestDir + "/" + | 145 GURL url = URLRequestMockHTTPJob::GetMockUrl(UTF8ToWide(kTestDir + "/" + |
| 143 file_name)); | 146 file_name)); |
| 144 scoped_refptr<TabProxy> tab(GetActiveTab()); | 147 scoped_refptr<TabProxy> tab(GetActiveTab()); |
| 145 ASSERT_TRUE(tab->NavigateToURL(url)); | 148 ASSERT_TRUE(tab->NavigateToURL(url)); |
| 146 WaitUntilTabCount(1); | 149 WaitUntilTabCount(1); |
| 147 | 150 |
| 148 scoped_refptr<BrowserProxy> browser(automation()->GetBrowserWindow(0)); | 151 scoped_refptr<BrowserProxy> browser(automation()->GetBrowserWindow(0)); |
| 149 automation()->SavePackageShouldPromptUser(false); | 152 automation()->SavePackageShouldPromptUser(false); |
| 150 EXPECT_TRUE(browser->RunCommandAsync(IDC_SAVE_PAGE)); | 153 EXPECT_TRUE(browser->RunCommandAsync(IDC_SAVE_PAGE)); |
| 151 EXPECT_TRUE(WaitForDownloadShelfVisible(tab.get())); | 154 EXPECT_TRUE(WaitForDownloadShelfVisible(browser.get())); |
| 152 automation()->SavePackageShouldPromptUser(true); | 155 automation()->SavePackageShouldPromptUser(true); |
| 153 | 156 |
| 154 CheckFile(dir.AppendASCII("1.png"), FilePath(FILE_PATH_LITERAL("1.png")), | 157 CheckFile(dir.AppendASCII("1.png"), FilePath(FILE_PATH_LITERAL("1.png")), |
| 155 true); | 158 true); |
| 156 CheckFile(dir.AppendASCII("1.css"), FilePath(FILE_PATH_LITERAL("1.css")), | 159 CheckFile(dir.AppendASCII("1.css"), FilePath(FILE_PATH_LITERAL("1.css")), |
| 157 true); | 160 true); |
| 158 CheckFile(full_file_name, FilePath::FromWStringHack(UTF8ToWide(file_name)), | 161 CheckFile(full_file_name, FilePath::FromWStringHack(UTF8ToWide(file_name)), |
| 159 false); | 162 false); |
| 160 EXPECT_TRUE(DieFileDie(full_file_name, false)); | 163 EXPECT_TRUE(DieFileDie(full_file_name, false)); |
| 161 EXPECT_TRUE(DieFileDie(dir, true)); | 164 EXPECT_TRUE(DieFileDie(dir, true)); |
| (...skipping 11 matching lines...) Expand all Loading... |
| 173 | 176 |
| 174 GURL url = URLRequestMockHTTPJob::GetMockUrl(UTF8ToWide(kTestDir + "/" + | 177 GURL url = URLRequestMockHTTPJob::GetMockUrl(UTF8ToWide(kTestDir + "/" + |
| 175 file_name)); | 178 file_name)); |
| 176 scoped_refptr<TabProxy> tab(GetActiveTab()); | 179 scoped_refptr<TabProxy> tab(GetActiveTab()); |
| 177 ASSERT_TRUE(tab->NavigateToURL(url)); | 180 ASSERT_TRUE(tab->NavigateToURL(url)); |
| 178 WaitUntilTabCount(1); | 181 WaitUntilTabCount(1); |
| 179 | 182 |
| 180 scoped_refptr<BrowserProxy> browser(automation()->GetBrowserWindow(0)); | 183 scoped_refptr<BrowserProxy> browser(automation()->GetBrowserWindow(0)); |
| 181 automation()->SavePackageShouldPromptUser(false); | 184 automation()->SavePackageShouldPromptUser(false); |
| 182 EXPECT_TRUE(browser->RunCommandAsync(IDC_SAVE_PAGE)); | 185 EXPECT_TRUE(browser->RunCommandAsync(IDC_SAVE_PAGE)); |
| 183 EXPECT_TRUE(WaitForDownloadShelfVisible(tab.get())); | 186 EXPECT_TRUE(WaitForDownloadShelfVisible(browser.get())); |
| 184 automation()->SavePackageShouldPromptUser(true); | 187 automation()->SavePackageShouldPromptUser(true); |
| 185 | 188 |
| 186 CheckFile(full_file_name, FilePath::FromWStringHack(UTF8ToWide(file_name)), | 189 CheckFile(full_file_name, FilePath::FromWStringHack(UTF8ToWide(file_name)), |
| 187 false); | 190 false); |
| 188 EXPECT_TRUE(DieFileDie(full_file_name, false)); | 191 EXPECT_TRUE(DieFileDie(full_file_name, false)); |
| 189 EXPECT_TRUE(DieFileDie(dir, true)); | 192 EXPECT_TRUE(DieFileDie(dir, true)); |
| 190 } | 193 } |
| 191 #endif | 194 #endif |
| OLD | NEW |