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

Side by Side Diff: Source/WebKit/chromium/tests/WebFrameTest.cpp

Issue 12092069: Merge 141252 (Closed) Base URL: http://svn.webkit.org/repository/webkit/branches/chromium/1364/
Patch Set: Created 7 years, 10 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2010 Google Inc. All rights reserved. 2 * Copyright (C) 2010 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 964 matching lines...) Expand 10 before | Expand all | Expand 10 after
975 EXPECT_TRUE(frame->find(findIdentifier, WebString::fromUTF8("bar4"), options , false, 0)); 975 EXPECT_TRUE(frame->find(findIdentifier, WebString::fromUTF8("bar4"), options , false, 0));
976 // Confirm stopFinding(false) sets the selection on the found text. 976 // Confirm stopFinding(false) sets the selection on the found text.
977 frame->stopFinding(false); 977 frame->stopFinding(false);
978 range = frame->selectionRange(); 978 range = frame->selectionRange();
979 ASSERT_FALSE(range.isNull()); 979 ASSERT_FALSE(range.isNull());
980 EXPECT_EQ(0, range.startOffset()); 980 EXPECT_EQ(0, range.startOffset());
981 EXPECT_EQ(4, range.endOffset()); 981 EXPECT_EQ(4, range.endOffset());
982 // "bar4" is surrounded by <span>, but the focusable node should be the pare nt <div>. 982 // "bar4" is surrounded by <span>, but the focusable node should be the pare nt <div>.
983 EXPECT_EQ(WebString::fromUTF8("DIV"), frame->document().focusedNode().nodeNa me()); 983 EXPECT_EQ(WebString::fromUTF8("DIV"), frame->document().focusedNode().nodeNa me());
984 984
985 // Find in <select> content.
986 EXPECT_FALSE(frame->find(findIdentifier, WebString::fromUTF8("bar5"), option s, false, 0));
987 // If there are any matches, stopFinding will set the selection on the found text.
988 // However, we do not expect any matches, so check that the selection is nul l.
989 frame->stopFinding(false);
990 range = frame->selectionRange();
991 ASSERT_TRUE(range.isNull());
992
985 webView->close(); 993 webView->close();
986 } 994 }
987 995
988 TEST_F(WebFrameTest, GetContentAsPlainText) 996 TEST_F(WebFrameTest, GetContentAsPlainText)
989 { 997 {
990 WebView* webView = FrameTestHelpers::createWebViewAndLoad("about:blank", tru e); 998 WebView* webView = FrameTestHelpers::createWebViewAndLoad("about:blank", tru e);
991 // We set the size because it impacts line wrapping, which changes the 999 // We set the size because it impacts line wrapping, which changes the
992 // resulting text value. 1000 // resulting text value.
993 webView->resize(WebSize(640, 480)); 1001 webView->resize(WebSize(640, 480));
994 WebFrame* frame = webView->mainFrame(); 1002 WebFrame* frame = webView->mainFrame();
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
1143 { 1151 {
1144 registerMockedHttpURLLoad("find_in_page.html"); 1152 registerMockedHttpURLLoad("find_in_page.html");
1145 registerMockedHttpURLLoad("find_in_page_frame.html"); 1153 registerMockedHttpURLLoad("find_in_page_frame.html");
1146 1154
1147 FindUpdateWebFrameClient client; 1155 FindUpdateWebFrameClient client;
1148 WebView* webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "find_ in_page.html", true, &client); 1156 WebView* webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "find_ in_page.html", true, &client);
1149 webView->resize(WebSize(640, 480)); 1157 webView->resize(WebSize(640, 480));
1150 webView->layout(); 1158 webView->layout();
1151 webkit_support::RunAllPendingMessages(); 1159 webkit_support::RunAllPendingMessages();
1152 1160
1161 // Note that the 'result 19' in the <select> element is not expected to prod uce a match.
1153 static const char* kFindString = "result"; 1162 static const char* kFindString = "result";
1154 static const int kFindIdentifier = 12345; 1163 static const int kFindIdentifier = 12345;
1155 static const int kNumResults = 16; 1164 static const int kNumResults = 19;
1156 1165
1157 WebFindOptions options; 1166 WebFindOptions options;
1158 WebString searchText = WebString::fromUTF8(kFindString); 1167 WebString searchText = WebString::fromUTF8(kFindString);
1159 WebFrameImpl* mainFrame = static_cast<WebFrameImpl*>(webView->mainFrame()); 1168 WebFrameImpl* mainFrame = static_cast<WebFrameImpl*>(webView->mainFrame());
1160 EXPECT_TRUE(mainFrame->find(kFindIdentifier, searchText, options, false, 0)) ; 1169 EXPECT_TRUE(mainFrame->find(kFindIdentifier, searchText, options, false, 0)) ;
1161 1170
1162 mainFrame->resetMatchCount(); 1171 mainFrame->resetMatchCount();
1163 1172
1164 for (WebFrame* frame = mainFrame; frame; frame = frame->traverseNext(false)) 1173 for (WebFrame* frame = mainFrame; frame; frame = frame->traverseNext(false))
1165 frame->scopeStringMatches(kFindIdentifier, searchText, options, true); 1174 frame->scopeStringMatches(kFindIdentifier, searchText, options, true);
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
1236 // Result 12 should be left to results 11, 13 and 14 in the table layout. 1245 // Result 12 should be left to results 11, 13 and 14 in the table layout.
1237 EXPECT_TRUE(webMatchRects[12].x < webMatchRects[11].x); 1246 EXPECT_TRUE(webMatchRects[12].x < webMatchRects[11].x);
1238 EXPECT_TRUE(webMatchRects[12].x < webMatchRects[13].x); 1247 EXPECT_TRUE(webMatchRects[12].x < webMatchRects[13].x);
1239 EXPECT_TRUE(webMatchRects[12].x < webMatchRects[14].x); 1248 EXPECT_TRUE(webMatchRects[12].x < webMatchRects[14].x);
1240 1249
1241 // Results 13, 12 and 14 should be one above the other in that order because of the rowspan 1250 // Results 13, 12 and 14 should be one above the other in that order because of the rowspan
1242 // and vertical-align: middle by default. 1251 // and vertical-align: middle by default.
1243 EXPECT_TRUE(webMatchRects[13].y < webMatchRects[12].y); 1252 EXPECT_TRUE(webMatchRects[13].y < webMatchRects[12].y);
1244 EXPECT_TRUE(webMatchRects[12].y < webMatchRects[14].y); 1253 EXPECT_TRUE(webMatchRects[12].y < webMatchRects[14].y);
1245 1254
1255 // Result 16 should be below result 15.
1256 EXPECT_TRUE(webMatchRects[15].y > webMatchRects[14].y);
1257
1258 // Result 18 should be normalized with respect to the position:relative div, and not it's
1259 // immediate containing div. Consequently, result 18 should be above result 17.
1260 EXPECT_TRUE(webMatchRects[17].y > webMatchRects[18].y);
1261
1246 // Resizing should update the rects version. 1262 // Resizing should update the rects version.
1247 webView->resize(WebSize(800, 600)); 1263 webView->resize(WebSize(800, 600));
1248 webkit_support::RunAllPendingMessages(); 1264 webkit_support::RunAllPendingMessages();
1249 EXPECT_TRUE(mainFrame->findMatchMarkersVersion() != rectsVersion); 1265 EXPECT_TRUE(mainFrame->findMatchMarkersVersion() != rectsVersion);
1250 1266
1251 webView->close(); 1267 webView->close();
1252 } 1268 }
1253 1269
1254 TEST_F(WebFrameTest, FindInPageSkipsHiddenFrames) 1270 TEST_F(WebFrameTest, FindInPageSkipsHiddenFrames)
1255 { 1271 {
(...skipping 478 matching lines...) Expand 10 before | Expand all | Expand 10 after
1734 webkit_support::RegisterMockedErrorURL(URLTestHelpers::toKURL(errorURL), res ponse, error); 1750 webkit_support::RegisterMockedErrorURL(URLTestHelpers::toKURL(errorURL), res ponse, error);
1735 frame->loadHistoryItem(errorHistoryItem); 1751 frame->loadHistoryItem(errorHistoryItem);
1736 webkit_support::ServeAsynchronousMockedRequests(); 1752 webkit_support::ServeAsynchronousMockedRequests();
1737 1753
1738 WebString text = frame->contentAsText(std::numeric_limits<size_t>::max()); 1754 WebString text = frame->contentAsText(std::numeric_limits<size_t>::max());
1739 EXPECT_EQ("This should appear", std::string(text.utf8().data())); 1755 EXPECT_EQ("This should appear", std::string(text.utf8().data()));
1740 EXPECT_TRUE(webFrameClient.commitCalled()); 1756 EXPECT_TRUE(webFrameClient.commitCalled());
1741 } 1757 }
1742 1758
1743 } // namespace 1759 } // namespace
OLDNEW
« no previous file with comments | « Source/WebKit/chromium/src/FindInPageCoordinates.cpp ('k') | Source/WebKit/chromium/tests/data/find.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698