| // Copyright 2023 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "ui/base/clipboard/clipboard_util_win.h" |
| |
| #include "testing/platform_test.h" |
| |
| namespace ui { |
| namespace { |
| |
| using ClipboardUtilWinTest = PlatformTest; |
| |
| TEST_F(ClipboardUtilWinTest, EmptyHtmlToCFHtml) { |
| const std::string result_cfhtml = |
| clipboard_util::HtmlToCFHtml(std::string(), "www.example.com"); |
| EXPECT_TRUE(result_cfhtml.empty()); |
| EXPECT_TRUE(result_cfhtml.empty()); |
| } |
| |
| TEST_F(ClipboardUtilWinTest, ConversionFromWellFormedHtmlToCFHtml) { |
| const std::string well_formed_html = |
| "<html><head><style>p {color:blue}</style></head><body><p>Hello " |
| "World</p></body></html>"; |
| const std::string url = "www.example.com"; |
| const std::string expected_cfhtml = |
| "Version:0.9\r\n" |
| "StartHTML:0000000132\r\n" |
| "EndHTML:0000000290\r\n" |
| "StartFragment:0000000168\r\n" |
| "EndFragment:0000000254\r\n" |
| "SourceURL:" + |
| url + |
| "\r\n" |
| "<html>\r\n" |
| "<body>\r\n" |
| "<!--StartFragment-->" + |
| well_formed_html + "<!--EndFragment-->" + "\r\n</body>\r\n</html>"; |
| const std::string actual_cfhtml = |
| clipboard_util::HtmlToCFHtml(well_formed_html, url); |
| EXPECT_EQ(expected_cfhtml, actual_cfhtml); |
| } |
| |
| } // namespace |
| } // namespace ui |