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

Side by Side Diff: Source/web/tests/WebPluginContainerTest.cpp

Issue 962053003: tests: Use runPendingTasks instead of WebThread::enterRunLoop()/exitRunLoop() (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: . Created 5 years, 9 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 /* 1 /*
2 * Copyright (C) 2012 Google Inc. All rights reserved. 2 * Copyright (C) 2012 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 16 matching lines...) Expand all
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 */ 29 */
30 30
31 #include "config.h" 31 #include "config.h"
32 #include "public/web/WebPluginContainer.h" 32 #include "public/web/WebPluginContainer.h"
33 33
34 #include "core/dom/Element.h" 34 #include "core/dom/Element.h"
35 #include "core/events/KeyboardEvent.h" 35 #include "core/events/KeyboardEvent.h"
36 #include "core/testing/URLTestHelpers.h" 36 #include "core/testing/URLTestHelpers.h"
37 #include "core/testing/UnitTestHelpers.h"
37 #include "platform/PlatformEvent.h" 38 #include "platform/PlatformEvent.h"
38 #include "platform/PlatformKeyboardEvent.h" 39 #include "platform/PlatformKeyboardEvent.h"
39 #include "public/platform/Platform.h" 40 #include "public/platform/Platform.h"
40 #include "public/platform/WebClipboard.h" 41 #include "public/platform/WebClipboard.h"
41 #include "public/platform/WebThread.h" 42 #include "public/platform/WebThread.h"
42 #include "public/platform/WebUnitTestSupport.h" 43 #include "public/platform/WebUnitTestSupport.h"
43 #include "public/web/WebDocument.h" 44 #include "public/web/WebDocument.h"
44 #include "public/web/WebElement.h" 45 #include "public/web/WebElement.h"
45 #include "public/web/WebFrame.h" 46 #include "public/web/WebFrame.h"
46 #include "public/web/WebFrameClient.h" 47 #include "public/web/WebFrameClient.h"
47 #include "public/web/WebPluginParams.h" 48 #include "public/web/WebPluginParams.h"
48 #include "public/web/WebSettings.h" 49 #include "public/web/WebSettings.h"
49 #include "public/web/WebView.h" 50 #include "public/web/WebView.h"
50 #include "web/WebLocalFrameImpl.h" 51 #include "web/WebLocalFrameImpl.h"
51 #include "web/WebPluginContainerImpl.h" 52 #include "web/WebPluginContainerImpl.h"
52 #include "web/WebViewImpl.h" 53 #include "web/WebViewImpl.h"
53 #include "web/tests/FakeWebPlugin.h" 54 #include "web/tests/FakeWebPlugin.h"
54 #include "web/tests/FrameTestHelpers.h" 55 #include "web/tests/FrameTestHelpers.h"
55 #include <gtest/gtest.h> 56 #include <gtest/gtest.h>
56 57
58 using blink::testing::runPendingTasks;
57 using namespace blink; 59 using namespace blink;
58 60
59 namespace { 61 namespace {
60 62
61 class WebPluginContainerTest : public testing::Test { 63 class WebPluginContainerTest : public ::testing::Test {
62 public: 64 public:
63 WebPluginContainerTest() 65 WebPluginContainerTest()
64 : m_baseURL("http://www.test.com/") 66 : m_baseURL("http://www.test.com/")
65 { 67 {
66 } 68 }
67 69
68 virtual void TearDown() 70 virtual void TearDown()
69 { 71 {
70 Platform::current()->unitTestSupport()->unregisterAllMockedURLs(); 72 Platform::current()->unitTestSupport()->unregisterAllMockedURLs();
71 } 73 }
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
104 106
105 TEST_F(WebPluginContainerTest, WindowToLocalPointTest) 107 TEST_F(WebPluginContainerTest, WindowToLocalPointTest)
106 { 108 {
107 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c _str()), WebString::fromUTF8("plugin_container.html")); 109 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c _str()), WebString::fromUTF8("plugin_container.html"));
108 FrameTestHelpers::WebViewHelper webViewHelper; 110 FrameTestHelpers::WebViewHelper webViewHelper;
109 WebView* webView = webViewHelper.initializeAndLoad(m_baseURL + "plugin_conta iner.html", true, new TestPluginWebFrameClient()); 111 WebView* webView = webViewHelper.initializeAndLoad(m_baseURL + "plugin_conta iner.html", true, new TestPluginWebFrameClient());
110 ASSERT(webView); 112 ASSERT(webView);
111 webView->settings()->setPluginsEnabled(true); 113 webView->settings()->setPluginsEnabled(true);
112 webView->resize(WebSize(300, 300)); 114 webView->resize(WebSize(300, 300));
113 webView->layout(); 115 webView->layout();
114 FrameTestHelpers::runPendingTasks(); 116 runPendingTasks();
115 117
116 WebPluginContainer* pluginContainerOne = getWebPluginContainer(webView, WebS tring::fromUTF8("translated-plugin")); 118 WebPluginContainer* pluginContainerOne = getWebPluginContainer(webView, WebS tring::fromUTF8("translated-plugin"));
117 ASSERT(pluginContainerOne); 119 ASSERT(pluginContainerOne);
118 WebPoint point1 = pluginContainerOne->windowToLocalPoint(WebPoint(10, 10)); 120 WebPoint point1 = pluginContainerOne->windowToLocalPoint(WebPoint(10, 10));
119 ASSERT_EQ(0, point1.x); 121 ASSERT_EQ(0, point1.x);
120 ASSERT_EQ(0, point1.y); 122 ASSERT_EQ(0, point1.y);
121 WebPoint point2 = pluginContainerOne->windowToLocalPoint(WebPoint(100, 100)) ; 123 WebPoint point2 = pluginContainerOne->windowToLocalPoint(WebPoint(100, 100)) ;
122 ASSERT_EQ(90, point2.x); 124 ASSERT_EQ(90, point2.x);
123 ASSERT_EQ(90, point2.y); 125 ASSERT_EQ(90, point2.y);
124 126
125 WebPluginContainer* pluginContainerTwo = getWebPluginContainer(webView, WebS tring::fromUTF8("rotated-plugin")); 127 WebPluginContainer* pluginContainerTwo = getWebPluginContainer(webView, WebS tring::fromUTF8("rotated-plugin"));
126 ASSERT(pluginContainerTwo); 128 ASSERT(pluginContainerTwo);
127 WebPoint point3 = pluginContainerTwo->windowToLocalPoint(WebPoint(0, 10)); 129 WebPoint point3 = pluginContainerTwo->windowToLocalPoint(WebPoint(0, 10));
128 ASSERT_EQ(10, point3.x); 130 ASSERT_EQ(10, point3.x);
129 ASSERT_EQ(0, point3.y); 131 ASSERT_EQ(0, point3.y);
130 WebPoint point4 = pluginContainerTwo->windowToLocalPoint(WebPoint(-10, 10)); 132 WebPoint point4 = pluginContainerTwo->windowToLocalPoint(WebPoint(-10, 10));
131 ASSERT_EQ(10, point4.x); 133 ASSERT_EQ(10, point4.x);
132 ASSERT_EQ(10, point4.y); 134 ASSERT_EQ(10, point4.y);
133 } 135 }
134 136
135 TEST_F(WebPluginContainerTest, LocalToWindowPointTest) 137 TEST_F(WebPluginContainerTest, LocalToWindowPointTest)
136 { 138 {
137 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c _str()), WebString::fromUTF8("plugin_container.html")); 139 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c _str()), WebString::fromUTF8("plugin_container.html"));
138 FrameTestHelpers::WebViewHelper webViewHelper; 140 FrameTestHelpers::WebViewHelper webViewHelper;
139 WebView* webView = webViewHelper.initializeAndLoad(m_baseURL + "plugin_conta iner.html", true, new TestPluginWebFrameClient()); 141 WebView* webView = webViewHelper.initializeAndLoad(m_baseURL + "plugin_conta iner.html", true, new TestPluginWebFrameClient());
140 ASSERT(webView); 142 ASSERT(webView);
141 webView->settings()->setPluginsEnabled(true); 143 webView->settings()->setPluginsEnabled(true);
142 webView->resize(WebSize(300, 300)); 144 webView->resize(WebSize(300, 300));
143 webView->layout(); 145 webView->layout();
144 FrameTestHelpers::runPendingTasks(); 146 runPendingTasks();
145 147
146 WebPluginContainer* pluginContainerOne = getWebPluginContainer(webView, WebS tring::fromUTF8("translated-plugin")); 148 WebPluginContainer* pluginContainerOne = getWebPluginContainer(webView, WebS tring::fromUTF8("translated-plugin"));
147 ASSERT(pluginContainerOne); 149 ASSERT(pluginContainerOne);
148 WebPoint point1 = pluginContainerOne->localToWindowPoint(WebPoint(0, 0)); 150 WebPoint point1 = pluginContainerOne->localToWindowPoint(WebPoint(0, 0));
149 ASSERT_EQ(10, point1.x); 151 ASSERT_EQ(10, point1.x);
150 ASSERT_EQ(10, point1.y); 152 ASSERT_EQ(10, point1.y);
151 WebPoint point2 = pluginContainerOne->localToWindowPoint(WebPoint(90, 90)); 153 WebPoint point2 = pluginContainerOne->localToWindowPoint(WebPoint(90, 90));
152 ASSERT_EQ(100, point2.x); 154 ASSERT_EQ(100, point2.x);
153 ASSERT_EQ(100, point2.y); 155 ASSERT_EQ(100, point2.y);
154 156
(...skipping 10 matching lines...) Expand all
165 // Verifies executing the command 'Copy' results in copying to the clipboard. 167 // Verifies executing the command 'Copy' results in copying to the clipboard.
166 TEST_F(WebPluginContainerTest, Copy) 168 TEST_F(WebPluginContainerTest, Copy)
167 { 169 {
168 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c _str()), WebString::fromUTF8("plugin_container.html")); 170 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c _str()), WebString::fromUTF8("plugin_container.html"));
169 FrameTestHelpers::WebViewHelper webViewHelper; 171 FrameTestHelpers::WebViewHelper webViewHelper;
170 WebView* webView = webViewHelper.initializeAndLoad(m_baseURL + "plugin_conta iner.html", true, new TestPluginWebFrameClient()); 172 WebView* webView = webViewHelper.initializeAndLoad(m_baseURL + "plugin_conta iner.html", true, new TestPluginWebFrameClient());
171 ASSERT(webView); 173 ASSERT(webView);
172 webView->settings()->setPluginsEnabled(true); 174 webView->settings()->setPluginsEnabled(true);
173 webView->resize(WebSize(300, 300)); 175 webView->resize(WebSize(300, 300));
174 webView->layout(); 176 webView->layout();
175 FrameTestHelpers::runPendingTasks(); 177 runPendingTasks();
176 178
177 WebElement pluginContainerOneElement = webView->mainFrame()->document().getE lementById(WebString::fromUTF8("translated-plugin")); 179 WebElement pluginContainerOneElement = webView->mainFrame()->document().getE lementById(WebString::fromUTF8("translated-plugin"));
178 EXPECT_TRUE(webView->mainFrame()->executeCommand("Copy", pluginContainerOne Element)); 180 EXPECT_TRUE(webView->mainFrame()->executeCommand("Copy", pluginContainerOne Element));
179 EXPECT_EQ(WebString("x"), Platform::current()->clipboard()->readPlainText(We bClipboard::Buffer())); 181 EXPECT_EQ(WebString("x"), Platform::current()->clipboard()->readPlainText(We bClipboard::Buffer()));
180 } 182 }
181 183
182 // Verifies |Ctrl-C| and |Ctrl-Insert| keyboard events, results in copying to 184 // Verifies |Ctrl-C| and |Ctrl-Insert| keyboard events, results in copying to
183 // the clipboard. 185 // the clipboard.
184 TEST_F(WebPluginContainerTest, CopyInsertKeyboardEventsTest) 186 TEST_F(WebPluginContainerTest, CopyInsertKeyboardEventsTest)
185 { 187 {
186 URLTestHelpers::registerMockedURLFromBaseURL( 188 URLTestHelpers::registerMockedURLFromBaseURL(
187 WebString::fromUTF8(m_baseURL.c_str()), 189 WebString::fromUTF8(m_baseURL.c_str()),
188 WebString::fromUTF8("plugin_container.html")); 190 WebString::fromUTF8("plugin_container.html"));
189 FrameTestHelpers::WebViewHelper webViewHelper; 191 FrameTestHelpers::WebViewHelper webViewHelper;
190 WebView* webView = webViewHelper.initializeAndLoad(m_baseURL + "plugin_conta iner.html", true, new TestPluginWebFrameClient()); 192 WebView* webView = webViewHelper.initializeAndLoad(m_baseURL + "plugin_conta iner.html", true, new TestPluginWebFrameClient());
191 ASSERT(webView); 193 ASSERT(webView);
192 webView->settings()->setPluginsEnabled(true); 194 webView->settings()->setPluginsEnabled(true);
193 webView->resize(WebSize(300, 300)); 195 webView->resize(WebSize(300, 300));
194 webView->layout(); 196 webView->layout();
195 FrameTestHelpers::runPendingTasks(); 197 runPendingTasks();
196 198
197 WebElement pluginContainerOneElement = webView->mainFrame()->document().getE lementById(WebString::fromUTF8("translated-plugin")); 199 WebElement pluginContainerOneElement = webView->mainFrame()->document().getE lementById(WebString::fromUTF8("translated-plugin"));
198 PlatformEvent::Modifiers modifierKey = PlatformEvent::CtrlKey; 200 PlatformEvent::Modifiers modifierKey = PlatformEvent::CtrlKey;
199 #if OS(MACOSX) 201 #if OS(MACOSX)
200 modifierKey = PlatformEvent::MetaKey; 202 modifierKey = PlatformEvent::MetaKey;
201 #endif 203 #endif
202 PlatformKeyboardEvent platformKeyboardEventC(PlatformEvent::RawKeyDown, "", "", "67", "", 67, 0, false, false, false, modifierKey, 0.0); 204 PlatformKeyboardEvent platformKeyboardEventC(PlatformEvent::RawKeyDown, "", "", "67", "", 67, 0, false, false, false, modifierKey, 0.0);
203 RefPtrWillBeRawPtr<KeyboardEvent> keyEventC = KeyboardEvent::create(platform KeyboardEventC, 0); 205 RefPtrWillBeRawPtr<KeyboardEvent> keyEventC = KeyboardEvent::create(platform KeyboardEventC, 0);
204 ((WebPluginContainerImpl*)(pluginContainerOneElement.pluginContainer()))->ha ndleEvent(keyEventC.get()); 206 ((WebPluginContainerImpl*)(pluginContainerOneElement.pluginContainer()))->ha ndleEvent(keyEventC.get());
205 EXPECT_EQ(WebString("x"), Platform::current()->clipboard()->readPlainText(We bClipboard::Buffer())); 207 EXPECT_EQ(WebString("x"), Platform::current()->clipboard()->readPlainText(We bClipboard::Buffer()));
206 208
207 // Clearing |Clipboard::Buffer()|. 209 // Clearing |Clipboard::Buffer()|.
208 Platform::current()->clipboard()->writePlainText(WebString("")); 210 Platform::current()->clipboard()->writePlainText(WebString(""));
209 EXPECT_EQ(WebString(""), Platform::current()->clipboard()->readPlainText(Web Clipboard::Buffer())); 211 EXPECT_EQ(WebString(""), Platform::current()->clipboard()->readPlainText(Web Clipboard::Buffer()));
210 212
211 PlatformKeyboardEvent platformKeyboardEventInsert(PlatformEvent::RawKeyDown, "", "", "45", "", 45, 0, false, false, false, modifierKey, 0.0); 213 PlatformKeyboardEvent platformKeyboardEventInsert(PlatformEvent::RawKeyDown, "", "", "45", "", 45, 0, false, false, false, modifierKey, 0.0);
212 RefPtrWillBeRawPtr<KeyboardEvent> keyEventInsert = KeyboardEvent::create(pla tformKeyboardEventInsert, 0); 214 RefPtrWillBeRawPtr<KeyboardEvent> keyEventInsert = KeyboardEvent::create(pla tformKeyboardEventInsert, 0);
213 ((WebPluginContainerImpl*)(pluginContainerOneElement.pluginContainer()))->ha ndleEvent(keyEventInsert.get()); 215 ((WebPluginContainerImpl*)(pluginContainerOneElement.pluginContainer()))->ha ndleEvent(keyEventInsert.get());
214 EXPECT_EQ(WebString("x"), Platform::current()->clipboard()->readPlainText(We bClipboard::Buffer())); 216 EXPECT_EQ(WebString("x"), Platform::current()->clipboard()->readPlainText(We bClipboard::Buffer()));
215 } 217 }
216 } 218 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698