| Index: net/url_request/url_request_unittest.cc
|
| diff --git a/net/url_request/url_request_unittest.cc b/net/url_request/url_request_unittest.cc
|
| index 7a526a3d567bd43ce2a4476b5abe3517d82aec29..cec9049a6b4261aa47fbbf4a15cb52445ac04464 100644
|
| --- a/net/url_request/url_request_unittest.cc
|
| +++ b/net/url_request/url_request_unittest.cc
|
| @@ -30,7 +30,6 @@
|
| #include "base/strings/stringprintf.h"
|
| #include "base/strings/utf_string_conversions.h"
|
| #include "net/base/capturing_net_log.h"
|
| -#include "net/base/filename_util.h"
|
| #include "net/base/load_flags.h"
|
| #include "net/base/load_timing_info.h"
|
| #include "net/base/load_timing_info_test_util.h"
|
| @@ -77,6 +76,7 @@
|
| #include "testing/platform_test.h"
|
|
|
| #if !defined(DISABLE_FILE_SUPPORT)
|
| +#include "net/base/filename_util.h"
|
| #include "net/url_request/file_protocol_handler.h"
|
| #include "net/url_request/url_request_file_dir_job.h"
|
| #endif
|
| @@ -697,6 +697,7 @@ TEST_F(URLRequestTest, DataURLImageTest) {
|
| }
|
| }
|
|
|
| +#if !defined(DISABLE_FILE_SUPPORT)
|
| TEST_F(URLRequestTest, FileTest) {
|
| base::FilePath app_path;
|
| PathService::Get(base::FILE_EXE, &app_path);
|
| @@ -895,80 +896,6 @@ TEST_F(URLRequestTest, AllowFileURLs) {
|
| }
|
| }
|
|
|
| -TEST_F(URLRequestTest, InvalidUrlTest) {
|
| - TestDelegate d;
|
| - {
|
| - URLRequest r(GURL("invalid url"), DEFAULT_PRIORITY, &d, &default_context_);
|
| -
|
| - r.Start();
|
| - EXPECT_TRUE(r.is_pending());
|
| -
|
| - base::RunLoop().Run();
|
| - EXPECT_TRUE(d.request_failed());
|
| - }
|
| -}
|
| -
|
| -#if defined(OS_WIN)
|
| -TEST_F(URLRequestTest, ResolveShortcutTest) {
|
| - base::FilePath app_path;
|
| - PathService::Get(base::DIR_SOURCE_ROOT, &app_path);
|
| - app_path = app_path.AppendASCII("net");
|
| - app_path = app_path.AppendASCII("data");
|
| - app_path = app_path.AppendASCII("url_request_unittest");
|
| - app_path = app_path.AppendASCII("with-headers.html");
|
| -
|
| - std::wstring lnk_path = app_path.value() + L".lnk";
|
| -
|
| - base::win::ScopedCOMInitializer com_initializer;
|
| -
|
| - // Temporarily create a shortcut for test
|
| - {
|
| - base::win::ScopedComPtr<IShellLink> shell;
|
| - ASSERT_TRUE(SUCCEEDED(shell.CreateInstance(CLSID_ShellLink, NULL,
|
| - CLSCTX_INPROC_SERVER)));
|
| - base::win::ScopedComPtr<IPersistFile> persist;
|
| - ASSERT_TRUE(SUCCEEDED(shell.QueryInterface(persist.Receive())));
|
| - EXPECT_TRUE(SUCCEEDED(shell->SetPath(app_path.value().c_str())));
|
| - EXPECT_TRUE(SUCCEEDED(shell->SetDescription(L"ResolveShortcutTest")));
|
| - EXPECT_TRUE(SUCCEEDED(persist->Save(lnk_path.c_str(), TRUE)));
|
| - }
|
| -
|
| - TestDelegate d;
|
| - {
|
| - URLRequest r(FilePathToFileURL(base::FilePath(lnk_path)),
|
| - DEFAULT_PRIORITY,
|
| - &d,
|
| - &default_context_);
|
| -
|
| - r.Start();
|
| - EXPECT_TRUE(r.is_pending());
|
| -
|
| - base::RunLoop().Run();
|
| -
|
| - WIN32_FILE_ATTRIBUTE_DATA data;
|
| - GetFileAttributesEx(app_path.value().c_str(),
|
| - GetFileExInfoStandard, &data);
|
| - HANDLE file = CreateFile(app_path.value().c_str(), GENERIC_READ,
|
| - FILE_SHARE_READ, NULL, OPEN_EXISTING,
|
| - FILE_ATTRIBUTE_NORMAL, NULL);
|
| - EXPECT_NE(INVALID_HANDLE_VALUE, file);
|
| - scoped_ptr<char[]> buffer(new char[data.nFileSizeLow]);
|
| - DWORD read_size;
|
| - BOOL result;
|
| - result = ReadFile(file, buffer.get(), data.nFileSizeLow,
|
| - &read_size, NULL);
|
| - std::string content(buffer.get(), read_size);
|
| - CloseHandle(file);
|
| -
|
| - EXPECT_TRUE(!r.is_pending());
|
| - EXPECT_EQ(1, d.received_redirect_count());
|
| - EXPECT_EQ(content, d.data_received());
|
| - }
|
| -
|
| - // Clean the shortcut
|
| - DeleteFile(lnk_path.c_str());
|
| -}
|
| -#endif // defined(OS_WIN)
|
|
|
| TEST_F(URLRequestTest, FileDirCancelTest) {
|
| // Put in mock resource provider.
|
| @@ -1067,7 +994,84 @@ TEST_F(URLRequestTest, FileDirRedirectSingleSlash) {
|
| ASSERT_EQ(1, d.received_redirect_count());
|
| ASSERT_FALSE(req.status().is_success());
|
| }
|
| -#endif
|
| +#endif // defined(OS_WIN)
|
| +
|
| +#endif // !defined(DISABLE_FILE_SUPPORT)
|
| +
|
| +TEST_F(URLRequestTest, InvalidUrlTest) {
|
| + TestDelegate d;
|
| + {
|
| + URLRequest r(GURL("invalid url"), DEFAULT_PRIORITY, &d, &default_context_);
|
| +
|
| + r.Start();
|
| + EXPECT_TRUE(r.is_pending());
|
| +
|
| + base::RunLoop().Run();
|
| + EXPECT_TRUE(d.request_failed());
|
| + }
|
| +}
|
| +
|
| +#if defined(OS_WIN)
|
| +TEST_F(URLRequestTest, ResolveShortcutTest) {
|
| + base::FilePath app_path;
|
| + PathService::Get(base::DIR_SOURCE_ROOT, &app_path);
|
| + app_path = app_path.AppendASCII("net");
|
| + app_path = app_path.AppendASCII("data");
|
| + app_path = app_path.AppendASCII("url_request_unittest");
|
| + app_path = app_path.AppendASCII("with-headers.html");
|
| +
|
| + std::wstring lnk_path = app_path.value() + L".lnk";
|
| +
|
| + base::win::ScopedCOMInitializer com_initializer;
|
| +
|
| + // Temporarily create a shortcut for test
|
| + {
|
| + base::win::ScopedComPtr<IShellLink> shell;
|
| + ASSERT_TRUE(SUCCEEDED(shell.CreateInstance(CLSID_ShellLink, NULL,
|
| + CLSCTX_INPROC_SERVER)));
|
| + base::win::ScopedComPtr<IPersistFile> persist;
|
| + ASSERT_TRUE(SUCCEEDED(shell.QueryInterface(persist.Receive())));
|
| + EXPECT_TRUE(SUCCEEDED(shell->SetPath(app_path.value().c_str())));
|
| + EXPECT_TRUE(SUCCEEDED(shell->SetDescription(L"ResolveShortcutTest")));
|
| + EXPECT_TRUE(SUCCEEDED(persist->Save(lnk_path.c_str(), TRUE)));
|
| + }
|
| +
|
| + TestDelegate d;
|
| + {
|
| + URLRequest r(FilePathToFileURL(base::FilePath(lnk_path)),
|
| + DEFAULT_PRIORITY,
|
| + &d,
|
| + &default_context_);
|
| +
|
| + r.Start();
|
| + EXPECT_TRUE(r.is_pending());
|
| +
|
| + base::RunLoop().Run();
|
| +
|
| + WIN32_FILE_ATTRIBUTE_DATA data;
|
| + GetFileAttributesEx(app_path.value().c_str(),
|
| + GetFileExInfoStandard, &data);
|
| + HANDLE file = CreateFile(app_path.value().c_str(), GENERIC_READ,
|
| + FILE_SHARE_READ, NULL, OPEN_EXISTING,
|
| + FILE_ATTRIBUTE_NORMAL, NULL);
|
| + EXPECT_NE(INVALID_HANDLE_VALUE, file);
|
| + scoped_ptr<char[]> buffer(new char[data.nFileSizeLow]);
|
| + DWORD read_size;
|
| + BOOL result;
|
| + result = ReadFile(file, buffer.get(), data.nFileSizeLow,
|
| + &read_size, NULL);
|
| + std::string content(buffer.get(), read_size);
|
| + CloseHandle(file);
|
| +
|
| + EXPECT_TRUE(!r.is_pending());
|
| + EXPECT_EQ(1, d.received_redirect_count());
|
| + EXPECT_EQ(content, d.data_received());
|
| + }
|
| +
|
| + // Clean the shortcut
|
| + DeleteFile(lnk_path.c_str());
|
| +}
|
| +#endif // defined(OS_WIN)
|
|
|
| // Custom URLRequestJobs for use with interceptor tests
|
| class RestartTestJob : public URLRequestTestJob {
|
|
|