Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(496)

Side by Side Diff: chrome/browser/download/save_page_uitest.cc

Issue 113722: Make automation proxy objects to ref_counted. That allows to process async no... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 FilePath download_dir_; 72 FilePath download_dir_;
73 }; 73 };
74 74
75 TEST_F(SavePageTest, SaveHTMLOnly) { 75 TEST_F(SavePageTest, SaveHTMLOnly) {
76 std::string file_name("a.htm"); 76 std::string file_name("a.htm");
77 FilePath full_file_name = save_dir_.AppendASCII(file_name); 77 FilePath full_file_name = save_dir_.AppendASCII(file_name);
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_ptr<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 EXPECT_TRUE(WaitForDownloadShelfVisible(tab.get()));
89 89
90 CheckFile(full_file_name, FilePath::FromWStringHack(UTF8ToWide(file_name)), 90 CheckFile(full_file_name, FilePath::FromWStringHack(UTF8ToWide(file_name)),
91 true); 91 true);
92 EXPECT_FALSE(file_util::PathExists(dir)); 92 EXPECT_FALSE(file_util::PathExists(dir));
93 } 93 }
94 94
95 TEST_F(SavePageTest, SaveCompleteHTML) { 95 TEST_F(SavePageTest, SaveCompleteHTML) {
96 std::string file_name = "b.htm"; 96 std::string file_name = "b.htm";
97 FilePath full_file_name = save_dir_.AppendASCII(file_name); 97 FilePath full_file_name = save_dir_.AppendASCII(file_name);
98 FilePath dir = save_dir_.AppendASCII("b_files"); 98 FilePath dir = save_dir_.AppendASCII("b_files");
99 99
100 GURL url = URLRequestMockHTTPJob::GetMockUrl(UTF8ToWide(kTestDir + "/" + 100 GURL url = URLRequestMockHTTPJob::GetMockUrl(UTF8ToWide(kTestDir + "/" +
101 file_name)); 101 file_name));
102 scoped_ptr<TabProxy> tab(GetActiveTab()); 102 scoped_refptr<TabProxy> tab(GetActiveTab());
103 ASSERT_TRUE(tab->NavigateToURL(url)); 103 ASSERT_TRUE(tab->NavigateToURL(url));
104 WaitUntilTabCount(1); 104 WaitUntilTabCount(1);
105 105
106 EXPECT_TRUE(tab->SavePage(full_file_name.ToWStringHack(), dir.ToWStringHack(), 106 EXPECT_TRUE(tab->SavePage(full_file_name.ToWStringHack(), dir.ToWStringHack(),
107 SavePackage::SAVE_AS_COMPLETE_HTML)); 107 SavePackage::SAVE_AS_COMPLETE_HTML));
108 EXPECT_TRUE(WaitForDownloadShelfVisible(tab.get())); 108 EXPECT_TRUE(WaitForDownloadShelfVisible(tab.get()));
109 109
110 CheckFile(dir.AppendASCII("1.png"), FilePath(FILE_PATH_LITERAL("1.png")), 110 CheckFile(dir.AppendASCII("1.png"), FilePath(FILE_PATH_LITERAL("1.png")),
111 true); 111 true);
112 CheckFile(dir.AppendASCII("1.css"), FilePath(FILE_PATH_LITERAL("1.css")), 112 CheckFile(dir.AppendASCII("1.css"), FilePath(FILE_PATH_LITERAL("1.css")),
113 true); 113 true);
114 CheckFile(full_file_name, FilePath::FromWStringHack(UTF8ToWide(file_name)), 114 CheckFile(full_file_name, FilePath::FromWStringHack(UTF8ToWide(file_name)),
115 false); 115 false);
116 EXPECT_TRUE(DieFileDie(dir, true)); 116 EXPECT_TRUE(DieFileDie(dir, true));
117 } 117 }
118 118
119 TEST_F(SavePageTest, NoSave) { 119 TEST_F(SavePageTest, NoSave) {
120 std::string file_name = "c.htm"; 120 std::string file_name = "c.htm";
121 FilePath full_file_name = save_dir_.AppendASCII(file_name); 121 FilePath full_file_name = save_dir_.AppendASCII(file_name);
122 FilePath dir = save_dir_.AppendASCII("c_files"); 122 FilePath dir = save_dir_.AppendASCII("c_files");
123 123
124 scoped_ptr<TabProxy> tab(GetActiveTab()); 124 scoped_refptr<TabProxy> tab(GetActiveTab());
125 ASSERT_TRUE(tab->NavigateToURL(GURL("about:blank"))); 125 ASSERT_TRUE(tab->NavigateToURL(GURL("about:blank")));
126 WaitUntilTabCount(1); 126 WaitUntilTabCount(1);
127 127
128 EXPECT_FALSE(tab->SavePage(full_file_name.ToWStringHack(), 128 EXPECT_FALSE(tab->SavePage(full_file_name.ToWStringHack(),
129 dir.ToWStringHack(), 129 dir.ToWStringHack(),
130 SavePackage::SAVE_AS_ONLY_HTML)); 130 SavePackage::SAVE_AS_ONLY_HTML));
131 EXPECT_FALSE(WaitForDownloadShelfVisible(tab.get())); 131 EXPECT_FALSE(WaitForDownloadShelfVisible(tab.get()));
132 } 132 }
133 133
134 TEST_F(SavePageTest, FilenameFromPageTitle) { 134 TEST_F(SavePageTest, FilenameFromPageTitle) {
135 std::string file_name = "b.htm"; 135 std::string file_name = "b.htm";
136 136
137 FilePath full_file_name = download_dir_.AppendASCII( 137 FilePath full_file_name = download_dir_.AppendASCII(
138 "Test page for saving page feature" + kAppendedExtension); 138 "Test page for saving page feature" + kAppendedExtension);
139 FilePath dir = download_dir_.AppendASCII( 139 FilePath dir = download_dir_.AppendASCII(
140 "Test page for saving page feature_files"); 140 "Test page for saving page feature_files");
141 141
142 GURL url = URLRequestMockHTTPJob::GetMockUrl(UTF8ToWide(kTestDir + "/" + 142 GURL url = URLRequestMockHTTPJob::GetMockUrl(UTF8ToWide(kTestDir + "/" +
143 file_name)); 143 file_name));
144 scoped_ptr<TabProxy> tab(GetActiveTab()); 144 scoped_refptr<TabProxy> tab(GetActiveTab());
145 ASSERT_TRUE(tab->NavigateToURL(url)); 145 ASSERT_TRUE(tab->NavigateToURL(url));
146 WaitUntilTabCount(1); 146 WaitUntilTabCount(1);
147 147
148 scoped_ptr<BrowserProxy> browser(automation()->GetBrowserWindow(0)); 148 scoped_refptr<BrowserProxy> browser(automation()->GetBrowserWindow(0));
149 automation()->SavePackageShouldPromptUser(false); 149 automation()->SavePackageShouldPromptUser(false);
150 EXPECT_TRUE(browser->RunCommandAsync(IDC_SAVE_PAGE)); 150 EXPECT_TRUE(browser->RunCommandAsync(IDC_SAVE_PAGE));
151 EXPECT_TRUE(WaitForDownloadShelfVisible(tab.get())); 151 EXPECT_TRUE(WaitForDownloadShelfVisible(tab.get()));
152 automation()->SavePackageShouldPromptUser(true); 152 automation()->SavePackageShouldPromptUser(true);
153 153
154 CheckFile(dir.AppendASCII("1.png"), FilePath(FILE_PATH_LITERAL("1.png")), 154 CheckFile(dir.AppendASCII("1.png"), FilePath(FILE_PATH_LITERAL("1.png")),
155 true); 155 true);
156 CheckFile(dir.AppendASCII("1.css"), FilePath(FILE_PATH_LITERAL("1.css")), 156 CheckFile(dir.AppendASCII("1.css"), FilePath(FILE_PATH_LITERAL("1.css")),
157 true); 157 true);
158 CheckFile(full_file_name, FilePath::FromWStringHack(UTF8ToWide(file_name)), 158 CheckFile(full_file_name, FilePath::FromWStringHack(UTF8ToWide(file_name)),
159 false); 159 false);
160 EXPECT_TRUE(DieFileDie(full_file_name, false)); 160 EXPECT_TRUE(DieFileDie(full_file_name, false));
161 EXPECT_TRUE(DieFileDie(dir, true)); 161 EXPECT_TRUE(DieFileDie(dir, true));
162 } 162 }
163 163
164 // This tests that a webpage with the title "test.exe" is saved as 164 // This tests that a webpage with the title "test.exe" is saved as
165 // "test.exe.htm". 165 // "test.exe.htm".
166 // We probably don't care to handle this on Linux or Mac. 166 // We probably don't care to handle this on Linux or Mac.
167 #if defined(OS_WIN) 167 #if defined(OS_WIN)
168 TEST_F(SavePageTest, CleanFilenameFromPageTitle) { 168 TEST_F(SavePageTest, CleanFilenameFromPageTitle) {
169 std::string file_name = "c.htm"; 169 std::string file_name = "c.htm";
170 FilePath full_file_name = download_dir_.AppendASCII("test.exe" + 170 FilePath full_file_name = download_dir_.AppendASCII("test.exe" +
171 kAppendedExtension); 171 kAppendedExtension);
172 FilePath dir = download_dir_.AppendASCII("test.exe_files"); 172 FilePath dir = download_dir_.AppendASCII("test.exe_files");
173 173
174 GURL url = URLRequestMockHTTPJob::GetMockUrl(UTF8ToWide(kTestDir + "/" + 174 GURL url = URLRequestMockHTTPJob::GetMockUrl(UTF8ToWide(kTestDir + "/" +
175 file_name)); 175 file_name));
176 scoped_ptr<TabProxy> tab(GetActiveTab()); 176 scoped_refptr<TabProxy> tab(GetActiveTab());
177 ASSERT_TRUE(tab->NavigateToURL(url)); 177 ASSERT_TRUE(tab->NavigateToURL(url));
178 WaitUntilTabCount(1); 178 WaitUntilTabCount(1);
179 179
180 scoped_ptr<BrowserProxy> browser(automation()->GetBrowserWindow(0)); 180 scoped_refptr<BrowserProxy> browser(automation()->GetBrowserWindow(0));
181 automation()->SavePackageShouldPromptUser(false); 181 automation()->SavePackageShouldPromptUser(false);
182 EXPECT_TRUE(browser->RunCommandAsync(IDC_SAVE_PAGE)); 182 EXPECT_TRUE(browser->RunCommandAsync(IDC_SAVE_PAGE));
183 EXPECT_TRUE(WaitForDownloadShelfVisible(tab.get())); 183 EXPECT_TRUE(WaitForDownloadShelfVisible(tab.get()));
184 automation()->SavePackageShouldPromptUser(true); 184 automation()->SavePackageShouldPromptUser(true);
185 185
186 CheckFile(full_file_name, FilePath::FromWStringHack(UTF8ToWide(file_name)), 186 CheckFile(full_file_name, FilePath::FromWStringHack(UTF8ToWide(file_name)),
187 false); 187 false);
188 EXPECT_TRUE(DieFileDie(full_file_name, false)); 188 EXPECT_TRUE(DieFileDie(full_file_name, false));
189 EXPECT_TRUE(DieFileDie(dir, true)); 189 EXPECT_TRUE(DieFileDie(dir, true));
190 } 190 }
191 #endif 191 #endif
OLDNEW
« no previous file with comments | « chrome/browser/download/download_uitest.cc ('k') | chrome/browser/extensions/extension_uitest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698