| Index: ui/base/dragdrop/os_exchange_data_unittest.cc
|
| diff --git a/ui/base/dragdrop/os_exchange_data_unittest.cc b/ui/base/dragdrop/os_exchange_data_unittest.cc
|
| index 41dd43a69234e701f5238ee6f6d4296b5cfda6ce..713627ac38d6053899c707c9a61b5016f7fe6df4 100644
|
| --- a/ui/base/dragdrop/os_exchange_data_unittest.cc
|
| +++ b/ui/base/dragdrop/os_exchange_data_unittest.cc
|
| @@ -2,9 +2,11 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| +#include "base/file_util.h"
|
| #include "base/message_loop/message_loop.h"
|
| #include "base/pickle.h"
|
| #include "base/strings/utf_string_conversions.h"
|
| +#include "net/base/filename_util.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
| #include "testing/platform_test.h"
|
| #include "ui/base/dragdrop/os_exchange_data.h"
|
| @@ -35,8 +37,8 @@ TEST_F(OSExchangeDataTest, StringDataGetAndSet) {
|
| std::string url_spec = "http://www.goats.com/";
|
| GURL url(url_spec);
|
| base::string16 title;
|
| - EXPECT_FALSE(
|
| - data2.GetURLAndTitle(OSExchangeData::CONVERT_FILENAMES, &url, &title));
|
| + EXPECT_FALSE(data2.GetURLAndTitle(
|
| + OSExchangeData::DO_NOT_CONVERT_FILENAMES, &url, &title));
|
| // No URLs in |data|, so url should be untouched.
|
| EXPECT_EQ(url_spec, url.spec());
|
| }
|
| @@ -55,7 +57,7 @@ TEST_F(OSExchangeDataTest, TestURLExchangeFormats) {
|
| GURL output_url;
|
| base::string16 output_title;
|
| EXPECT_TRUE(data2.GetURLAndTitle(
|
| - OSExchangeData::CONVERT_FILENAMES, &output_url, &output_title));
|
| + OSExchangeData::DO_NOT_CONVERT_FILENAMES, &output_url, &output_title));
|
| EXPECT_EQ(url_spec, output_url.spec());
|
| EXPECT_EQ(url_title, output_title);
|
| base::string16 output_string;
|
| @@ -65,6 +67,50 @@ TEST_F(OSExchangeDataTest, TestURLExchangeFormats) {
|
| EXPECT_EQ(url_spec, base::UTF16ToUTF8(output_string));
|
| }
|
|
|
| +TEST_F(OSExchangeDataTest, TestFileToURLConversion) {
|
| + OSExchangeData data;
|
| + EXPECT_FALSE(data.HasURL(OSExchangeData::DO_NOT_CONVERT_FILENAMES));
|
| + EXPECT_FALSE(data.HasURL(OSExchangeData::CONVERT_FILENAMES));
|
| + EXPECT_FALSE(data.HasFile());
|
| +
|
| + base::FilePath current_directory;
|
| + ASSERT_TRUE(base::GetCurrentDirectory(¤t_directory));
|
| +
|
| + data.SetFilename(current_directory);
|
| + {
|
| + EXPECT_FALSE(data.HasURL(OSExchangeData::DO_NOT_CONVERT_FILENAMES));
|
| + GURL actual_url;
|
| + base::string16 actual_title;
|
| + EXPECT_FALSE(data.GetURLAndTitle(
|
| + OSExchangeData::DO_NOT_CONVERT_FILENAMES, &actual_url, &actual_title));
|
| + EXPECT_EQ(GURL(), actual_url);
|
| + EXPECT_EQ(base::string16(), actual_title);
|
| + }
|
| + {
|
| +// Filename to URL conversion is not implemented on ChromeOS.
|
| +#if !defined(OS_CHROMEOS)
|
| + const bool expected_success = true;
|
| + const GURL expected_url(net::FilePathToFileURL(current_directory));
|
| +#else
|
| + const bool expected_success = false;
|
| + const GURL expected_url;
|
| +#endif
|
| + EXPECT_EQ(expected_success, data.HasURL(OSExchangeData::CONVERT_FILENAMES));
|
| + GURL actual_url;
|
| + base::string16 actual_title;
|
| + EXPECT_EQ(
|
| + expected_success,
|
| + data.GetURLAndTitle(
|
| + OSExchangeData::CONVERT_FILENAMES, &actual_url, &actual_title));
|
| + EXPECT_EQ(expected_url, actual_url);
|
| + EXPECT_EQ(base::string16(), actual_title);
|
| + }
|
| + EXPECT_TRUE(data.HasFile());
|
| + base::FilePath actual_path;
|
| + EXPECT_TRUE(data.GetFilename(&actual_path));
|
| + EXPECT_EQ(current_directory, actual_path);
|
| +}
|
| +
|
| TEST_F(OSExchangeDataTest, TestPickledData) {
|
| const OSExchangeData::CustomFormat kTestFormat =
|
| ui::Clipboard::GetFormatType("application/vnd.chromium.test");
|
|
|