summaryrefslogtreecommitdiffstats
path: root/chrome/browser/download/download_uitest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/download/download_uitest.cc')
-rw-r--r--chrome/browser/download/download_uitest.cc84
1 files changed, 36 insertions, 48 deletions
diff --git a/chrome/browser/download/download_uitest.cc b/chrome/browser/download/download_uitest.cc
index 656774b..941910a 100644
--- a/chrome/browser/download/download_uitest.cc
+++ b/chrome/browser/download/download_uitest.cc
@@ -2,9 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#if defined(OS_WIN)
#include <shlwapi.h>
-#endif
#include <sstream>
#include <string>
@@ -21,17 +19,14 @@
#include "chrome/test/ui/ui_test.h"
#include "chrome/test/automation/tab_proxy.h"
#include "chrome/test/automation/browser_proxy.h"
-#include "net/base/net_util.h"
#include "net/url_request/url_request_unittest.h"
-using std::string;
using std::wstring;
namespace {
const wchar_t kDocRoot[] = L"chrome/test/data";
-#if defined(OS_WIN)
// Checks if the volume supports Alternate Data Streams. This is required for
// the Zone Identifier implementation.
bool VolumeSupportsADS(const std::wstring path) {
@@ -69,57 +64,56 @@ void CheckZoneIdentifier(const std::wstring full_path) {
ASSERT_EQ(0, strcmp(kIdentifier, buffer));
}
-#endif
class DownloadTest : public UITest {
protected:
DownloadTest() : UITest() {}
- void CleanUpDownload(const FilePath& client_filename,
- const FilePath& server_filename) {
+ void CleanUpDownload(const std::wstring& client_filename,
+ const std::wstring& server_filename) {
// Find the path on the client.
- FilePath file_on_client(download_prefix_);
- file_on_client = file_on_client.Append(client_filename);
+ std::wstring file_on_client(download_prefix_);
+ file_on_client.append(client_filename);
EXPECT_TRUE(file_util::PathExists(file_on_client));
// Find the path on the server.
- FilePath file_on_server;
+ std::wstring file_on_server;
ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA,
&file_on_server));
- file_on_server = file_on_server.Append(server_filename);
+ file_on_server.append(L"\\");
+ file_on_server.append(server_filename);
ASSERT_TRUE(file_util::PathExists(file_on_server));
// Check that we downloaded the file correctly.
EXPECT_TRUE(file_util::ContentsEqual(file_on_server,
file_on_client));
-#if defined(OS_WIN)
// Check if the Zone Identifier is correclty set.
- if (VolumeSupportsADS(file_on_client.value()))
- CheckZoneIdentifier(file_on_client.value());
-#endif
+ if (VolumeSupportsADS(file_on_client))
+ CheckZoneIdentifier(file_on_client);
// Delete the client copy of the file.
EXPECT_TRUE(file_util::Delete(file_on_client, false));
}
- void CleanUpDownload(const FilePath& file) {
+ void CleanUpDownload(const std::wstring& file) {
CleanUpDownload(file, file);
}
virtual void SetUp() {
UITest::SetUp();
- download_prefix_ = FilePath::FromWStringHack(GetDownloadDirectory());
+ download_prefix_ = GetDownloadDirectory();
+ download_prefix_ += FilePath::kSeparators[0];
}
protected:
- void RunSizeTest(const GURL& url,
+ void RunSizeTest(const wstring& url,
const wstring& expected_title_in_progress,
const wstring& expected_title_finished) {
{
EXPECT_EQ(1, GetTabCount());
- NavigateToURL(url);
+ NavigateToURL(GURL(url));
// Downloads appear in the shelf
WaitUntilTabCount(1);
// TODO(tc): check download status text
@@ -138,22 +132,19 @@ class DownloadTest : public UITest {
EXPECT_TRUE(WaitForDownloadShelfVisible(dl_tab.get()));
}
- FilePath filename;
- net::FileURLToFilePath(url, &filename);
- filename = filename.BaseName();
- FilePath download_path = download_prefix_.Append(filename);
- EXPECT_TRUE(file_util::PathExists(download_path));
+ std::wstring filename = file_util::GetFilenameFromPath(url);
+ EXPECT_TRUE(file_util::PathExists(download_prefix_ + filename));
// Delete the file we just downloaded.
for (int i = 0; i < 10; ++i) {
- if (file_util::Delete(download_path, false))
+ if (file_util::Delete(download_prefix_ + filename, false))
break;
PlatformThread::Sleep(action_max_timeout_ms() / 10);
}
- EXPECT_FALSE(file_util::PathExists(download_path));
+ EXPECT_FALSE(file_util::PathExists(download_prefix_ + filename));
}
- FilePath download_prefix_;
+ wstring download_prefix_;
};
} // namespace
@@ -161,11 +152,12 @@ class DownloadTest : public UITest {
// Download a file with non-viewable content, verify that the
// download tab opened and the file exists.
TEST_F(DownloadTest, DownloadMimeType) {
- FilePath file(FILE_PATH_LITERAL("download-test1.lib"));
+ wstring file = L"download-test1.lib";
+ wstring expected_title = L"100% - " + file;
EXPECT_EQ(1, GetTabCount());
- NavigateToURL(URLRequestMockHTTPJob::GetMockUrl(file.ToWStringHack()));
+ NavigateToURL(URLRequestMockHTTPJob::GetMockUrl(file));
// No new tabs created, downloads appear in the current tab's download shelf.
WaitUntilTabCount(1);
@@ -182,15 +174,16 @@ TEST_F(DownloadTest, DownloadMimeType) {
// Access a file with a viewable mime-type, verify that a download
// did not initiate.
TEST_F(DownloadTest, NoDownload) {
- FilePath file(FILE_PATH_LITERAL("download-test2.html"));
- FilePath file_path = download_prefix_.Append(file);
+ wstring file = L"download-test2.html";
+ wstring file_path = download_prefix_;
+ file_util::AppendToPath(&file_path, file);
if (file_util::PathExists(file_path))
ASSERT_TRUE(file_util::Delete(file_path, false));
EXPECT_EQ(1, GetTabCount());
- NavigateToURL(URLRequestMockHTTPJob::GetMockUrl(file.ToWStringHack()));
+ NavigateToURL(URLRequestMockHTTPJob::GetMockUrl(file));
WaitUntilTabCount(1);
// Wait to see if the file will be downloaded.
@@ -209,12 +202,13 @@ TEST_F(DownloadTest, NoDownload) {
// download tab opened and the file exists as the filename specified in the
// header. This also ensures we properly handle empty file downloads.
TEST_F(DownloadTest, ContentDisposition) {
- FilePath file(FILE_PATH_LITERAL("download-test3.gif"));
- FilePath download_file(FILE_PATH_LITERAL("download-test3-attachment.gif"));
+ wstring file = L"download-test3.gif";
+ wstring download_file = L"download-test3-attachment.gif";
+ wstring expected_title = L"100% - " + download_file;
EXPECT_EQ(1, GetTabCount());
- NavigateToURL(URLRequestMockHTTPJob::GetMockUrl(file.ToWStringHack()));
+ NavigateToURL(URLRequestMockHTTPJob::GetMockUrl(file));
WaitUntilTabCount(1);
// Wait until the file is downloaded.
@@ -235,20 +229,14 @@ TEST_F(DownloadTest, ContentDisposition) {
// in the middle until the server receives a second request for
// "download-finish. At that time, the download will finish.
TEST_F(DownloadTest, UnknownSize) {
- GURL url(URLRequestSlowDownloadJob::kUnknownSizeUrl);
- FilePath filename;
- net::FileURLToFilePath(url, &filename);
- filename = filename.BaseName();
- RunSizeTest(url, L"32.0 KB - " + filename.ToWStringHack(),
- L"100% - " + filename.ToWStringHack());
+ std::wstring url(URLRequestSlowDownloadJob::kUnknownSizeUrl);
+ std::wstring filename = file_util::GetFilenameFromPath(url);
+ RunSizeTest(url, L"32.0 KB - " + filename, L"100% - " + filename);
}
// http://b/1158253
TEST_F(DownloadTest, DISABLED_KnownSize) {
- GURL url(URLRequestSlowDownloadJob::kKnownSizeUrl);
- FilePath filename;
- net::FileURLToFilePath(url, &filename);
- filename = filename.BaseName();
- RunSizeTest(url, L"71% - " + filename.ToWStringHack(),
- L"100% - " + filename.ToWStringHack());
+ std::wstring url(URLRequestSlowDownloadJob::kKnownSizeUrl);
+ std::wstring filename = file_util::GetFilenameFromPath(url);
+ RunSizeTest(url, L"71% - " + filename, L"100% - " + filename);
}