Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(62)

Side by Side Diff: chrome/browser/ui/omnibox/omnibox_view_unittest.cc

Issue 10911074: Change how ui::Clipboard is accessed so there's only one per thread. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: views_delegate.h deletion Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "chrome/browser/ui/omnibox/omnibox_view.h" 5 #include "chrome/browser/ui/omnibox/omnibox_view.h"
6 #include "base/message_loop.h" 6 #include "base/message_loop.h"
7 #include "base/string16.h" 7 #include "base/string16.h"
8 #include "base/string_util.h" 8 #include "base/string_util.h"
9 #include "base/utf_string_conversions.h" 9 #include "base/utf_string_conversions.h"
10 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/gtest/include/gtest/gtest.h"
(...skipping 22 matching lines...) Expand all
33 "alert(0)" // Single strip unsafe. 33 "alert(0)" // Single strip unsafe.
34 }; 34 };
35 35
36 for (size_t i = 0; i < arraysize(urls); i++) { 36 for (size_t i = 0; i < arraysize(urls); i++) {
37 EXPECT_EQ(ASCIIToUTF16(expecteds[i]), 37 EXPECT_EQ(ASCIIToUTF16(expecteds[i]),
38 OmniboxView::StripJavascriptSchemas(ASCIIToUTF16(urls[i]))); 38 OmniboxView::StripJavascriptSchemas(ASCIIToUTF16(urls[i])));
39 } 39 }
40 } 40 }
41 41
42 TEST_F(OmniboxViewTest, GetClipboardText) { 42 TEST_F(OmniboxViewTest, GetClipboardText) {
43 ui::Clipboard clipboard; 43 ui::Clipboard* clipboard = ui::Clipboard::GetForCurrentThread();
44 44
45 const string16 kPlainText(ASCIIToUTF16("test text")); 45 const string16 kPlainText(ASCIIToUTF16("test text"));
46 const std::string kURL("http://www.example.com/"); 46 const std::string kURL("http://www.example.com/");
47 47
48 // Can we pull straight text off the clipboard? 48 // Can we pull straight text off the clipboard?
49 { 49 {
50 ui::ScopedClipboardWriter clipboard_writer(&clipboard, 50 ui::ScopedClipboardWriter clipboard_writer(clipboard,
51 ui::Clipboard::BUFFER_STANDARD); 51 ui::Clipboard::BUFFER_STANDARD);
52 clipboard_writer.WriteText(kPlainText); 52 clipboard_writer.WriteText(kPlainText);
53 } 53 }
54 EXPECT_EQ(kPlainText, OmniboxView::GetClipboardText()); 54 EXPECT_EQ(kPlainText, OmniboxView::GetClipboardText());
55 55
56 // TODO(shess): Aura hits a DCHECK() at CommitToClipboard() if 56 // TODO(shess): Aura hits a DCHECK() at CommitToClipboard() if
57 // ObjectMap is empty. http://crbug.com/133848 57 // ObjectMap is empty. http://crbug.com/133848
58 #if !defined(USE_AURA) 58 #if !defined(USE_AURA)
59 // Does an empty clipboard get empty text? 59 // Does an empty clipboard get empty text?
60 clipboard.WriteObjects(ui::Clipboard::BUFFER_STANDARD, 60 clipboard->WriteObjects(ui::Clipboard::BUFFER_STANDARD,
61 ui::Clipboard::ObjectMap()); 61 ui::Clipboard::ObjectMap());
62 EXPECT_EQ(string16(), OmniboxView::GetClipboardText()); 62 EXPECT_EQ(string16(), OmniboxView::GetClipboardText());
63 #endif 63 #endif
64 64
65 // Bookmark clipboard apparently not supported on Linux. 65 // Bookmark clipboard apparently not supported on Linux.
66 // See TODO on ClipboardText.BookmarkTest. 66 // See TODO on ClipboardText.BookmarkTest.
67 #if !defined(OS_POSIX) || defined(OS_MACOSX) 67 #if !defined(OS_POSIX) || defined(OS_MACOSX)
68 const string16 kTitle(ASCIIToUTF16("The Example Company")); 68 const string16 kTitle(ASCIIToUTF16("The Example Company"));
69 // Can we pull a bookmark off the clipboard? 69 // Can we pull a bookmark off the clipboard?
70 { 70 {
71 ui::ScopedClipboardWriter clipboard_writer(&clipboard, 71 ui::ScopedClipboardWriter clipboard_writer(clipboard,
72 ui::Clipboard::BUFFER_STANDARD); 72 ui::Clipboard::BUFFER_STANDARD);
73 clipboard_writer.WriteBookmark(kTitle, kURL); 73 clipboard_writer.WriteBookmark(kTitle, kURL);
74 } 74 }
75 EXPECT_EQ(ASCIIToUTF16(kURL), OmniboxView::GetClipboardText()); 75 EXPECT_EQ(ASCIIToUTF16(kURL), OmniboxView::GetClipboardText());
76 76
77 // Do we pull text in preference to a bookmark? 77 // Do we pull text in preference to a bookmark?
78 { 78 {
79 ui::ScopedClipboardWriter clipboard_writer(&clipboard, 79 ui::ScopedClipboardWriter clipboard_writer(clipboard,
80 ui::Clipboard::BUFFER_STANDARD); 80 ui::Clipboard::BUFFER_STANDARD);
81 clipboard_writer.WriteText(kPlainText); 81 clipboard_writer.WriteText(kPlainText);
82 clipboard_writer.WriteBookmark(kTitle, kURL); 82 clipboard_writer.WriteBookmark(kTitle, kURL);
83 } 83 }
84 EXPECT_EQ(kPlainText, OmniboxView::GetClipboardText()); 84 EXPECT_EQ(kPlainText, OmniboxView::GetClipboardText());
85 #endif 85 #endif
86 86
87 // Do we get nothing if there is neither text nor a bookmark? 87 // Do we get nothing if there is neither text nor a bookmark?
88 { 88 {
89 const string16 kMarkup(ASCIIToUTF16("<strong>Hi!</string>")); 89 const string16 kMarkup(ASCIIToUTF16("<strong>Hi!</string>"));
90 ui::ScopedClipboardWriter clipboard_writer(&clipboard, 90 ui::ScopedClipboardWriter clipboard_writer(clipboard,
91 ui::Clipboard::BUFFER_STANDARD); 91 ui::Clipboard::BUFFER_STANDARD);
92 clipboard_writer.WriteHTML(kMarkup, kURL); 92 clipboard_writer.WriteHTML(kMarkup, kURL);
93 } 93 }
94 EXPECT_TRUE(OmniboxView::GetClipboardText().empty()); 94 EXPECT_TRUE(OmniboxView::GetClipboardText().empty());
95 95
96 // Broken URL has newlines stripped. 96 // Broken URL has newlines stripped.
97 { 97 {
98 const string16 kWrappedURL(ASCIIToUTF16( 98 const string16 kWrappedURL(ASCIIToUTF16(
99 "http://www.chromium.org/developers/testing/chromium-\n" 99 "http://www.chromium.org/developers/testing/chromium-\n"
100 "build-infrastructure/tour-of-the-chromium-buildbot")); 100 "build-infrastructure/tour-of-the-chromium-buildbot"));
101 ui::ScopedClipboardWriter clipboard_writer(&clipboard, 101 ui::ScopedClipboardWriter clipboard_writer(clipboard,
102 ui::Clipboard::BUFFER_STANDARD); 102 ui::Clipboard::BUFFER_STANDARD);
103 clipboard_writer.WriteText(kWrappedURL); 103 clipboard_writer.WriteText(kWrappedURL);
104 } 104 }
105 105
106 const string16 kFixedURL(ASCIIToUTF16( 106 const string16 kFixedURL(ASCIIToUTF16(
107 "http://www.chromium.org/developers/testing/chromium-" 107 "http://www.chromium.org/developers/testing/chromium-"
108 "build-infrastructure/tour-of-the-chromium-buildbot")); 108 "build-infrastructure/tour-of-the-chromium-buildbot"));
109 EXPECT_EQ(kFixedURL, OmniboxView::GetClipboardText()); 109 EXPECT_EQ(kFixedURL, OmniboxView::GetClipboardText());
110 110
111 // Multi-line address is converted to a single-line address. 111 // Multi-line address is converted to a single-line address.
112 { 112 {
113 const string16 kWrappedAddress(ASCIIToUTF16( 113 const string16 kWrappedAddress(ASCIIToUTF16(
114 "1600 Amphitheatre Parkway\nMountain View, CA")); 114 "1600 Amphitheatre Parkway\nMountain View, CA"));
115 ui::ScopedClipboardWriter clipboard_writer(&clipboard, 115 ui::ScopedClipboardWriter clipboard_writer(clipboard,
116 ui::Clipboard::BUFFER_STANDARD); 116 ui::Clipboard::BUFFER_STANDARD);
117 clipboard_writer.WriteText(kWrappedAddress); 117 clipboard_writer.WriteText(kWrappedAddress);
118 } 118 }
119 119
120 const string16 kFixedAddress(ASCIIToUTF16( 120 const string16 kFixedAddress(ASCIIToUTF16(
121 "1600 Amphitheatre Parkway Mountain View, CA")); 121 "1600 Amphitheatre Parkway Mountain View, CA"));
122 EXPECT_EQ(kFixedAddress, OmniboxView::GetClipboardText()); 122 EXPECT_EQ(kFixedAddress, OmniboxView::GetClipboardText());
123 } 123 }
124 124
125 } // namespace 125 } // namespace
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698