// Copyright 2016 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "content/renderer/webclipboard_impl.h" #include "base/strings/utf_string_conversions.h" #include "content/public/browser/web_contents.h" #include "content/public/test/browser_test_utils.h" #include "content/public/test/content_browser_test.h" #include "content/public/test/content_browser_test_utils.h" #include "content/shell/browser/shell.h" namespace content { namespace { class WebClipboardImplTest : public ContentBrowserTest { public: WebClipboardImplTest() = default; ~WebClipboardImplTest() override = default; }; IN_PROC_BROWSER_TEST_F(WebClipboardImplTest, PasteRTF) { BrowserTestClipboardScope clipboard; const std::string rtf_content = "{\\rtf1\\ansi Hello, {\\b world.}}"; clipboard.SetRtf(rtf_content); // paste_listener.html takes RTF from the clipboard and sets the title. NavigateToURL(shell(), GetTestUrl(".", "paste_listener.html")); const base::string16 expected_title = base::UTF8ToUTF16(rtf_content); content::TitleWatcher title_watcher(shell()->web_contents(), expected_title); shell()->web_contents()->Paste(); EXPECT_EQ(expected_title, title_watcher.WaitAndGetTitle()); } } } // namespace content