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

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

Issue 1007503003: Fixed key event context menu and added tests for coordinate cleanups (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Fixed typo in expectation Created 5 years, 8 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
« no previous file with comments | « Source/web/tests/WebFrameTest.cpp ('k') | Source/web/tests/data/canvas-copy-image.html » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2011, 2012 Google Inc. All rights reserved. 2 * Copyright (C) 2011, 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 224 matching lines...) Expand 10 before | Expand all | Expand 10 after
235 std::string m_baseURL; 235 std::string m_baseURL;
236 FrameTestHelpers::WebViewHelper m_webViewHelper; 236 FrameTestHelpers::WebViewHelper m_webViewHelper;
237 }; 237 };
238 238
239 TEST_F(WebViewTest, SaveImageAt) 239 TEST_F(WebViewTest, SaveImageAt)
240 { 240 {
241 SaveImageFromDataURLWebViewClient client; 241 SaveImageFromDataURLWebViewClient client;
242 242
243 std::string url = m_baseURL + "image-with-data-url.html"; 243 std::string url = m_baseURL + "image-with-data-url.html";
244 URLTestHelpers::registerMockedURLLoad(toKURL(url), "image-with-data-url.html "); 244 URLTestHelpers::registerMockedURLLoad(toKURL(url), "image-with-data-url.html ");
245 WebView* webView = m_webViewHelper.initializeAndLoad(url, true, 0, &client); 245 WebViewImpl* webView = m_webViewHelper.initializeAndLoad(url, true, 0, &clie nt);
246 webView->resize(WebSize(400, 400)); 246 webView->resize(WebSize(400, 400));
247 webView->layout();
247 248
248 client.reset(); 249 client.reset();
249 webView->saveImageAt(WebPoint(1, 1)); 250 webView->saveImageAt(WebPoint(1, 1));
250 EXPECT_EQ(WebString::fromUTF8("data:image/gif;base64" 251 EXPECT_EQ(WebString::fromUTF8("data:image/gif;base64"
251 ",R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs="), client.result()); 252 ",R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs="), client.result());
252 253
253 client.reset(); 254 client.reset();
254 webView->saveImageAt(WebPoint(1, 2)); 255 webView->saveImageAt(WebPoint(1, 2));
255 EXPECT_EQ(WebString(), client.result()); 256 EXPECT_EQ(WebString(), client.result());
256 257
258 webView->setPageScaleFactor(4);
259 webView->setPinchViewportOffset(WebFloatPoint(1, 1));
260
261 client.reset();
262 webView->saveImageAt(WebPoint(3, 3));
263 EXPECT_EQ(WebString::fromUTF8("data:image/gif;base64"
264 ",R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs="), client.result());
265
257 m_webViewHelper.reset(); // Explicitly reset to break dependency on locally scoped client. 266 m_webViewHelper.reset(); // Explicitly reset to break dependency on locally scoped client.
258 }; 267 };
259 268
260 TEST_F(WebViewTest, CopyImageAt) 269 TEST_F(WebViewTest, CopyImageAt)
261 { 270 {
262 std::string url = m_baseURL + "canvas-copy-image.html"; 271 std::string url = m_baseURL + "canvas-copy-image.html";
263 URLTestHelpers::registerMockedURLLoad(toKURL(url), "canvas-copy-image.html") ; 272 URLTestHelpers::registerMockedURLLoad(toKURL(url), "canvas-copy-image.html") ;
264 WebView* webView = m_webViewHelper.initializeAndLoad(url, true, 0); 273 WebView* webView = m_webViewHelper.initializeAndLoad(url, true, 0);
265 webView->resize(WebSize(400, 400)); 274 webView->resize(WebSize(400, 400));
275
276 uint64_t sequence = Platform::current()->clipboard()->sequenceNumber(WebClip board::BufferStandard);
277
266 webView->copyImageAt(WebPoint(50, 50)); 278 webView->copyImageAt(WebPoint(50, 50));
267 279
280 EXPECT_NE(sequence, Platform::current()->clipboard()->sequenceNumber(WebClip board::BufferStandard));
281
268 WebData data = Platform::current()->clipboard()->readImage(WebClipboard::Buf fer()); 282 WebData data = Platform::current()->clipboard()->readImage(WebClipboard::Buf fer());
269 WebImage image = WebImage::fromData(data, WebSize()); 283 WebImage image = WebImage::fromData(data, WebSize());
270 284
285 SkAutoLockPixels autoLock(image.getSkBitmap());
286 EXPECT_EQ(SkColorSetARGB(255, 255, 0, 0), image.getSkBitmap().getColor(0, 0) );
287 };
288
289 TEST_F(WebViewTest, CopyImageAtWithPinchZoom)
290 {
291 std::string url = m_baseURL + "canvas-copy-image.html";
292 URLTestHelpers::registerMockedURLLoad(toKURL(url), "canvas-copy-image.html") ;
293 WebViewImpl* webView = m_webViewHelper.initializeAndLoad(url, true, 0);
294 webView->resize(WebSize(400, 400));
295 webView->layout();
296 webView->setPageScaleFactor(2);
297 webView->setPinchViewportOffset(WebFloatPoint(200, 200));
298
299 uint64_t sequence = Platform::current()->clipboard()->sequenceNumber(WebClip board::BufferStandard);
300
301 webView->copyImageAt(WebPoint(0, 0));
302
303 EXPECT_NE(sequence, Platform::current()->clipboard()->sequenceNumber(WebClip board::BufferStandard));
304
305 WebData data = Platform::current()->clipboard()->readImage(WebClipboard::Buf fer());
306 WebImage image = WebImage::fromData(data, WebSize());
307
271 SkAutoLockPixels autoLock(image.getSkBitmap()); 308 SkAutoLockPixels autoLock(image.getSkBitmap());
272 EXPECT_EQ(SkColorSetARGB(255, 255, 0, 0), image.getSkBitmap().getColor(0, 0) ); 309 EXPECT_EQ(SkColorSetARGB(255, 255, 0, 0), image.getSkBitmap().getColor(0, 0) );
273 }; 310 };
274 311
275 TEST_F(WebViewTest, SetBaseBackgroundColor) 312 TEST_F(WebViewTest, SetBaseBackgroundColor)
276 { 313 {
277 const WebColor kWhite = 0xFFFFFFFF; 314 const WebColor kWhite = 0xFFFFFFFF;
278 const WebColor kBlue = 0xFF0000FF; 315 const WebColor kBlue = 0xFF0000FF;
279 const WebColor kDarkCyan = 0xFF227788; 316 const WebColor kDarkCyan = 0xFF227788;
280 const WebColor kTranslucentPutty = 0x80BFB196; 317 const WebColor kTranslucentPutty = 0x80BFB196;
(...skipping 1532 matching lines...) Expand 10 before | Expand all | Expand 10 after
1813 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c _str()), WebString::fromUTF8("smartclip.html")); 1850 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c _str()), WebString::fromUTF8("smartclip.html"));
1814 WebView* webView = m_webViewHelper.initializeAndLoad(m_baseURL + "smartclip. html"); 1851 WebView* webView = m_webViewHelper.initializeAndLoad(m_baseURL + "smartclip. html");
1815 webView->resize(WebSize(500, 500)); 1852 webView->resize(WebSize(500, 500));
1816 webView->layout(); 1853 webView->layout();
1817 WebRect cropRect(300, 125, 152, 50); 1854 WebRect cropRect(300, 125, 152, 50);
1818 webView->extractSmartClipData(cropRect, clipText, clipHtml, clipRect); 1855 webView->extractSmartClipData(cropRect, clipText, clipHtml, clipRect);
1819 EXPECT_STREQ(kExpectedClipText, clipText.utf8().c_str()); 1856 EXPECT_STREQ(kExpectedClipText, clipText.utf8().c_str());
1820 EXPECT_STREQ(kExpectedClipHtml, clipHtml.utf8().c_str()); 1857 EXPECT_STREQ(kExpectedClipHtml, clipHtml.utf8().c_str());
1821 } 1858 }
1822 1859
1860 TEST_F(WebViewTest, SmartClipDataWithPinchZoom)
1861 {
1862 static const char* kExpectedClipText = "\nPrice 10,000,000won";
1863 static const char* kExpectedClipHtml =
1864 "<div id=\"div4\" style=\"padding: 10px; margin: 10px; border: 2px "
1865 "solid rgb(135, 206, 235); float: left; width: 190px; height: 30px; "
1866 "color: rgb(0, 0, 0); font-family: myahem; font-size: 8px; font-style: "
1867 "normal; font-variant: normal; font-weight: normal; letter-spacing: "
1868 "normal; line-height: normal; orphans: auto; text-align: start; "
1869 "text-indent: 0px; text-transform: none; white-space: normal; widows: "
1870 "1; word-spacing: 0px; -webkit-text-stroke-width: 0px;\">Air "
1871 "conditioner</div><div id=\"div5\" style=\"padding: 10px; margin: "
1872 "10px; border: 2px solid rgb(135, 206, 235); float: left; width: "
1873 "190px; height: 30px; color: rgb(0, 0, 0); font-family: myahem; "
1874 "font-size: 8px; font-style: normal; font-variant: normal; "
1875 "font-weight: normal; letter-spacing: normal; line-height: normal; "
1876 "orphans: auto; text-align: start; text-indent: 0px; text-transform: "
1877 "none; white-space: normal; widows: 1; word-spacing: 0px; "
1878 "-webkit-text-stroke-width: 0px;\">Price 10,000,000won</div>";
1879 WebString clipText;
1880 WebString clipHtml;
1881 WebRect clipRect;
1882 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c _str()), WebString::fromUTF8("Ahem.ttf"));
1883 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c _str()), WebString::fromUTF8("smartclip.html"));
1884 WebView* webView = m_webViewHelper.initializeAndLoad(m_baseURL + "smartclip. html");
1885 webView->resize(WebSize(500, 500));
1886 webView->layout();
1887 webView->setPageScaleFactor(1.5);
1888 webView->setPinchViewportOffset(WebFloatPoint(167, 100));
1889 WebRect cropRect(200, 38, 228, 75);
1890 webView->extractSmartClipData(cropRect, clipText, clipHtml, clipRect);
1891 EXPECT_STREQ(kExpectedClipText, clipText.utf8().c_str());
1892 EXPECT_STREQ(kExpectedClipHtml, clipHtml.utf8().c_str());
1893 }
1894
1823 TEST_F(WebViewTest, SmartClipReturnsEmptyStringsWhenUserSelectIsNone) 1895 TEST_F(WebViewTest, SmartClipReturnsEmptyStringsWhenUserSelectIsNone)
1824 { 1896 {
1825 WebString clipText; 1897 WebString clipText;
1826 WebString clipHtml; 1898 WebString clipHtml;
1827 WebRect clipRect; 1899 WebRect clipRect;
1828 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c _str()), WebString::fromUTF8("Ahem.ttf")); 1900 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c _str()), WebString::fromUTF8("Ahem.ttf"));
1829 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c _str()), WebString::fromUTF8("smartclip_user_select_none.html")); 1901 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c _str()), WebString::fromUTF8("smartclip_user_select_none.html"));
1830 WebView* webView = m_webViewHelper.initializeAndLoad(m_baseURL + "smartclip_ user_select_none.html"); 1902 WebView* webView = m_webViewHelper.initializeAndLoad(m_baseURL + "smartclip_ user_select_none.html");
1831 webView->resize(WebSize(500, 500)); 1903 webView->resize(WebSize(500, 500));
1832 webView->layout(); 1904 webView->layout();
(...skipping 688 matching lines...) Expand 10 before | Expand all | Expand 10 after
2521 // Test without any preventDefault. 2593 // Test without any preventDefault.
2522 client.reset(); 2594 client.reset();
2523 frame->executeScript(WebScriptSource("setTest('none');")); 2595 frame->executeScript(WebScriptSource("setTest('none');"));
2524 EXPECT_TRUE(tapElementById(webView, WebInputEvent::GestureTap, WebString::fr omUTF8("target"))); 2596 EXPECT_TRUE(tapElementById(webView, WebInputEvent::GestureTap, WebString::fr omUTF8("target")));
2525 EXPECT_TRUE(client.getWasCalled()); 2597 EXPECT_TRUE(client.getWasCalled());
2526 2598
2527 m_webViewHelper.reset(); // Remove dependency on locally scoped client. 2599 m_webViewHelper.reset(); // Remove dependency on locally scoped client.
2528 } 2600 }
2529 2601
2530 } // namespace 2602 } // namespace
OLDNEW
« no previous file with comments | « Source/web/tests/WebFrameTest.cpp ('k') | Source/web/tests/data/canvas-copy-image.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698