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 0d40dfffd3f11686dc3159d9696722e201acd17a..5b9525dede6a4f550f42abf5ad44ca5eb356ce97 100644 |
--- a/chrome/browser/ui/cocoa/omnibox/omnibox_view_mac_browsertest.mm |
+++ b/chrome/browser/ui/cocoa/omnibox/omnibox_view_mac_browsertest.mm |
@@ -94,3 +94,22 @@ IN_PROC_BROWSER_TEST_F(OmniboxViewMacBrowserTest, CopyToPasteboard) { |
pasteboard_string = [pasteboard->get() stringForType:NSPasteboardTypeString]; |
EXPECT_EQ(text, pasteboard_string.UTF8String); |
} |
+ |
+// Verify that copying text from the omnibox into the pasteboard works with |
+// a selection that begins on a combining character. |
+IN_PROC_BROWSER_TEST_F(OmniboxViewMacBrowserTest, CopyToPasteboardDiacritic) { |
+ base::string16 text = base::UTF8ToUTF16("สวัสดี"); |
+ |
+ scoped_refptr<ui::UniquePasteboard> pasteboard = new ui::UniquePasteboard; |
+ [[GetOmnibox()->field() currentEditor] |
+ setString:base::SysUTF16ToNSString(text)]; |
+ [[GetOmnibox()->field() currentEditor] |
+ setSelectedRange:NSMakeRange(2, text.size() - 2)]; |
+ |
+ GetOmnibox()->model()->SetUserText(text); |
+ GetOmnibox()->CopyToPasteboard(pasteboard->get()); |
+ |
+ NSString* pasteboard_string = |
+ [pasteboard->get() stringForType:NSPasteboardTypeString]; |
+ EXPECT_EQ(text.substr(2, 4), base::SysNSStringToUTF16(pasteboard_string)); |
+} |