| OLD | NEW |
| 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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/app/chrome_dll_resource.h" | 5 #include "chrome/app/chrome_dll_resource.h" |
| 6 #include "chrome/browser/views/find_bar_win.h" | 6 #include "chrome/browser/views/find_bar_win.h" |
| 7 #include "chrome/test/automation/browser_proxy.h" | 7 #include "chrome/test/automation/browser_proxy.h" |
| 8 #include "chrome/test/automation/tab_proxy.h" | 8 #include "chrome/test/automation/tab_proxy.h" |
| 9 #include "chrome/test/automation/window_proxy.h" | 9 #include "chrome/test/automation/window_proxy.h" |
| 10 #include "chrome/test/ui/ui_test.h" | 10 #include "chrome/test/ui/ui_test.h" |
| 11 #include "net/url_request/url_request_unittest.h" | 11 #include "net/url_request/url_request_unittest.h" |
| 12 | 12 |
| 13 class FindInPageControllerTest : public UITest { | 13 class FindInPageControllerTest : public UITest { |
| 14 public: | 14 public: |
| 15 FindInPageControllerTest() { | 15 FindInPageControllerTest() { |
| 16 show_window_ = true; | 16 show_window_ = true; |
| 17 } | 17 } |
| 18 }; | 18 }; |
| 19 | 19 |
| 20 const std::wstring kSimplePage = L"404_is_enough_for_us.html"; |
| 20 const std::wstring kFramePage = L"files/find_in_page/frames.html"; | 21 const std::wstring kFramePage = L"files/find_in_page/frames.html"; |
| 21 const std::wstring kFrameData = L"files/find_in_page/framedata_general.html"; | 22 const std::wstring kFrameData = L"files/find_in_page/framedata_general.html"; |
| 22 const std::wstring kUserSelectPage = L"files/find_in_page/user-select.html"; | 23 const std::wstring kUserSelectPage = L"files/find_in_page/user-select.html"; |
| 23 const std::wstring kCrashPage = L"files/find_in_page/crash_1341577.html"; | 24 const std::wstring kCrashPage = L"files/find_in_page/crash_1341577.html"; |
| 24 const std::wstring kTooFewMatchesPage = L"files/find_in_page/bug_1155639.html"; | 25 const std::wstring kTooFewMatchesPage = L"files/find_in_page/bug_1155639.html"; |
| 25 | 26 |
| 26 // This test loads a single-frame page and makes sure the ordinal returned makes | 27 // This test loads a single-frame page and makes sure the ordinal returned makes |
| 27 // sense as we FindNext over all the items. | 28 // sense as we FindNext over all the items. |
| 28 TEST_F(FindInPageControllerTest, FindInPageOrdinal) { | 29 TEST_F(FindInPageControllerTest, FindInPageOrdinal) { |
| 29 scoped_refptr<HTTPTestServer> server = | 30 scoped_refptr<HTTPTestServer> server = |
| (...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 191 EXPECT_EQ(5, tab->FindInPage(L"008.xml", FWD, IGNORE_CASE, false, NULL)); | 192 EXPECT_EQ(5, tab->FindInPage(L"008.xml", FWD, IGNORE_CASE, false, NULL)); |
| 192 } | 193 } |
| 193 | 194 |
| 194 // The find window should not change its location just because we open and close | 195 // The find window should not change its location just because we open and close |
| 195 // a new tab. | 196 // a new tab. |
| 196 TEST_F(FindInPageControllerTest, FindMovesOnTabClose_Issue1343052) { | 197 TEST_F(FindInPageControllerTest, FindMovesOnTabClose_Issue1343052) { |
| 197 scoped_refptr<HTTPTestServer> server = | 198 scoped_refptr<HTTPTestServer> server = |
| 198 HTTPTestServer::CreateServer(L"chrome/test/data", NULL); | 199 HTTPTestServer::CreateServer(L"chrome/test/data", NULL); |
| 199 ASSERT_TRUE(NULL != server.get()); | 200 ASSERT_TRUE(NULL != server.get()); |
| 200 | 201 |
| 201 GURL url = server->TestServerPageW(kFramePage); | 202 GURL url = server->TestServerPageW(kSimplePage); |
| 202 scoped_ptr<TabProxy> tabA(GetActiveTab()); | 203 scoped_ptr<TabProxy> tabA(GetActiveTab()); |
| 203 ASSERT_TRUE(tabA->NavigateToURL(url)); | 204 ASSERT_TRUE(tabA->NavigateToURL(url)); |
| 204 WaitUntilTabCount(1); | 205 WaitUntilTabCount(1); |
| 205 | 206 |
| 206 scoped_ptr<BrowserProxy> browser(automation()->GetBrowserWindow(0)); | 207 scoped_ptr<BrowserProxy> browser(automation()->GetBrowserWindow(0)); |
| 207 ASSERT_TRUE(browser.get() != NULL); | 208 ASSERT_TRUE(browser.get() != NULL); |
| 208 | 209 |
| 209 // Toggle the bookmark bar state. | 210 // Toggle the bookmark bar state. |
| 210 browser->ApplyAccelerator(IDC_SHOW_BOOKMARK_BAR); | 211 browser->ApplyAccelerator(IDC_SHOW_BOOKMARK_BAR); |
| 211 EXPECT_TRUE(WaitForBookmarkBarVisibilityChange(browser.get(), true)); | 212 EXPECT_TRUE(WaitForBookmarkBarVisibilityChange(browser.get(), true)); |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 252 EXPECT_EQ(x, new_x); | 253 EXPECT_EQ(x, new_x); |
| 253 EXPECT_EQ(y, new_y); | 254 EXPECT_EQ(y, new_y); |
| 254 } | 255 } |
| 255 | 256 |
| 256 // Make sure Find box disappears on Navigate but not on Refresh. | 257 // Make sure Find box disappears on Navigate but not on Refresh. |
| 257 TEST_F(FindInPageControllerTest, FindDisappearOnNavigate) { | 258 TEST_F(FindInPageControllerTest, FindDisappearOnNavigate) { |
| 258 scoped_refptr<HTTPTestServer> server = | 259 scoped_refptr<HTTPTestServer> server = |
| 259 HTTPTestServer::CreateServer(L"chrome/test/data", NULL); | 260 HTTPTestServer::CreateServer(L"chrome/test/data", NULL); |
| 260 ASSERT_TRUE(NULL != server.get()); | 261 ASSERT_TRUE(NULL != server.get()); |
| 261 | 262 |
| 262 GURL url = server->TestServerPageW(kUserSelectPage); | 263 GURL url = server->TestServerPageW(kSimplePage); |
| 263 GURL url2 = server->TestServerPageW(kFramePage); | 264 GURL url2 = server->TestServerPageW(kFramePage); |
| 264 scoped_ptr<TabProxy> tab(GetActiveTab()); | 265 scoped_ptr<TabProxy> tab(GetActiveTab()); |
| 265 ASSERT_TRUE(tab->NavigateToURL(url)); | 266 ASSERT_TRUE(tab->NavigateToURL(url)); |
| 266 WaitUntilTabCount(1); | 267 WaitUntilTabCount(1); |
| 267 | 268 |
| 268 scoped_ptr<BrowserProxy> browser(automation()->GetBrowserWindow(0)); | 269 scoped_ptr<BrowserProxy> browser(automation()->GetBrowserWindow(0)); |
| 269 ASSERT_TRUE(browser.get() != NULL); | 270 ASSERT_TRUE(browser.get() != NULL); |
| 270 | 271 |
| 271 // Open the Find window and wait for it to animate. | 272 // Open the Find window and wait for it to animate. |
| 272 EXPECT_TRUE(browser->OpenFindInPage()); | 273 EXPECT_TRUE(browser->OpenFindInPage()); |
| 273 EXPECT_TRUE(WaitForFindWindowVisibilityChange(browser.get(), true)); | 274 EXPECT_TRUE(WaitForFindWindowVisibilityChange(browser.get(), true)); |
| 274 | 275 |
| 275 // Reload the tab and make sure Find box doesn't go away. | 276 // Reload the tab and make sure Find box doesn't go away. |
| 276 EXPECT_TRUE(tab->Reload()); | 277 EXPECT_TRUE(tab->Reload()); |
| 277 EXPECT_TRUE(WaitForFindWindowVisibilityChange(browser.get(), true)); | 278 EXPECT_TRUE(WaitForFindWindowVisibilityChange(browser.get(), true)); |
| 278 | 279 |
| 279 // Navigate and make sure the Find box goes away. | 280 // Navigate and make sure the Find box goes away. |
| 280 EXPECT_TRUE(tab->NavigateToURL(url2)); | 281 EXPECT_TRUE(tab->NavigateToURL(url2)); |
| 281 EXPECT_TRUE(WaitForFindWindowVisibilityChange(browser.get(), false)); | 282 EXPECT_TRUE(WaitForFindWindowVisibilityChange(browser.get(), false)); |
| 282 } | 283 } |
| 284 |
| 285 // Make sure Find box disappears when History/Downloads page is opened, and |
| 286 // when a New Tab is opened. |
| 287 TEST_F(FindInPageControllerTest, FindDisappearOnNewTabAndHistory) { |
| 288 scoped_refptr<HTTPTestServer> server = |
| 289 HTTPTestServer::CreateServer(L"chrome/test/data", NULL); |
| 290 ASSERT_TRUE(NULL != server.get()); |
| 291 |
| 292 GURL url = server->TestServerPageW(kSimplePage); |
| 293 scoped_ptr<TabProxy> tab(GetActiveTab()); |
| 294 ASSERT_TRUE(tab->NavigateToURL(url)); |
| 295 WaitUntilTabCount(1); |
| 296 |
| 297 scoped_ptr<BrowserProxy> browser(automation()->GetBrowserWindow(0)); |
| 298 ASSERT_TRUE(browser.get() != NULL); |
| 299 |
| 300 // Open the Find window and wait for it to animate. |
| 301 EXPECT_TRUE(browser->OpenFindInPage()); |
| 302 EXPECT_TRUE(WaitForFindWindowVisibilityChange(browser.get(), true)); |
| 303 |
| 304 // Open another tab (tab B). |
| 305 EXPECT_TRUE(browser->AppendTab(url)); |
| 306 scoped_ptr<TabProxy> tabB(GetActiveTab()); |
| 307 |
| 308 // Wait for the Find box to disappear. |
| 309 EXPECT_TRUE(WaitForFindWindowVisibilityChange(browser.get(), false)); |
| 310 |
| 311 // Close tab B. |
| 312 EXPECT_TRUE(tabB->Close(true)); |
| 313 |
| 314 // Wait for the Find box to appear again. |
| 315 EXPECT_TRUE(WaitForFindWindowVisibilityChange(browser.get(), true)); |
| 316 |
| 317 // Open History page. |
| 318 EXPECT_TRUE(browser->RunCommand(IDC_SHOW_HISTORY)); |
| 319 |
| 320 // Wait for the Find box to disappear. |
| 321 EXPECT_TRUE(WaitForFindWindowVisibilityChange(browser.get(), false)); |
| 322 } |
| OLD | NEW |