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 |