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

Side by Side Diff: ui/base/clipboard/clipboard_test_template.h

Issue 1114213004: Remove NOTIMPLEMENTED() logspam on Android clipboard actions (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 5 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
« no previous file with comments | « ui/base/clipboard/clipboard_android.cc ('k') | ui/base/test/test_clipboard.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 // Note: This header doesn't use REGISTER_TYPED_TEST_CASE_P like most 5 // Note: This header doesn't use REGISTER_TYPED_TEST_CASE_P like most
6 // type-parameterized gtests. There are lot of test cases in here that are only 6 // type-parameterized gtests. There are lot of test cases in here that are only
7 // enabled on certain platforms. However, preprocessor directives in macro 7 // enabled on certain platforms. However, preprocessor directives in macro
8 // arguments result in undefined behavior (and don't work on MSVC). Instead, 8 // arguments result in undefined behavior (and don't work on MSVC). Instead,
9 // 'parameterized' tests should typedef TypesToTest (which is used to 9 // 'parameterized' tests should typedef TypesToTest (which is used to
10 // instantiate the tests using the TYPED_TEST_CASE macro) and then #include this 10 // instantiate the tests using the TYPED_TEST_CASE macro) and then #include this
11 // header. 11 // header.
12 // TODO(dcheng): This is really horrible. In general, all tests should run on 12 // TODO(dcheng): This is really horrible. In general, all tests should run on
13 // all platforms, to avoid this mess. 13 // all platforms, to avoid this mess.
14 14
15 #include "build/build_config.h" 15 #include "build/build_config.h"
16 16
17 #include <string> 17 #include <string>
18 18
19 #include "base/basictypes.h" 19 #include "base/basictypes.h"
20 #include "base/memory/scoped_ptr.h" 20 #include "base/memory/scoped_ptr.h"
21 #include "base/message_loop/message_loop.h" 21 #include "base/message_loop/message_loop.h"
22 #include "base/pickle.h" 22 #include "base/pickle.h"
23 #include "base/run_loop.h" 23 #include "base/run_loop.h"
24 #include "base/strings/string_util.h" 24 #include "base/strings/string_util.h"
25 #include "base/strings/utf_string_conversions.h" 25 #include "base/strings/utf_string_conversions.h"
26 #include "testing/gmock/include/gmock/gmock-matchers.h"
26 #include "testing/gtest/include/gtest/gtest.h" 27 #include "testing/gtest/include/gtest/gtest.h"
27 #include "testing/platform_test.h" 28 #include "testing/platform_test.h"
28 #include "third_party/skia/include/core/SkBitmap.h" 29 #include "third_party/skia/include/core/SkBitmap.h"
29 #include "third_party/skia/include/core/SkColor.h" 30 #include "third_party/skia/include/core/SkColor.h"
30 #include "third_party/skia/include/core/SkScalar.h" 31 #include "third_party/skia/include/core/SkScalar.h"
31 #include "third_party/skia/include/core/SkUnPreMultiply.h" 32 #include "third_party/skia/include/core/SkUnPreMultiply.h"
32 #include "ui/base/clipboard/clipboard.h" 33 #include "ui/base/clipboard/clipboard.h"
33 #include "ui/base/clipboard/scoped_clipboard_writer.h" 34 #include "ui/base/clipboard/scoped_clipboard_writer.h"
34 #include "ui/base/test/test_clipboard.h" 35 #include "ui/base/test/test_clipboard.h"
35 #include "ui/gfx/geometry/size.h" 36 #include "ui/gfx/geometry/size.h"
36 37
37 #if defined(OS_WIN) 38 #if defined(OS_WIN)
38 #include "ui/base/clipboard/clipboard_util_win.h" 39 #include "ui/base/clipboard/clipboard_util_win.h"
39 #endif 40 #endif
40 41
41 #if defined(USE_AURA) 42 #if defined(USE_AURA)
42 #include "ui/events/platform/platform_event_source.h" 43 #include "ui/events/platform/platform_event_source.h"
43 #endif 44 #endif
44 45
45 using base::ASCIIToUTF16; 46 using base::ASCIIToUTF16;
46 using base::UTF8ToUTF16; 47 using base::UTF8ToUTF16;
47 using base::UTF16ToUTF8; 48 using base::UTF16ToUTF8;
48 49
50 using testing::Contains;
51
49 namespace ui { 52 namespace ui {
50 53
51 template <typename ClipboardTraits> 54 template <typename ClipboardTraits>
52 class ClipboardTest : public PlatformTest { 55 class ClipboardTest : public PlatformTest {
53 public: 56 public:
54 #if defined(USE_AURA) 57 #if defined(USE_AURA)
55 ClipboardTest() 58 ClipboardTest()
56 : event_source_(PlatformEventSource::CreateDefault()), 59 : event_source_(PlatformEventSource::CreateDefault()),
57 clipboard_(ClipboardTraits::Create()) {} 60 clipboard_(ClipboardTraits::Create()) {}
58 #else 61 #else
59 ClipboardTest() : clipboard_(ClipboardTraits::Create()) {} 62 ClipboardTest() : clipboard_(ClipboardTraits::Create()) {}
60 #endif 63 #endif
61 64
62 ~ClipboardTest() override { ClipboardTraits::Destroy(clipboard_); } 65 ~ClipboardTest() override { ClipboardTraits::Destroy(clipboard_); }
63 66
64 protected: 67 protected:
65 Clipboard& clipboard() { return *clipboard_; } 68 Clipboard& clipboard() { return *clipboard_; }
66 69
70 std::vector<base::string16> GetAvailableTypes(ClipboardType type) {
71 bool contains_filenames;
72 std::vector<base::string16> types;
73 clipboard().ReadAvailableTypes(type, &types, &contains_filenames);
74 return types;
75 }
76
67 private: 77 private:
68 base::MessageLoopForUI message_loop_; 78 base::MessageLoopForUI message_loop_;
69 #if defined(USE_AURA) 79 #if defined(USE_AURA)
70 scoped_ptr<PlatformEventSource> event_source_; 80 scoped_ptr<PlatformEventSource> event_source_;
71 #endif 81 #endif
72 // ui::Clipboard has a protected destructor, so scoped_ptr doesn't work here. 82 // ui::Clipboard has a protected destructor, so scoped_ptr doesn't work here.
73 Clipboard* const clipboard_; 83 Clipboard* const clipboard_;
74 }; 84 };
75 85
76 // Hack for tests that need to call static methods of ClipboardTest. 86 // Hack for tests that need to call static methods of ClipboardTest.
77 struct NullClipboardTraits { 87 struct NullClipboardTraits {
78 static Clipboard* Create() { return nullptr; } 88 static Clipboard* Create() { return nullptr; }
79 static void Destroy(Clipboard*) {} 89 static void Destroy(Clipboard*) {}
80 }; 90 };
81 91
82 TYPED_TEST_CASE(ClipboardTest, TypesToTest); 92 TYPED_TEST_CASE(ClipboardTest, TypesToTest);
83 93
84 TYPED_TEST(ClipboardTest, ClearTest) { 94 TYPED_TEST(ClipboardTest, ClearTest) {
85 { 95 {
86 ScopedClipboardWriter clipboard_writer(CLIPBOARD_TYPE_COPY_PASTE); 96 ScopedClipboardWriter clipboard_writer(CLIPBOARD_TYPE_COPY_PASTE);
87 clipboard_writer.WriteText(ASCIIToUTF16("clear me")); 97 clipboard_writer.WriteText(ASCIIToUTF16("clear me"));
88 } 98 }
89 99
90 this->clipboard().Clear(CLIPBOARD_TYPE_COPY_PASTE); 100 this->clipboard().Clear(CLIPBOARD_TYPE_COPY_PASTE);
91 101
102 EXPECT_TRUE(this->GetAvailableTypes(CLIPBOARD_TYPE_COPY_PASTE).empty());
92 EXPECT_FALSE(this->clipboard().IsFormatAvailable( 103 EXPECT_FALSE(this->clipboard().IsFormatAvailable(
93 Clipboard::GetPlainTextWFormatType(), CLIPBOARD_TYPE_COPY_PASTE)); 104 Clipboard::GetPlainTextWFormatType(), CLIPBOARD_TYPE_COPY_PASTE));
94 EXPECT_FALSE(this->clipboard().IsFormatAvailable( 105 EXPECT_FALSE(this->clipboard().IsFormatAvailable(
95 Clipboard::GetPlainTextFormatType(), CLIPBOARD_TYPE_COPY_PASTE)); 106 Clipboard::GetPlainTextFormatType(), CLIPBOARD_TYPE_COPY_PASTE));
96 } 107 }
97 108
98 TYPED_TEST(ClipboardTest, TextTest) { 109 TYPED_TEST(ClipboardTest, TextTest) {
99 base::string16 text(ASCIIToUTF16("This is a base::string16!#$")), text_result; 110 base::string16 text(ASCIIToUTF16("This is a base::string16!#$")), text_result;
100 std::string ascii_text; 111 std::string ascii_text;
101 112
102 { 113 {
103 ScopedClipboardWriter clipboard_writer(CLIPBOARD_TYPE_COPY_PASTE); 114 ScopedClipboardWriter clipboard_writer(CLIPBOARD_TYPE_COPY_PASTE);
104 clipboard_writer.WriteText(text); 115 clipboard_writer.WriteText(text);
105 } 116 }
106 117
118 EXPECT_THAT(this->GetAvailableTypes(CLIPBOARD_TYPE_COPY_PASTE),
119 Contains(ASCIIToUTF16(Clipboard::kMimeTypeText)));
107 EXPECT_TRUE(this->clipboard().IsFormatAvailable( 120 EXPECT_TRUE(this->clipboard().IsFormatAvailable(
108 Clipboard::GetPlainTextWFormatType(), CLIPBOARD_TYPE_COPY_PASTE)); 121 Clipboard::GetPlainTextWFormatType(), CLIPBOARD_TYPE_COPY_PASTE));
109 EXPECT_TRUE(this->clipboard().IsFormatAvailable( 122 EXPECT_TRUE(this->clipboard().IsFormatAvailable(
110 Clipboard::GetPlainTextFormatType(), CLIPBOARD_TYPE_COPY_PASTE)); 123 Clipboard::GetPlainTextFormatType(), CLIPBOARD_TYPE_COPY_PASTE));
111 this->clipboard().ReadText(CLIPBOARD_TYPE_COPY_PASTE, &text_result); 124 this->clipboard().ReadText(CLIPBOARD_TYPE_COPY_PASTE, &text_result);
112 125
113 EXPECT_EQ(text, text_result); 126 EXPECT_EQ(text, text_result);
114 this->clipboard().ReadAsciiText(CLIPBOARD_TYPE_COPY_PASTE, &ascii_text); 127 this->clipboard().ReadAsciiText(CLIPBOARD_TYPE_COPY_PASTE, &ascii_text);
115 EXPECT_EQ(UTF16ToUTF8(text), ascii_text); 128 EXPECT_EQ(UTF16ToUTF8(text), ascii_text);
116 } 129 }
117 130
118 TYPED_TEST(ClipboardTest, HTMLTest) { 131 TYPED_TEST(ClipboardTest, HTMLTest) {
119 base::string16 markup(ASCIIToUTF16("<string>Hi!</string>")), markup_result; 132 base::string16 markup(ASCIIToUTF16("<string>Hi!</string>")), markup_result;
120 base::string16 plain(ASCIIToUTF16("Hi!")), plain_result; 133 base::string16 plain(ASCIIToUTF16("Hi!")), plain_result;
121 std::string url("http://www.example.com/"), url_result; 134 std::string url("http://www.example.com/"), url_result;
122 135
123 { 136 {
124 ScopedClipboardWriter clipboard_writer(CLIPBOARD_TYPE_COPY_PASTE); 137 ScopedClipboardWriter clipboard_writer(CLIPBOARD_TYPE_COPY_PASTE);
125 clipboard_writer.WriteText(plain); 138 clipboard_writer.WriteText(plain);
126 clipboard_writer.WriteHTML(markup, url); 139 clipboard_writer.WriteHTML(markup, url);
127 } 140 }
128 141
142 EXPECT_THAT(this->GetAvailableTypes(CLIPBOARD_TYPE_COPY_PASTE),
143 Contains(ASCIIToUTF16(Clipboard::kMimeTypeHTML)));
129 EXPECT_TRUE(this->clipboard().IsFormatAvailable( 144 EXPECT_TRUE(this->clipboard().IsFormatAvailable(
130 Clipboard::GetHtmlFormatType(), CLIPBOARD_TYPE_COPY_PASTE)); 145 Clipboard::GetHtmlFormatType(), CLIPBOARD_TYPE_COPY_PASTE));
131 uint32 fragment_start; 146 uint32 fragment_start;
132 uint32 fragment_end; 147 uint32 fragment_end;
133 this->clipboard().ReadHTML(CLIPBOARD_TYPE_COPY_PASTE, &markup_result, 148 this->clipboard().ReadHTML(CLIPBOARD_TYPE_COPY_PASTE, &markup_result,
134 &url_result, &fragment_start, &fragment_end); 149 &url_result, &fragment_start, &fragment_end);
135 EXPECT_LE(markup.size(), fragment_end - fragment_start); 150 EXPECT_LE(markup.size(), fragment_end - fragment_start);
136 EXPECT_EQ(markup, 151 EXPECT_EQ(markup,
137 markup_result.substr(fragment_end - markup.size(), markup.size())); 152 markup_result.substr(fragment_end - markup.size(), markup.size()));
138 #if defined(OS_WIN) 153 #if defined(OS_WIN)
139 // TODO(playmobil): It's not clear that non windows clipboards need to support 154 // TODO(playmobil): It's not clear that non windows clipboards need to support
140 // this. 155 // this.
141 EXPECT_EQ(url, url_result); 156 EXPECT_EQ(url, url_result);
142 #endif // defined(OS_WIN) 157 #endif // defined(OS_WIN)
143 } 158 }
144 159
145 TYPED_TEST(ClipboardTest, RTFTest) { 160 TYPED_TEST(ClipboardTest, RTFTest) {
146 std::string rtf = 161 std::string rtf =
147 "{\\rtf1\\ansi{\\fonttbl\\f0\\fswiss Helvetica;}\\f0\\pard\n" 162 "{\\rtf1\\ansi{\\fonttbl\\f0\\fswiss Helvetica;}\\f0\\pard\n"
148 "This is some {\\b bold} text.\\par\n" 163 "This is some {\\b bold} text.\\par\n"
149 "}"; 164 "}";
150 165
151 { 166 {
152 ScopedClipboardWriter clipboard_writer(CLIPBOARD_TYPE_COPY_PASTE); 167 ScopedClipboardWriter clipboard_writer(CLIPBOARD_TYPE_COPY_PASTE);
153 clipboard_writer.WriteRTF(rtf); 168 clipboard_writer.WriteRTF(rtf);
154 } 169 }
155 170
171 EXPECT_THAT(this->GetAvailableTypes(CLIPBOARD_TYPE_COPY_PASTE),
172 Contains(ASCIIToUTF16(Clipboard::kMimeTypeRTF)));
156 EXPECT_TRUE(this->clipboard().IsFormatAvailable(Clipboard::GetRtfFormatType(), 173 EXPECT_TRUE(this->clipboard().IsFormatAvailable(Clipboard::GetRtfFormatType(),
157 CLIPBOARD_TYPE_COPY_PASTE)); 174 CLIPBOARD_TYPE_COPY_PASTE));
158 std::string result; 175 std::string result;
159 this->clipboard().ReadRTF(CLIPBOARD_TYPE_COPY_PASTE, &result); 176 this->clipboard().ReadRTF(CLIPBOARD_TYPE_COPY_PASTE, &result);
160 EXPECT_EQ(rtf, result); 177 EXPECT_EQ(rtf, result);
161 } 178 }
162 179
163 // TODO(dnicoara) Enable test once Ozone implements clipboard support: 180 // TODO(dnicoara) Enable test once Ozone implements clipboard support:
164 // crbug.com/361707 181 // crbug.com/361707
165 #if defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(USE_OZONE) 182 #if defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(USE_OZONE)
166 TYPED_TEST(ClipboardTest, MultipleBufferTest) { 183 TYPED_TEST(ClipboardTest, MultipleBufferTest) {
167 base::string16 text(ASCIIToUTF16("Standard")), text_result; 184 base::string16 text(ASCIIToUTF16("Standard")), text_result;
168 base::string16 markup(ASCIIToUTF16("<string>Selection</string>")); 185 base::string16 markup(ASCIIToUTF16("<string>Selection</string>"));
169 std::string url("http://www.example.com/"), url_result; 186 std::string url("http://www.example.com/"), url_result;
170 187
171 { 188 {
172 ScopedClipboardWriter clipboard_writer(CLIPBOARD_TYPE_COPY_PASTE); 189 ScopedClipboardWriter clipboard_writer(CLIPBOARD_TYPE_COPY_PASTE);
173 clipboard_writer.WriteText(text); 190 clipboard_writer.WriteText(text);
174 } 191 }
175 192
176 { 193 {
177 ScopedClipboardWriter clipboard_writer(CLIPBOARD_TYPE_SELECTION); 194 ScopedClipboardWriter clipboard_writer(CLIPBOARD_TYPE_SELECTION);
178 clipboard_writer.WriteHTML(markup, url); 195 clipboard_writer.WriteHTML(markup, url);
179 } 196 }
180 197
198 EXPECT_THAT(this->GetAvailableTypes(CLIPBOARD_TYPE_COPY_PASTE),
199 Contains(ASCIIToUTF16(Clipboard::kMimeTypeText)));
200 EXPECT_THAT(this->GetAvailableTypes(CLIPBOARD_TYPE_SELECTION),
201 Contains(ASCIIToUTF16(Clipboard::kMimeTypeHTML)));
202
181 EXPECT_TRUE(this->clipboard().IsFormatAvailable( 203 EXPECT_TRUE(this->clipboard().IsFormatAvailable(
182 Clipboard::GetPlainTextFormatType(), CLIPBOARD_TYPE_COPY_PASTE)); 204 Clipboard::GetPlainTextFormatType(), CLIPBOARD_TYPE_COPY_PASTE));
183 EXPECT_FALSE(this->clipboard().IsFormatAvailable( 205 EXPECT_FALSE(this->clipboard().IsFormatAvailable(
184 Clipboard::GetPlainTextFormatType(), CLIPBOARD_TYPE_SELECTION)); 206 Clipboard::GetPlainTextFormatType(), CLIPBOARD_TYPE_SELECTION));
185 207
186 EXPECT_FALSE(this->clipboard().IsFormatAvailable( 208 EXPECT_FALSE(this->clipboard().IsFormatAvailable(
187 Clipboard::GetHtmlFormatType(), CLIPBOARD_TYPE_COPY_PASTE)); 209 Clipboard::GetHtmlFormatType(), CLIPBOARD_TYPE_COPY_PASTE));
188 EXPECT_TRUE(this->clipboard().IsFormatAvailable( 210 EXPECT_TRUE(this->clipboard().IsFormatAvailable(
189 Clipboard::GetHtmlFormatType(), CLIPBOARD_TYPE_SELECTION)); 211 Clipboard::GetHtmlFormatType(), CLIPBOARD_TYPE_SELECTION));
190 212
(...skipping 16 matching lines...) Expand all
207 markup_result; 229 markup_result;
208 std::string url, url_result; 230 std::string url, url_result;
209 base::string16 plain(ASCIIToUTF16("Bye!")), plain_result; 231 base::string16 plain(ASCIIToUTF16("Bye!")), plain_result;
210 232
211 { 233 {
212 ScopedClipboardWriter clipboard_writer(CLIPBOARD_TYPE_COPY_PASTE); 234 ScopedClipboardWriter clipboard_writer(CLIPBOARD_TYPE_COPY_PASTE);
213 clipboard_writer.WriteText(plain); 235 clipboard_writer.WriteText(plain);
214 clipboard_writer.WriteHTML(markup, url); 236 clipboard_writer.WriteHTML(markup, url);
215 } 237 }
216 238
239 EXPECT_THAT(this->GetAvailableTypes(CLIPBOARD_TYPE_COPY_PASTE),
240 Contains(ASCIIToUTF16(Clipboard::kMimeTypeHTML)));
217 EXPECT_TRUE(this->clipboard().IsFormatAvailable( 241 EXPECT_TRUE(this->clipboard().IsFormatAvailable(
218 Clipboard::GetHtmlFormatType(), CLIPBOARD_TYPE_COPY_PASTE)); 242 Clipboard::GetHtmlFormatType(), CLIPBOARD_TYPE_COPY_PASTE));
219 uint32 fragment_start; 243 uint32 fragment_start;
220 uint32 fragment_end; 244 uint32 fragment_end;
221 this->clipboard().ReadHTML(CLIPBOARD_TYPE_COPY_PASTE, &markup_result, 245 this->clipboard().ReadHTML(CLIPBOARD_TYPE_COPY_PASTE, &markup_result,
222 &url_result, &fragment_start, &fragment_end); 246 &url_result, &fragment_start, &fragment_end);
223 EXPECT_LE(markup.size(), fragment_end - fragment_start); 247 EXPECT_LE(markup.size(), fragment_end - fragment_start);
224 EXPECT_EQ(markup, 248 EXPECT_EQ(markup,
225 markup_result.substr(fragment_end - markup.size(), markup.size())); 249 markup_result.substr(fragment_end - markup.size(), markup.size()));
226 #if defined(OS_WIN) 250 #if defined(OS_WIN)
227 // TODO(playmobil): It's not clear that non windows clipboards need to support 251 // TODO(playmobil): It's not clear that non windows clipboards need to support
228 // this. 252 // this.
229 EXPECT_EQ(url, url_result); 253 EXPECT_EQ(url, url_result);
230 #endif // defined(OS_WIN) 254 #endif // defined(OS_WIN)
231 } 255 }
232 256
233 // Some platforms store HTML as UTF-8 internally. Make sure fragment indices are 257 // Some platforms store HTML as UTF-8 internally. Make sure fragment indices are
234 // adjusted appropriately when converting back to UTF-16. 258 // adjusted appropriately when converting back to UTF-16.
235 TYPED_TEST(ClipboardTest, UnicodeHTMLTest) { 259 TYPED_TEST(ClipboardTest, UnicodeHTMLTest) {
236 base::string16 markup(UTF8ToUTF16("<div>A \xc3\xb8 \xe6\xb0\xb4</div>")), 260 base::string16 markup(UTF8ToUTF16("<div>A \xc3\xb8 \xe6\xb0\xb4</div>")),
237 markup_result; 261 markup_result;
238 std::string url, url_result; 262 std::string url, url_result;
239 263
240 { 264 {
241 ScopedClipboardWriter clipboard_writer(CLIPBOARD_TYPE_COPY_PASTE); 265 ScopedClipboardWriter clipboard_writer(CLIPBOARD_TYPE_COPY_PASTE);
242 clipboard_writer.WriteHTML(markup, url); 266 clipboard_writer.WriteHTML(markup, url);
243 } 267 }
244 268
269 EXPECT_THAT(this->GetAvailableTypes(CLIPBOARD_TYPE_COPY_PASTE),
270 Contains(ASCIIToUTF16(Clipboard::kMimeTypeHTML)));
245 EXPECT_TRUE(this->clipboard().IsFormatAvailable( 271 EXPECT_TRUE(this->clipboard().IsFormatAvailable(
246 Clipboard::GetHtmlFormatType(), CLIPBOARD_TYPE_COPY_PASTE)); 272 Clipboard::GetHtmlFormatType(), CLIPBOARD_TYPE_COPY_PASTE));
247 uint32 fragment_start; 273 uint32 fragment_start;
248 uint32 fragment_end; 274 uint32 fragment_end;
249 this->clipboard().ReadHTML(CLIPBOARD_TYPE_COPY_PASTE, &markup_result, 275 this->clipboard().ReadHTML(CLIPBOARD_TYPE_COPY_PASTE, &markup_result,
250 &url_result, &fragment_start, &fragment_end); 276 &url_result, &fragment_start, &fragment_end);
251 EXPECT_LE(markup.size(), fragment_end - fragment_start); 277 EXPECT_LE(markup.size(), fragment_end - fragment_start);
252 EXPECT_EQ(markup, 278 EXPECT_EQ(markup,
253 markup_result.substr(fragment_end - markup.size(), markup.size())); 279 markup_result.substr(fragment_end - markup.size(), markup.size()));
254 #if defined(OS_WIN) 280 #if defined(OS_WIN)
(...skipping 25 matching lines...) Expand all
280 base::string16 markup(ASCIIToUTF16("<strong>Hi!</string>")), markup_result; 306 base::string16 markup(ASCIIToUTF16("<strong>Hi!</string>")), markup_result;
281 std::string url("http://www.example.com/"), url_result; 307 std::string url("http://www.example.com/"), url_result;
282 std::string ascii_text; 308 std::string ascii_text;
283 309
284 { 310 {
285 ScopedClipboardWriter clipboard_writer(CLIPBOARD_TYPE_COPY_PASTE); 311 ScopedClipboardWriter clipboard_writer(CLIPBOARD_TYPE_COPY_PASTE);
286 clipboard_writer.WriteHTML(markup, url); 312 clipboard_writer.WriteHTML(markup, url);
287 clipboard_writer.WriteText(text); 313 clipboard_writer.WriteText(text);
288 } 314 }
289 315
316 EXPECT_THAT(this->GetAvailableTypes(CLIPBOARD_TYPE_COPY_PASTE),
317 Contains(ASCIIToUTF16(Clipboard::kMimeTypeHTML)));
318 EXPECT_THAT(this->GetAvailableTypes(CLIPBOARD_TYPE_COPY_PASTE),
319 Contains(ASCIIToUTF16(Clipboard::kMimeTypeText)));
290 EXPECT_TRUE(this->clipboard().IsFormatAvailable( 320 EXPECT_TRUE(this->clipboard().IsFormatAvailable(
291 Clipboard::GetHtmlFormatType(), CLIPBOARD_TYPE_COPY_PASTE)); 321 Clipboard::GetHtmlFormatType(), CLIPBOARD_TYPE_COPY_PASTE));
292 EXPECT_TRUE(this->clipboard().IsFormatAvailable( 322 EXPECT_TRUE(this->clipboard().IsFormatAvailable(
293 Clipboard::GetPlainTextWFormatType(), CLIPBOARD_TYPE_COPY_PASTE)); 323 Clipboard::GetPlainTextWFormatType(), CLIPBOARD_TYPE_COPY_PASTE));
294 EXPECT_TRUE(this->clipboard().IsFormatAvailable( 324 EXPECT_TRUE(this->clipboard().IsFormatAvailable(
295 Clipboard::GetPlainTextFormatType(), CLIPBOARD_TYPE_COPY_PASTE)); 325 Clipboard::GetPlainTextFormatType(), CLIPBOARD_TYPE_COPY_PASTE));
296 uint32 fragment_start; 326 uint32 fragment_start;
297 uint32 fragment_end; 327 uint32 fragment_end;
298 this->clipboard().ReadHTML(CLIPBOARD_TYPE_COPY_PASTE, &markup_result, 328 this->clipboard().ReadHTML(CLIPBOARD_TYPE_COPY_PASTE, &markup_result,
299 &url_result, &fragment_start, &fragment_end); 329 &url_result, &fragment_start, &fragment_end);
(...skipping 12 matching lines...) Expand all
312 } 342 }
313 343
314 TYPED_TEST(ClipboardTest, URLTest) { 344 TYPED_TEST(ClipboardTest, URLTest) {
315 base::string16 url(ASCIIToUTF16("http://www.google.com/")); 345 base::string16 url(ASCIIToUTF16("http://www.google.com/"));
316 346
317 { 347 {
318 ScopedClipboardWriter clipboard_writer(CLIPBOARD_TYPE_COPY_PASTE); 348 ScopedClipboardWriter clipboard_writer(CLIPBOARD_TYPE_COPY_PASTE);
319 clipboard_writer.WriteURL(url); 349 clipboard_writer.WriteURL(url);
320 } 350 }
321 351
352 EXPECT_THAT(this->GetAvailableTypes(CLIPBOARD_TYPE_COPY_PASTE),
353 Contains(ASCIIToUTF16(Clipboard::kMimeTypeText)));
322 EXPECT_TRUE(this->clipboard().IsFormatAvailable( 354 EXPECT_TRUE(this->clipboard().IsFormatAvailable(
323 Clipboard::GetPlainTextWFormatType(), CLIPBOARD_TYPE_COPY_PASTE)); 355 Clipboard::GetPlainTextWFormatType(), CLIPBOARD_TYPE_COPY_PASTE));
324 EXPECT_TRUE(this->clipboard().IsFormatAvailable( 356 EXPECT_TRUE(this->clipboard().IsFormatAvailable(
325 Clipboard::GetPlainTextFormatType(), CLIPBOARD_TYPE_COPY_PASTE)); 357 Clipboard::GetPlainTextFormatType(), CLIPBOARD_TYPE_COPY_PASTE));
326 base::string16 text_result; 358 base::string16 text_result;
327 this->clipboard().ReadText(CLIPBOARD_TYPE_COPY_PASTE, &text_result); 359 this->clipboard().ReadText(CLIPBOARD_TYPE_COPY_PASTE, &text_result);
328 360
329 EXPECT_EQ(text_result, url); 361 EXPECT_EQ(text_result, url);
330 362
331 std::string ascii_text; 363 std::string ascii_text;
(...skipping 306 matching lines...) Expand 10 before | Expand all | Expand 10 after
638 ScopedClipboardWriter scw(CLIPBOARD_TYPE_COPY_PASTE); 670 ScopedClipboardWriter scw(CLIPBOARD_TYPE_COPY_PASTE);
639 scw.WritePickledData(base::Pickle(), Clipboard::GetPlainTextFormatType()); 671 scw.WritePickledData(base::Pickle(), Clipboard::GetPlainTextFormatType());
640 } 672 }
641 673
642 TYPED_TEST(ClipboardTest, WriteImageEmptyParams) { 674 TYPED_TEST(ClipboardTest, WriteImageEmptyParams) {
643 ScopedClipboardWriter scw(CLIPBOARD_TYPE_COPY_PASTE); 675 ScopedClipboardWriter scw(CLIPBOARD_TYPE_COPY_PASTE);
644 scw.WriteImage(SkBitmap()); 676 scw.WriteImage(SkBitmap());
645 } 677 }
646 678
647 } // namespace ui 679 } // namespace ui
OLDNEW
« no previous file with comments | « ui/base/clipboard/clipboard_android.cc ('k') | ui/base/test/test_clipboard.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698