| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 <memory> |
| 6 |
| 5 #include "base/files/file_util.h" | 7 #include "base/files/file_util.h" |
| 6 #include "base/message_loop/message_loop.h" | 8 #include "base/message_loop/message_loop.h" |
| 7 #include "base/pickle.h" | 9 #include "base/pickle.h" |
| 8 #include "base/strings/utf_string_conversions.h" | 10 #include "base/strings/utf_string_conversions.h" |
| 9 #include "build/build_config.h" | 11 #include "build/build_config.h" |
| 10 #include "net/base/filename_util.h" | 12 #include "net/base/filename_util.h" |
| 11 #include "testing/gtest/include/gtest/gtest.h" | 13 #include "testing/gtest/include/gtest/gtest.h" |
| 12 #include "testing/platform_test.h" | 14 #include "testing/platform_test.h" |
| 13 #include "ui/base/dragdrop/os_exchange_data.h" | 15 #include "ui/base/dragdrop/os_exchange_data.h" |
| 14 #include "ui/events/platform/platform_event_source.h" | 16 #include "ui/events/platform/platform_event_source.h" |
| (...skipping 11 matching lines...) Expand all Loading... |
| 26 std::unique_ptr<PlatformEventSource> event_source_; | 28 std::unique_ptr<PlatformEventSource> event_source_; |
| 27 }; | 29 }; |
| 28 | 30 |
| 29 TEST_F(OSExchangeDataTest, StringDataGetAndSet) { | 31 TEST_F(OSExchangeDataTest, StringDataGetAndSet) { |
| 30 OSExchangeData data; | 32 OSExchangeData data; |
| 31 base::string16 input = base::ASCIIToUTF16("I can has cheezburger?"); | 33 base::string16 input = base::ASCIIToUTF16("I can has cheezburger?"); |
| 32 EXPECT_FALSE(data.HasString()); | 34 EXPECT_FALSE(data.HasString()); |
| 33 data.SetString(input); | 35 data.SetString(input); |
| 34 EXPECT_TRUE(data.HasString()); | 36 EXPECT_TRUE(data.HasString()); |
| 35 | 37 |
| 36 OSExchangeData data2(data.provider().Clone()); | 38 OSExchangeData data2( |
| 39 std::unique_ptr<OSExchangeData::Provider>(data.provider().Clone())); |
| 37 base::string16 output; | 40 base::string16 output; |
| 38 EXPECT_TRUE(data2.HasString()); | 41 EXPECT_TRUE(data2.HasString()); |
| 39 EXPECT_TRUE(data2.GetString(&output)); | 42 EXPECT_TRUE(data2.GetString(&output)); |
| 40 EXPECT_EQ(input, output); | 43 EXPECT_EQ(input, output); |
| 41 std::string url_spec = "http://www.goats.com/"; | 44 std::string url_spec = "http://www.goats.com/"; |
| 42 GURL url(url_spec); | 45 GURL url(url_spec); |
| 43 base::string16 title; | 46 base::string16 title; |
| 44 EXPECT_FALSE(data2.GetURLAndTitle( | 47 EXPECT_FALSE(data2.GetURLAndTitle( |
| 45 OSExchangeData::DO_NOT_CONVERT_FILENAMES, &url, &title)); | 48 OSExchangeData::DO_NOT_CONVERT_FILENAMES, &url, &title)); |
| 46 // No URLs in |data|, so url should be untouched. | 49 // No URLs in |data|, so url should be untouched. |
| 47 EXPECT_EQ(url_spec, url.spec()); | 50 EXPECT_EQ(url_spec, url.spec()); |
| 48 } | 51 } |
| 49 | 52 |
| 50 TEST_F(OSExchangeDataTest, TestURLExchangeFormats) { | 53 TEST_F(OSExchangeDataTest, TestURLExchangeFormats) { |
| 51 OSExchangeData data; | 54 OSExchangeData data; |
| 52 std::string url_spec = "http://www.google.com/"; | 55 std::string url_spec = "http://www.google.com/"; |
| 53 GURL url(url_spec); | 56 GURL url(url_spec); |
| 54 base::string16 url_title = base::ASCIIToUTF16("www.google.com"); | 57 base::string16 url_title = base::ASCIIToUTF16("www.google.com"); |
| 55 EXPECT_FALSE(data.HasURL(OSExchangeData::DO_NOT_CONVERT_FILENAMES)); | 58 EXPECT_FALSE(data.HasURL(OSExchangeData::DO_NOT_CONVERT_FILENAMES)); |
| 56 data.SetURL(url, url_title); | 59 data.SetURL(url, url_title); |
| 57 EXPECT_TRUE(data.HasURL(OSExchangeData::DO_NOT_CONVERT_FILENAMES)); | 60 EXPECT_TRUE(data.HasURL(OSExchangeData::DO_NOT_CONVERT_FILENAMES)); |
| 58 | 61 |
| 59 OSExchangeData data2(data.provider().Clone()); | 62 OSExchangeData data2( |
| 63 std::unique_ptr<OSExchangeData::Provider>(data.provider().Clone())); |
| 60 | 64 |
| 61 // URL spec and title should match | 65 // URL spec and title should match |
| 62 GURL output_url; | 66 GURL output_url; |
| 63 base::string16 output_title; | 67 base::string16 output_title; |
| 64 EXPECT_TRUE(data2.HasURL(OSExchangeData::DO_NOT_CONVERT_FILENAMES)); | 68 EXPECT_TRUE(data2.HasURL(OSExchangeData::DO_NOT_CONVERT_FILENAMES)); |
| 65 EXPECT_TRUE(data2.GetURLAndTitle( | 69 EXPECT_TRUE(data2.GetURLAndTitle( |
| 66 OSExchangeData::DO_NOT_CONVERT_FILENAMES, &output_url, &output_title)); | 70 OSExchangeData::DO_NOT_CONVERT_FILENAMES, &output_url, &output_title)); |
| 67 EXPECT_EQ(url_spec, output_url.spec()); | 71 EXPECT_EQ(url_spec, output_url.spec()); |
| 68 EXPECT_EQ(url_title, output_title); | 72 EXPECT_EQ(url_title, output_title); |
| 69 base::string16 output_string; | 73 base::string16 output_string; |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 137 TEST_F(OSExchangeDataTest, TestPickledData) { | 141 TEST_F(OSExchangeDataTest, TestPickledData) { |
| 138 const Clipboard::FormatType kTestFormat = | 142 const Clipboard::FormatType kTestFormat = |
| 139 Clipboard::GetFormatType("application/vnd.chromium.test"); | 143 Clipboard::GetFormatType("application/vnd.chromium.test"); |
| 140 | 144 |
| 141 base::Pickle saved_pickle; | 145 base::Pickle saved_pickle; |
| 142 saved_pickle.WriteInt(1); | 146 saved_pickle.WriteInt(1); |
| 143 saved_pickle.WriteInt(2); | 147 saved_pickle.WriteInt(2); |
| 144 OSExchangeData data; | 148 OSExchangeData data; |
| 145 data.SetPickledData(kTestFormat, saved_pickle); | 149 data.SetPickledData(kTestFormat, saved_pickle); |
| 146 | 150 |
| 147 OSExchangeData copy(data.provider().Clone()); | 151 OSExchangeData copy( |
| 152 std::unique_ptr<OSExchangeData::Provider>(data.provider().Clone())); |
| 148 EXPECT_TRUE(copy.HasCustomFormat(kTestFormat)); | 153 EXPECT_TRUE(copy.HasCustomFormat(kTestFormat)); |
| 149 | 154 |
| 150 base::Pickle restored_pickle; | 155 base::Pickle restored_pickle; |
| 151 EXPECT_TRUE(copy.GetPickledData(kTestFormat, &restored_pickle)); | 156 EXPECT_TRUE(copy.GetPickledData(kTestFormat, &restored_pickle)); |
| 152 base::PickleIterator iterator(restored_pickle); | 157 base::PickleIterator iterator(restored_pickle); |
| 153 int value; | 158 int value; |
| 154 EXPECT_TRUE(iterator.ReadInt(&value)); | 159 EXPECT_TRUE(iterator.ReadInt(&value)); |
| 155 EXPECT_EQ(1, value); | 160 EXPECT_EQ(1, value); |
| 156 EXPECT_TRUE(iterator.ReadInt(&value)); | 161 EXPECT_TRUE(iterator.ReadInt(&value)); |
| 157 EXPECT_EQ(2, value); | 162 EXPECT_EQ(2, value); |
| 158 } | 163 } |
| 159 | 164 |
| 160 #if defined(USE_AURA) | 165 #if defined(USE_AURA) |
| 161 TEST_F(OSExchangeDataTest, TestHTML) { | 166 TEST_F(OSExchangeDataTest, TestHTML) { |
| 162 OSExchangeData data; | 167 OSExchangeData data; |
| 163 GURL url("http://www.google.com/"); | 168 GURL url("http://www.google.com/"); |
| 164 base::string16 html = base::ASCIIToUTF16( | 169 base::string16 html = base::ASCIIToUTF16( |
| 165 "<HTML>\n<BODY>\n" | 170 "<HTML>\n<BODY>\n" |
| 166 "<b>bold.</b> <i><b>This is bold italic.</b></i>\n" | 171 "<b>bold.</b> <i><b>This is bold italic.</b></i>\n" |
| 167 "</BODY>\n</HTML>"); | 172 "</BODY>\n</HTML>"); |
| 168 data.SetHtml(html, url); | 173 data.SetHtml(html, url); |
| 169 | 174 |
| 170 OSExchangeData copy(data.provider().Clone()); | 175 OSExchangeData copy( |
| 176 std::unique_ptr<OSExchangeData::Provider>(data.provider().Clone())); |
| 171 base::string16 read_html; | 177 base::string16 read_html; |
| 172 EXPECT_TRUE(copy.GetHtml(&read_html, &url)); | 178 EXPECT_TRUE(copy.GetHtml(&read_html, &url)); |
| 173 EXPECT_EQ(html, read_html); | 179 EXPECT_EQ(html, read_html); |
| 174 } | 180 } |
| 175 #endif | 181 #endif |
| 176 | 182 |
| 177 } // namespace ui | 183 } // namespace ui |
| OLD | NEW |