| Index: chrome/browser/ui/cocoa/omnibox/omnibox_view_mac_browsertest.mm
|
| diff --git a/chrome/browser/ui/cocoa/omnibox/omnibox_view_mac_browsertest.mm b/chrome/browser/ui/cocoa/omnibox/omnibox_view_mac_browsertest.mm
|
| index 03d3c5ace2d481372468d6103d377894b33c54fb..e180f6495eff423c2b734fe3d1c3f920ddafec82 100644
|
| --- a/chrome/browser/ui/cocoa/omnibox/omnibox_view_mac_browsertest.mm
|
| +++ b/chrome/browser/ui/cocoa/omnibox/omnibox_view_mac_browsertest.mm
|
| @@ -4,11 +4,14 @@
|
|
|
| #import "chrome/browser/ui/cocoa/omnibox/omnibox_view_mac.h"
|
|
|
| +#include "base/strings/sys_string_conversions.h"
|
| +#include "base/strings/utf_string_conversions.h"
|
| #include "chrome/browser/ui/browser.h"
|
| #include "chrome/browser/ui/browser_window.h"
|
| #import "chrome/browser/ui/cocoa/location_bar/autocomplete_text_field_cell.h"
|
| #include "chrome/browser/ui/location_bar/location_bar.h"
|
| #include "chrome/test/base/in_process_browser_test.h"
|
| +#include "ui/base/clipboard/clipboard_util_mac.h"
|
|
|
| class OmniboxViewMacBrowserTest : public InProcessBrowserTest {
|
| public:
|
| @@ -56,3 +59,37 @@ IN_PROC_BROWSER_TEST_F(OmniboxViewMacBrowserTest, MouseDownCaretVisibility) {
|
| GetOmnibox()->OnMouseDown(0);
|
| EXPECT_TRUE(GetOmnibox()->model()->is_caret_visible());
|
| }
|
| +
|
| +// Verify that copying text from the omnibox into the pasteboard works.
|
| +IN_PROC_BROWSER_TEST_F(OmniboxViewMacBrowserTest, CopyToPasteboard) {
|
| + std::string text = "orange yam";
|
| + NSString* pboard_type = @"com.google.chrome.asdf";
|
| +
|
| + scoped_refptr<ui::UniquePasteboard> pasteboard = new ui::UniquePasteboard;
|
| + [[GetOmnibox()->field() currentEditor]
|
| + setString:base::SysUTF8ToNSString(text)];
|
| + [[GetOmnibox()->field() currentEditor]
|
| + setSelectedRange:NSMakeRange(0, text.size())];
|
| +
|
| + GetOmnibox()->model()->SetUserText(base::UTF8ToUTF16(text));
|
| + GetOmnibox()->CopyToPasteboard(pasteboard->get());
|
| +
|
| + NSString* pasteboard_string =
|
| + [pasteboard->get() stringForType:NSPasteboardTypeString];
|
| + EXPECT_EQ(text, pasteboard_string.UTF8String);
|
| +
|
| + // Clear the pasteboard and set some new contents, using a custom Pboard type.
|
| + [pasteboard->get() clearContents];
|
| + [pasteboard->get()
|
| + setString:@"bad result"
|
| + forType:ui::ClipboardUtil::UTIForPasteboardType(pboard_type)];
|
| + GetOmnibox()->CopyToPasteboard(pasteboard->get());
|
| +
|
| + // Check that the custom Pboard type is no longer present.
|
| + EXPECT_FALSE([pasteboard->get()
|
| + stringForType:ui::ClipboardUtil::UTIForPasteboardType(pboard_type)]);
|
| +
|
| + // Check that the contents of the omnibox were copied to the clipboard.
|
| + pasteboard_string = [pasteboard->get() stringForType:NSPasteboardTypeString];
|
| + EXPECT_EQ(text, pasteboard_string.UTF8String);
|
| +}
|
|
|