| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "build/build_config.h" | 5 #include "build/build_config.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
| 10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
| (...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 136 clipboard.ReadHTML(Clipboard::BUFFER_STANDARD, &markup_result, &url_result, | 136 clipboard.ReadHTML(Clipboard::BUFFER_STANDARD, &markup_result, &url_result, |
| 137 &ignored, &ignored); | 137 &ignored, &ignored); |
| 138 EXPECT_PRED2(MarkupMatches, markup, markup_result); | 138 EXPECT_PRED2(MarkupMatches, markup, markup_result); |
| 139 #if defined(OS_WIN) | 139 #if defined(OS_WIN) |
| 140 // TODO(playmobil): It's not clear that non windows clipboards need to support | 140 // TODO(playmobil): It's not clear that non windows clipboards need to support |
| 141 // this. | 141 // this. |
| 142 EXPECT_EQ(url, url_result); | 142 EXPECT_EQ(url, url_result); |
| 143 #endif // defined(OS_WIN) | 143 #endif // defined(OS_WIN) |
| 144 } | 144 } |
| 145 | 145 |
| 146 #if defined(OS_WIN) |
| 147 TEST_F(ClipboardTest, UniodeHTMLTest) { |
| 148 Clipboard clipboard; |
| 149 |
| 150 string16 markup(UTF8ToUTF16("<div>A \xc3\xb8 \xe6\xb0\xb4</div>")), |
| 151 markup_result; |
| 152 std::string url, url_result; |
| 153 |
| 154 { |
| 155 ScopedClipboardWriter clipboard_writer(&clipboard); |
| 156 clipboard_writer.WriteHTML(markup, url); |
| 157 } |
| 158 |
| 159 EXPECT_TRUE(clipboard.IsFormatAvailable(Clipboard::GetHtmlFormatType(), |
| 160 Clipboard::BUFFER_STANDARD)); |
| 161 uint32 fragment_start; |
| 162 uint32 fragment_end; |
| 163 clipboard.ReadHTML(Clipboard::BUFFER_STANDARD, &markup_result, &url_result, |
| 164 &fragment_start, &fragment_end); |
| 165 EXPECT_PRED2(MarkupMatches, markup, markup_result); |
| 166 EXPECT_EQ(url, url_result); |
| 167 // Make sure that fragment indices were adjusted when converting. |
| 168 EXPECT_EQ(36, fragment_start); |
| 169 EXPECT_EQ(56, fragment_end); |
| 170 } |
| 171 #endif // defined(OS_WIN) |
| 172 |
| 146 #if defined(TOOLKIT_USES_GTK) | 173 #if defined(TOOLKIT_USES_GTK) |
| 147 // Regression test for crbug.com/56298 (pasting empty HTML crashes Linux). | 174 // Regression test for crbug.com/56298 (pasting empty HTML crashes Linux). |
| 148 TEST_F(ClipboardTest, EmptyHTMLTest) { | 175 TEST_F(ClipboardTest, EmptyHTMLTest) { |
| 149 Clipboard clipboard; | 176 Clipboard clipboard; |
| 150 // ScopedClipboardWriter doesn't let us write empty data to the clipboard. | 177 // ScopedClipboardWriter doesn't let us write empty data to the clipboard. |
| 151 clipboard.clipboard_data_ = new Clipboard::TargetMap(); | 178 clipboard.clipboard_data_ = new Clipboard::TargetMap(); |
| 152 // The 1 is so the compiler doesn't warn about allocating an empty array. | 179 // The 1 is so the compiler doesn't warn about allocating an empty array. |
| 153 char* empty = new char[1]; | 180 char* empty = new char[1]; |
| 154 clipboard.InsertMapping("text/html", empty, 0U); | 181 clipboard.InsertMapping("text/html", empty, 0U); |
| 155 clipboard.SetGtkClipboard(); | 182 clipboard.SetGtkClipboard(); |
| (...skipping 388 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 544 writer.WriteBookmark(UTF8ToUTF16("foo"), "bar"); | 571 writer.WriteBookmark(UTF8ToUTF16("foo"), "bar"); |
| 545 writer.WriteHyperlink(ASCIIToUTF16("foo"), "bar"); | 572 writer.WriteHyperlink(ASCIIToUTF16("foo"), "bar"); |
| 546 writer.WriteWebSmartPaste(); | 573 writer.WriteWebSmartPaste(); |
| 547 // Left out: WriteFile, WriteFiles, WriteBitmapFromPixels, WritePickledData. | 574 // Left out: WriteFile, WriteFiles, WriteBitmapFromPixels, WritePickledData. |
| 548 } | 575 } |
| 549 | 576 |
| 550 // Passes if we don't crash. | 577 // Passes if we don't crash. |
| 551 } | 578 } |
| 552 | 579 |
| 553 } // namespace ui | 580 } // namespace ui |
| OLD | NEW |