| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 <stdio.h> | 5 #include <stdio.h> |
| 6 | 6 |
| 7 #include "base/message_loop.h" | 7 #include "base/message_loop.h" |
| 8 #include "base/string16.h" | 8 #include "base/string16.h" |
| 9 #include "base/string_util.h" | 9 #include "base/string_util.h" |
| 10 #include "base/time.h" | 10 #include "base/time.h" |
| (...skipping 333 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 344 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_2, true, false, false)); | 344 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_2, true, false, false)); |
| 345 ASSERT_EQ(1, browser()->selected_index()); | 345 ASSERT_EQ(1, browser()->selected_index()); |
| 346 | 346 |
| 347 browser()->FocusLocationBar(); | 347 browser()->FocusLocationBar(); |
| 348 | 348 |
| 349 // Try ctrl-w to close a Tab. | 349 // Try ctrl-w to close a Tab. |
| 350 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_W, true, false, false)); | 350 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_W, true, false, false)); |
| 351 ASSERT_NO_FATAL_FAILURE(WaitForTabOpenOrClose(tab_count)); | 351 ASSERT_NO_FATAL_FAILURE(WaitForTabOpenOrClose(tab_count)); |
| 352 | 352 |
| 353 // Try ctrl-l to focus location bar. | 353 // Try ctrl-l to focus location bar. |
| 354 edit_view->SetUserText(L"Hello world"); | 354 edit_view->SetUserText(ASCIIToUTF16("Hello world")); |
| 355 EXPECT_FALSE(edit_view->IsSelectAll()); | 355 EXPECT_FALSE(edit_view->IsSelectAll()); |
| 356 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_L, true, false, false)); | 356 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_L, true, false, false)); |
| 357 EXPECT_TRUE(edit_view->IsSelectAll()); | 357 EXPECT_TRUE(edit_view->IsSelectAll()); |
| 358 | 358 |
| 359 // Try editing the location bar text. | 359 // Try editing the location bar text. |
| 360 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_RIGHT, false, false, false)); | 360 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_RIGHT, false, false, false)); |
| 361 EXPECT_FALSE(edit_view->IsSelectAll()); | 361 EXPECT_FALSE(edit_view->IsSelectAll()); |
| 362 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_S, false, false, false)); | 362 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_S, false, false, false)); |
| 363 EXPECT_EQ(L"Hello worlds", edit_view->GetText()); | 363 EXPECT_EQ(ASCIIToUTF16("Hello worlds"), edit_view->GetText()); |
| 364 | 364 |
| 365 // Try ctrl-x to cut text. | 365 // Try ctrl-x to cut text. |
| 366 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_LEFT, true, true, false)); | 366 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_LEFT, true, true, false)); |
| 367 EXPECT_FALSE(edit_view->IsSelectAll()); | 367 EXPECT_FALSE(edit_view->IsSelectAll()); |
| 368 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_X, true, false, false)); | 368 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_X, true, false, false)); |
| 369 EXPECT_EQ(L"Hello ", edit_view->GetText()); | 369 EXPECT_EQ(ASCIIToUTF16("Hello "), edit_view->GetText()); |
| 370 | 370 |
| 371 #if !defined(OS_CHROMEOS) | 371 #if !defined(OS_CHROMEOS) |
| 372 // Try alt-f4 to close the browser. | 372 // Try alt-f4 to close the browser. |
| 373 ASSERT_TRUE(ui_test_utils::SendKeyPressAndWait( | 373 ASSERT_TRUE(ui_test_utils::SendKeyPressAndWait( |
| 374 browser(), ui::VKEY_F4, false, false, true, false, | 374 browser(), ui::VKEY_F4, false, false, true, false, |
| 375 NotificationType::BROWSER_CLOSED, Source<Browser>(browser()))); | 375 NotificationType::BROWSER_CLOSED, Source<Browser>(browser()))); |
| 376 #endif | 376 #endif |
| 377 } | 377 } |
| 378 | 378 |
| 379 void PopupAcceleratorsTest() { | 379 void PopupAcceleratorsTest() { |
| 380 // Create a popup. | 380 // Create a popup. |
| 381 Browser* popup = CreateBrowserForPopup(browser()->profile()); | 381 Browser* popup = CreateBrowserForPopup(browser()->profile()); |
| 382 AutocompleteEditView* edit_view = NULL; | 382 AutocompleteEditView* edit_view = NULL; |
| 383 ASSERT_NO_FATAL_FAILURE( | 383 ASSERT_NO_FATAL_FAILURE( |
| 384 GetAutocompleteEditViewForBrowser(popup, &edit_view)); | 384 GetAutocompleteEditViewForBrowser(popup, &edit_view)); |
| 385 popup->FocusLocationBar(); | 385 popup->FocusLocationBar(); |
| 386 EXPECT_TRUE(edit_view->IsSelectAll()); | 386 EXPECT_TRUE(edit_view->IsSelectAll()); |
| 387 | 387 |
| 388 // Try ctrl-w to close the popup. | 388 // Try ctrl-w to close the popup. |
| 389 ASSERT_TRUE(ui_test_utils::SendKeyPressAndWait( | 389 ASSERT_TRUE(ui_test_utils::SendKeyPressAndWait( |
| 390 popup, ui::VKEY_W, true, false, false, false, | 390 popup, ui::VKEY_W, true, false, false, false, |
| 391 NotificationType::BROWSER_CLOSED, Source<Browser>(popup))); | 391 NotificationType::BROWSER_CLOSED, Source<Browser>(popup))); |
| 392 | 392 |
| 393 // Create another popup. | 393 // Create another popup. |
| 394 popup = CreateBrowserForPopup(browser()->profile()); | 394 popup = CreateBrowserForPopup(browser()->profile()); |
| 395 ASSERT_NO_FATAL_FAILURE( | 395 ASSERT_NO_FATAL_FAILURE( |
| 396 GetAutocompleteEditViewForBrowser(popup, &edit_view)); | 396 GetAutocompleteEditViewForBrowser(popup, &edit_view)); |
| 397 | 397 |
| 398 // Set the edit text to "Hello world". | 398 // Set the edit text to "Hello world". |
| 399 edit_view->SetUserText(L"Hello world"); | 399 edit_view->SetUserText(ASCIIToUTF16("Hello world")); |
| 400 EXPECT_FALSE(edit_view->IsSelectAll()); | 400 EXPECT_FALSE(edit_view->IsSelectAll()); |
| 401 popup->FocusLocationBar(); | 401 popup->FocusLocationBar(); |
| 402 EXPECT_TRUE(edit_view->IsSelectAll()); | 402 EXPECT_TRUE(edit_view->IsSelectAll()); |
| 403 | 403 |
| 404 // Try editing the location bar text -- should be disallowed. | 404 // Try editing the location bar text -- should be disallowed. |
| 405 ASSERT_NO_FATAL_FAILURE(SendKeyForBrowser(popup, ui::VKEY_RIGHT, false, | 405 ASSERT_NO_FATAL_FAILURE(SendKeyForBrowser(popup, ui::VKEY_RIGHT, false, |
| 406 false, false)); | 406 false, false)); |
| 407 EXPECT_FALSE(edit_view->IsSelectAll()); | 407 EXPECT_FALSE(edit_view->IsSelectAll()); |
| 408 ASSERT_NO_FATAL_FAILURE(SendKeyForBrowser(popup, ui::VKEY_S, false, false, | 408 ASSERT_NO_FATAL_FAILURE(SendKeyForBrowser(popup, ui::VKEY_S, false, false, |
| 409 false)); | 409 false)); |
| 410 EXPECT_EQ(L"Hello world", edit_view->GetText()); | 410 EXPECT_EQ(ASCIIToUTF16("Hello world"), edit_view->GetText()); |
| 411 | 411 |
| 412 // Try ctrl-x to cut text -- should be disallowed. | 412 // Try ctrl-x to cut text -- should be disallowed. |
| 413 ASSERT_NO_FATAL_FAILURE(SendKeyForBrowser(popup, ui::VKEY_LEFT, true, true, | 413 ASSERT_NO_FATAL_FAILURE(SendKeyForBrowser(popup, ui::VKEY_LEFT, true, true, |
| 414 false)); | 414 false)); |
| 415 EXPECT_FALSE(edit_view->IsSelectAll()); | 415 EXPECT_FALSE(edit_view->IsSelectAll()); |
| 416 ASSERT_NO_FATAL_FAILURE(SendKeyForBrowser(popup, ui::VKEY_X, true, false, | 416 ASSERT_NO_FATAL_FAILURE(SendKeyForBrowser(popup, ui::VKEY_X, true, false, |
| 417 false)); | 417 false)); |
| 418 EXPECT_EQ(L"Hello world", edit_view->GetText()); | 418 EXPECT_EQ(ASCIIToUTF16("Hello world"), edit_view->GetText()); |
| 419 | 419 |
| 420 #if !defined(OS_CHROMEOS) | 420 #if !defined(OS_CHROMEOS) |
| 421 // Try alt-f4 to close the popup. | 421 // Try alt-f4 to close the popup. |
| 422 ASSERT_TRUE(ui_test_utils::SendKeyPressAndWait( | 422 ASSERT_TRUE(ui_test_utils::SendKeyPressAndWait( |
| 423 popup, ui::VKEY_F4, false, false, true, false, | 423 popup, ui::VKEY_F4, false, false, true, false, |
| 424 NotificationType::BROWSER_CLOSED, Source<Browser>(popup))); | 424 NotificationType::BROWSER_CLOSED, Source<Browser>(popup))); |
| 425 #endif | 425 #endif |
| 426 } | 426 } |
| 427 | 427 |
| 428 void BackspaceInKeywordModeTest() { | 428 void BackspaceInKeywordModeTest() { |
| 429 AutocompleteEditView* edit_view = NULL; | 429 AutocompleteEditView* edit_view = NULL; |
| 430 ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view)); | 430 ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view)); |
| 431 | 431 |
| 432 // Trigger keyword hint mode. | 432 // Trigger keyword hint mode. |
| 433 ASSERT_NO_FATAL_FAILURE(SendKeySequence(kSearchKeywordKeys)); | 433 ASSERT_NO_FATAL_FAILURE(SendKeySequence(kSearchKeywordKeys)); |
| 434 ASSERT_TRUE(edit_view->model()->is_keyword_hint()); | 434 ASSERT_TRUE(edit_view->model()->is_keyword_hint()); |
| 435 ASSERT_EQ(kSearchKeyword, WideToUTF8(edit_view->model()->keyword())); | 435 ASSERT_EQ(kSearchKeyword, UTF16ToUTF8(edit_view->model()->keyword())); |
| 436 | 436 |
| 437 // Trigger keyword mode. | 437 // Trigger keyword mode. |
| 438 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_TAB, false, false, false)); | 438 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_TAB, false, false, false)); |
| 439 ASSERT_FALSE(edit_view->model()->is_keyword_hint()); | 439 ASSERT_FALSE(edit_view->model()->is_keyword_hint()); |
| 440 ASSERT_EQ(kSearchKeyword, WideToUTF8(edit_view->model()->keyword())); | 440 ASSERT_EQ(kSearchKeyword, UTF16ToUTF8(edit_view->model()->keyword())); |
| 441 | 441 |
| 442 // Backspace without search text should bring back keyword hint mode. | 442 // Backspace without search text should bring back keyword hint mode. |
| 443 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, false, false, false)); | 443 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, false, false, false)); |
| 444 ASSERT_TRUE(edit_view->model()->is_keyword_hint()); | 444 ASSERT_TRUE(edit_view->model()->is_keyword_hint()); |
| 445 ASSERT_EQ(kSearchKeyword, WideToUTF8(edit_view->model()->keyword())); | 445 ASSERT_EQ(kSearchKeyword, UTF16ToUTF8(edit_view->model()->keyword())); |
| 446 | 446 |
| 447 // Trigger keyword mode again. | 447 // Trigger keyword mode again. |
| 448 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_TAB, false, false, false)); | 448 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_TAB, false, false, false)); |
| 449 ASSERT_FALSE(edit_view->model()->is_keyword_hint()); | 449 ASSERT_FALSE(edit_view->model()->is_keyword_hint()); |
| 450 ASSERT_EQ(kSearchKeyword, WideToUTF8(edit_view->model()->keyword())); | 450 ASSERT_EQ(kSearchKeyword, UTF16ToUTF8(edit_view->model()->keyword())); |
| 451 | 451 |
| 452 // Input something as search text. | 452 // Input something as search text. |
| 453 ASSERT_NO_FATAL_FAILURE(SendKeySequence(kSearchTextKeys)); | 453 ASSERT_NO_FATAL_FAILURE(SendKeySequence(kSearchTextKeys)); |
| 454 | 454 |
| 455 // Should stay in keyword mode while deleting search text by pressing | 455 // Should stay in keyword mode while deleting search text by pressing |
| 456 // backspace. | 456 // backspace. |
| 457 for (size_t i = 0; i < arraysize(kSearchText) - 1; ++i) { | 457 for (size_t i = 0; i < arraysize(kSearchText) - 1; ++i) { |
| 458 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, false, false, false)); | 458 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, false, false, false)); |
| 459 ASSERT_FALSE(edit_view->model()->is_keyword_hint()); | 459 ASSERT_FALSE(edit_view->model()->is_keyword_hint()); |
| 460 ASSERT_EQ(kSearchKeyword, WideToUTF8(edit_view->model()->keyword())); | 460 ASSERT_EQ(kSearchKeyword, UTF16ToUTF8(edit_view->model()->keyword())); |
| 461 } | 461 } |
| 462 | 462 |
| 463 // Input something as search text. | 463 // Input something as search text. |
| 464 ASSERT_NO_FATAL_FAILURE(SendKeySequence(kSearchTextKeys)); | 464 ASSERT_NO_FATAL_FAILURE(SendKeySequence(kSearchTextKeys)); |
| 465 | 465 |
| 466 // Move cursor to the beginning of the search text. | 466 // Move cursor to the beginning of the search text. |
| 467 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_HOME, false, false, false)); | 467 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_HOME, false, false, false)); |
| 468 // Backspace at the beginning of the search text shall turn off | 468 // Backspace at the beginning of the search text shall turn off |
| 469 // the keyword mode. | 469 // the keyword mode. |
| 470 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, false, false, false)); | 470 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, false, false, false)); |
| 471 ASSERT_FALSE(edit_view->model()->is_keyword_hint()); | 471 ASSERT_FALSE(edit_view->model()->is_keyword_hint()); |
| 472 ASSERT_EQ(std::string(), WideToUTF8(edit_view->model()->keyword())); | 472 ASSERT_EQ(string16(), edit_view->model()->keyword()); |
| 473 ASSERT_EQ(std::string(kSearchKeyword) + kSearchText, | 473 ASSERT_EQ(std::string(kSearchKeyword) + kSearchText, |
| 474 WideToUTF8(edit_view->GetText())); | 474 UTF16ToUTF8(edit_view->GetText())); |
| 475 } | 475 } |
| 476 | 476 |
| 477 void EscapeTest() { | 477 void EscapeTest() { |
| 478 ui_test_utils::NavigateToURL(browser(), GURL(chrome::kChromeUIHistoryURL)); | 478 ui_test_utils::NavigateToURL(browser(), GURL(chrome::kChromeUIHistoryURL)); |
| 479 browser()->FocusLocationBar(); | 479 browser()->FocusLocationBar(); |
| 480 | 480 |
| 481 AutocompleteEditView* edit_view = NULL; | 481 AutocompleteEditView* edit_view = NULL; |
| 482 ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view)); | 482 ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view)); |
| 483 | 483 |
| 484 std::wstring old_text = edit_view->GetText(); | 484 string16 old_text = edit_view->GetText(); |
| 485 EXPECT_FALSE(old_text.empty()); | 485 EXPECT_FALSE(old_text.empty()); |
| 486 EXPECT_TRUE(edit_view->IsSelectAll()); | 486 EXPECT_TRUE(edit_view->IsSelectAll()); |
| 487 | 487 |
| 488 // Delete all text in omnibox. | 488 // Delete all text in omnibox. |
| 489 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, false, false, false)); | 489 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, false, false, false)); |
| 490 EXPECT_TRUE(edit_view->GetText().empty()); | 490 EXPECT_TRUE(edit_view->GetText().empty()); |
| 491 | 491 |
| 492 // Escape shall revert the text in omnibox. | 492 // Escape shall revert the text in omnibox. |
| 493 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_ESCAPE, false, false, false)); | 493 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_ESCAPE, false, false, false)); |
| 494 EXPECT_EQ(old_text, edit_view->GetText()); | 494 EXPECT_EQ(old_text, edit_view->GetText()); |
| 495 EXPECT_TRUE(edit_view->IsSelectAll()); | 495 EXPECT_TRUE(edit_view->IsSelectAll()); |
| 496 } | 496 } |
| 497 | 497 |
| 498 void DesiredTLDTest() { | 498 void DesiredTLDTest() { |
| 499 AutocompleteEditView* edit_view = NULL; | 499 AutocompleteEditView* edit_view = NULL; |
| 500 ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view)); | 500 ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view)); |
| 501 AutocompletePopupModel* popup_model = edit_view->model()->popup_model(); | 501 AutocompletePopupModel* popup_model = edit_view->model()->popup_model(); |
| 502 ASSERT_TRUE(popup_model); | 502 ASSERT_TRUE(popup_model); |
| 503 | 503 |
| 504 // Test ctrl-Enter. | 504 // Test ctrl-Enter. |
| 505 ASSERT_NO_FATAL_FAILURE(SendKeySequence(kDesiredTLDKeys)); | 505 ASSERT_NO_FATAL_FAILURE(SendKeySequence(kDesiredTLDKeys)); |
| 506 ASSERT_NO_FATAL_FAILURE(WaitForAutocompleteControllerDone()); | 506 ASSERT_NO_FATAL_FAILURE(WaitForAutocompleteControllerDone()); |
| 507 ASSERT_TRUE(popup_model->IsOpen()); | 507 ASSERT_TRUE(popup_model->IsOpen()); |
| 508 // ctrl-Enter triggers desired_tld feature, thus www.bar.com shall be opened
. | 508 // ctrl-Enter triggers desired_tld feature, thus www.bar.com shall be |
| 509 // opened. |
| 509 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_RETURN, true, false, false)); | 510 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_RETURN, true, false, false)); |
| 510 | 511 |
| 511 GURL url = browser()->GetSelectedTabContents()->GetURL(); | 512 GURL url = browser()->GetSelectedTabContents()->GetURL(); |
| 512 EXPECT_STREQ(kDesiredTLDHostname, url.host().c_str()); | 513 EXPECT_STREQ(kDesiredTLDHostname, url.host().c_str()); |
| 513 } | 514 } |
| 514 | 515 |
| 515 void AltEnterTest() { | 516 void AltEnterTest() { |
| 516 AutocompleteEditView* edit_view = NULL; | 517 AutocompleteEditView* edit_view = NULL; |
| 517 ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view)); | 518 ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view)); |
| 518 | 519 |
| 519 edit_view->SetUserText(ASCIIToWide(chrome::kChromeUIHistoryURL)); | 520 edit_view->SetUserText(ASCIIToUTF16(chrome::kChromeUIHistoryURL)); |
| 520 int tab_count = browser()->tab_count(); | 521 int tab_count = browser()->tab_count(); |
| 521 // alt-Enter opens a new tab. | 522 // alt-Enter opens a new tab. |
| 522 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_RETURN, false, false, true)); | 523 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_RETURN, false, false, true)); |
| 523 ASSERT_NO_FATAL_FAILURE(WaitForTabOpenOrClose(tab_count + 1)); | 524 ASSERT_NO_FATAL_FAILURE(WaitForTabOpenOrClose(tab_count + 1)); |
| 524 } | 525 } |
| 525 | 526 |
| 526 void EnterToSearchTest() { | 527 void EnterToSearchTest() { |
| 527 AutocompleteEditView* edit_view = NULL; | 528 AutocompleteEditView* edit_view = NULL; |
| 528 ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view)); | 529 ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view)); |
| 529 AutocompletePopupModel* popup_model = edit_view->model()->popup_model(); | 530 AutocompletePopupModel* popup_model = edit_view->model()->popup_model(); |
| (...skipping 12 matching lines...) Expand all Loading... |
| 542 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_RETURN, false, false, false)); | 543 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_RETURN, false, false, false)); |
| 543 GURL url = browser()->GetSelectedTabContents()->GetURL(); | 544 GURL url = browser()->GetSelectedTabContents()->GetURL(); |
| 544 EXPECT_STREQ(kSearchTextURL, url.spec().c_str()); | 545 EXPECT_STREQ(kSearchTextURL, url.spec().c_str()); |
| 545 | 546 |
| 546 // Test that entering a single character then Enter performs a search. | 547 // Test that entering a single character then Enter performs a search. |
| 547 browser()->FocusLocationBar(); | 548 browser()->FocusLocationBar(); |
| 548 EXPECT_TRUE(edit_view->IsSelectAll()); | 549 EXPECT_TRUE(edit_view->IsSelectAll()); |
| 549 ASSERT_NO_FATAL_FAILURE(SendKeySequence(kSearchSingleCharKeys)); | 550 ASSERT_NO_FATAL_FAILURE(SendKeySequence(kSearchSingleCharKeys)); |
| 550 ASSERT_NO_FATAL_FAILURE(WaitForAutocompleteControllerDone()); | 551 ASSERT_NO_FATAL_FAILURE(WaitForAutocompleteControllerDone()); |
| 551 ASSERT_TRUE(popup_model->IsOpen()); | 552 ASSERT_TRUE(popup_model->IsOpen()); |
| 552 EXPECT_EQ(kSearchSingleChar, WideToUTF8(edit_view->GetText())); | 553 EXPECT_EQ(kSearchSingleChar, UTF16ToUTF8(edit_view->GetText())); |
| 553 | 554 |
| 554 // Check if the default match result is Search Primary Provider. | 555 // Check if the default match result is Search Primary Provider. |
| 555 ASSERT_EQ(AutocompleteMatch::SEARCH_WHAT_YOU_TYPED, | 556 ASSERT_EQ(AutocompleteMatch::SEARCH_WHAT_YOU_TYPED, |
| 556 popup_model->result().default_match()->type); | 557 popup_model->result().default_match()->type); |
| 557 | 558 |
| 558 // Open the default match. | 559 // Open the default match. |
| 559 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_RETURN, false, false, false)); | 560 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_RETURN, false, false, false)); |
| 560 url = browser()->GetSelectedTabContents()->GetURL(); | 561 url = browser()->GetSelectedTabContents()->GetURL(); |
| 561 EXPECT_STREQ(kSearchSingleCharURL, url.spec().c_str()); | 562 EXPECT_STREQ(kSearchSingleCharURL, url.spec().c_str()); |
| 562 } | 563 } |
| 563 | 564 |
| 564 void EscapeToDefaultMatchTest() { | 565 void EscapeToDefaultMatchTest() { |
| 565 AutocompleteEditView* edit_view = NULL; | 566 AutocompleteEditView* edit_view = NULL; |
| 566 ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view)); | 567 ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view)); |
| 567 AutocompletePopupModel* popup_model = edit_view->model()->popup_model(); | 568 AutocompletePopupModel* popup_model = edit_view->model()->popup_model(); |
| 568 ASSERT_TRUE(popup_model); | 569 ASSERT_TRUE(popup_model); |
| 569 | 570 |
| 570 // Input something to trigger inline autocomplete. | 571 // Input something to trigger inline autocomplete. |
| 571 ASSERT_NO_FATAL_FAILURE(SendKeySequence(kInlineAutocompleteTextKeys)); | 572 ASSERT_NO_FATAL_FAILURE(SendKeySequence(kInlineAutocompleteTextKeys)); |
| 572 ASSERT_NO_FATAL_FAILURE(WaitForAutocompleteControllerDone()); | 573 ASSERT_NO_FATAL_FAILURE(WaitForAutocompleteControllerDone()); |
| 573 ASSERT_TRUE(popup_model->IsOpen()); | 574 ASSERT_TRUE(popup_model->IsOpen()); |
| 574 | 575 |
| 575 std::wstring old_text = edit_view->GetText(); | 576 string16 old_text = edit_view->GetText(); |
| 576 | 577 |
| 577 // Make sure inline autocomplete is triggerred. | 578 // Make sure inline autocomplete is triggerred. |
| 578 EXPECT_GT(old_text.length(), arraysize(kInlineAutocompleteText) - 1); | 579 EXPECT_GT(old_text.length(), arraysize(kInlineAutocompleteText) - 1); |
| 579 | 580 |
| 580 size_t old_selected_line = popup_model->selected_line(); | 581 size_t old_selected_line = popup_model->selected_line(); |
| 581 EXPECT_EQ(0U, old_selected_line); | 582 EXPECT_EQ(0U, old_selected_line); |
| 582 | 583 |
| 583 // Move to another line with different text. | 584 // Move to another line with different text. |
| 584 size_t size = popup_model->result().size(); | 585 size_t size = popup_model->result().size(); |
| 585 while (popup_model->selected_line() < size - 1) { | 586 while (popup_model->selected_line() < size - 1) { |
| (...skipping 11 matching lines...) Expand all Loading... |
| 597 EXPECT_EQ(old_selected_line, popup_model->selected_line()); | 598 EXPECT_EQ(old_selected_line, popup_model->selected_line()); |
| 598 } | 599 } |
| 599 | 600 |
| 600 void BasicTextOperationsTest() { | 601 void BasicTextOperationsTest() { |
| 601 ui_test_utils::NavigateToURL(browser(), GURL(chrome::kAboutBlankURL)); | 602 ui_test_utils::NavigateToURL(browser(), GURL(chrome::kAboutBlankURL)); |
| 602 browser()->FocusLocationBar(); | 603 browser()->FocusLocationBar(); |
| 603 | 604 |
| 604 AutocompleteEditView* edit_view = NULL; | 605 AutocompleteEditView* edit_view = NULL; |
| 605 ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view)); | 606 ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view)); |
| 606 | 607 |
| 607 std::wstring old_text = edit_view->GetText(); | 608 string16 old_text = edit_view->GetText(); |
| 608 EXPECT_EQ(UTF8ToWide(chrome::kAboutBlankURL), old_text); | 609 EXPECT_EQ(UTF8ToUTF16(chrome::kAboutBlankURL), old_text); |
| 609 EXPECT_TRUE(edit_view->IsSelectAll()); | 610 EXPECT_TRUE(edit_view->IsSelectAll()); |
| 610 | 611 |
| 611 std::wstring::size_type start, end; | 612 string16::size_type start, end; |
| 612 edit_view->GetSelectionBounds(&start, &end); | 613 edit_view->GetSelectionBounds(&start, &end); |
| 613 EXPECT_EQ(0U, start); | 614 EXPECT_EQ(0U, start); |
| 614 EXPECT_EQ(old_text.size(), end); | 615 EXPECT_EQ(old_text.size(), end); |
| 615 | 616 |
| 616 // Move the cursor to the end. | 617 // Move the cursor to the end. |
| 617 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_END, false, false, false)); | 618 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_END, false, false, false)); |
| 618 EXPECT_FALSE(edit_view->IsSelectAll()); | 619 EXPECT_FALSE(edit_view->IsSelectAll()); |
| 619 | 620 |
| 620 // Make sure the cursor is placed correctly. | 621 // Make sure the cursor is placed correctly. |
| 621 edit_view->GetSelectionBounds(&start, &end); | 622 edit_view->GetSelectionBounds(&start, &end); |
| 622 EXPECT_EQ(old_text.size(), start); | 623 EXPECT_EQ(old_text.size(), start); |
| 623 EXPECT_EQ(old_text.size(), end); | 624 EXPECT_EQ(old_text.size(), end); |
| 624 | 625 |
| 625 // Insert one character at the end. Make sure we won't insert | 626 // Insert one character at the end. Make sure we won't insert |
| 626 // anything after the special ZWS mark used in gtk implementation. | 627 // anything after the special ZWS mark used in gtk implementation. |
| 627 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_A, false, false, false)); | 628 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_A, false, false, false)); |
| 628 EXPECT_EQ(old_text + L"a", edit_view->GetText()); | 629 EXPECT_EQ(old_text + char16('a'), edit_view->GetText()); |
| 629 | 630 |
| 630 // Delete one character from the end. Make sure we won't delete the special | 631 // Delete one character from the end. Make sure we won't delete the special |
| 631 // ZWS mark used in gtk implementation. | 632 // ZWS mark used in gtk implementation. |
| 632 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, false, false, false)); | 633 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, false, false, false)); |
| 633 EXPECT_EQ(old_text, edit_view->GetText()); | 634 EXPECT_EQ(old_text, edit_view->GetText()); |
| 634 | 635 |
| 635 edit_view->SelectAll(true); | 636 edit_view->SelectAll(true); |
| 636 EXPECT_TRUE(edit_view->IsSelectAll()); | 637 EXPECT_TRUE(edit_view->IsSelectAll()); |
| 637 edit_view->GetSelectionBounds(&start, &end); | 638 edit_view->GetSelectionBounds(&start, &end); |
| 638 EXPECT_EQ(0U, start); | 639 EXPECT_EQ(0U, start); |
| (...skipping 13 matching lines...) Expand all Loading... |
| 652 EXPECT_EQ(old_text, edit_view->GetText()); | 653 EXPECT_EQ(old_text, edit_view->GetText()); |
| 653 edit_view->GetSelectionBounds(&start, &end); | 654 edit_view->GetSelectionBounds(&start, &end); |
| 654 EXPECT_EQ(old_text.size(), start); | 655 EXPECT_EQ(old_text.size(), start); |
| 655 EXPECT_EQ(old_text.size(), end); | 656 EXPECT_EQ(old_text.size(), end); |
| 656 } | 657 } |
| 657 | 658 |
| 658 void AcceptKeywordBySpaceTest() { | 659 void AcceptKeywordBySpaceTest() { |
| 659 AutocompleteEditView* edit_view = NULL; | 660 AutocompleteEditView* edit_view = NULL; |
| 660 ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view)); | 661 ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view)); |
| 661 | 662 |
| 662 std::wstring text = UTF8ToWide(kSearchKeyword); | 663 string16 text = UTF8ToUTF16(kSearchKeyword); |
| 663 | 664 |
| 664 // Trigger keyword hint mode. | 665 // Trigger keyword hint mode. |
| 665 ASSERT_NO_FATAL_FAILURE(SendKeySequence(kSearchKeywordKeys)); | 666 ASSERT_NO_FATAL_FAILURE(SendKeySequence(kSearchKeywordKeys)); |
| 666 ASSERT_TRUE(edit_view->model()->is_keyword_hint()); | 667 ASSERT_TRUE(edit_view->model()->is_keyword_hint()); |
| 667 ASSERT_EQ(text, edit_view->model()->keyword()); | 668 ASSERT_EQ(text, edit_view->model()->keyword()); |
| 668 ASSERT_EQ(text, edit_view->GetText()); | 669 ASSERT_EQ(text, edit_view->GetText()); |
| 669 | 670 |
| 670 // Trigger keyword mode by space. | 671 // Trigger keyword mode by space. |
| 671 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_SPACE, false, false, false)); | 672 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_SPACE, false, false, false)); |
| 672 ASSERT_FALSE(edit_view->model()->is_keyword_hint()); | 673 ASSERT_FALSE(edit_view->model()->is_keyword_hint()); |
| 673 ASSERT_EQ(text, edit_view->model()->keyword()); | 674 ASSERT_EQ(text, edit_view->model()->keyword()); |
| 674 ASSERT_TRUE(edit_view->GetText().empty()); | 675 ASSERT_TRUE(edit_view->GetText().empty()); |
| 675 | 676 |
| 676 // Revert to keyword hint mode. | 677 // Revert to keyword hint mode. |
| 677 edit_view->model()->ClearKeyword(std::wstring()); | 678 edit_view->model()->ClearKeyword(string16()); |
| 678 ASSERT_TRUE(edit_view->model()->is_keyword_hint()); | 679 ASSERT_TRUE(edit_view->model()->is_keyword_hint()); |
| 679 ASSERT_EQ(text, edit_view->model()->keyword()); | 680 ASSERT_EQ(text, edit_view->model()->keyword()); |
| 680 ASSERT_EQ(text, edit_view->GetText()); | 681 ASSERT_EQ(text, edit_view->GetText()); |
| 681 | 682 |
| 682 // Keyword should also be accepted by typing an ideographic space. | 683 // Keyword should also be accepted by typing an ideographic space. |
| 683 edit_view->OnBeforePossibleChange(); | 684 edit_view->OnBeforePossibleChange(); |
| 684 edit_view->SetWindowTextAndCaretPos(text + L"\x3000", text.length() + 1); | 685 edit_view->SetWindowTextAndCaretPos(text + WideToUTF16(L"\x3000"), |
| 686 text.length() + 1); |
| 685 edit_view->OnAfterPossibleChange(); | 687 edit_view->OnAfterPossibleChange(); |
| 686 ASSERT_FALSE(edit_view->model()->is_keyword_hint()); | 688 ASSERT_FALSE(edit_view->model()->is_keyword_hint()); |
| 687 ASSERT_EQ(text, edit_view->model()->keyword()); | 689 ASSERT_EQ(text, edit_view->model()->keyword()); |
| 688 ASSERT_TRUE(edit_view->GetText().empty()); | 690 ASSERT_TRUE(edit_view->GetText().empty()); |
| 689 | 691 |
| 690 // Revert to keyword hint mode. | 692 // Revert to keyword hint mode. |
| 691 edit_view->model()->ClearKeyword(std::wstring()); | 693 edit_view->model()->ClearKeyword(string16()); |
| 692 ASSERT_TRUE(edit_view->model()->is_keyword_hint()); | 694 ASSERT_TRUE(edit_view->model()->is_keyword_hint()); |
| 693 ASSERT_EQ(text, edit_view->model()->keyword()); | 695 ASSERT_EQ(text, edit_view->model()->keyword()); |
| 694 ASSERT_EQ(text, edit_view->GetText()); | 696 ASSERT_EQ(text, edit_view->GetText()); |
| 695 | 697 |
| 696 // Keyword shouldn't be accepted by pasting. | 698 // Keyword shouldn't be accepted by pasting. |
| 697 // Simulate pasting a whitespace to the end of content. | 699 // Simulate pasting a whitespace to the end of content. |
| 698 edit_view->OnBeforePossibleChange(); | 700 edit_view->OnBeforePossibleChange(); |
| 699 edit_view->model()->on_paste(); | 701 edit_view->model()->on_paste(); |
| 700 edit_view->SetWindowTextAndCaretPos(text + L" ", text.length() + 1); | 702 edit_view->SetWindowTextAndCaretPos(text + char16(' '), text.length() + 1); |
| 701 edit_view->OnAfterPossibleChange(); | 703 edit_view->OnAfterPossibleChange(); |
| 702 // Should be still in keyword hint mode. | 704 // Should be still in keyword hint mode. |
| 703 ASSERT_TRUE(edit_view->model()->is_keyword_hint()); | 705 ASSERT_TRUE(edit_view->model()->is_keyword_hint()); |
| 704 ASSERT_EQ(text, edit_view->model()->keyword()); | 706 ASSERT_EQ(text, edit_view->model()->keyword()); |
| 705 ASSERT_EQ(text + L" ", edit_view->GetText()); | 707 ASSERT_EQ(text + char16(' '), edit_view->GetText()); |
| 706 | 708 |
| 707 // Keyword shouldn't be accepted by pressing space with a trailing | 709 // Keyword shouldn't be accepted by pressing space with a trailing |
| 708 // whitespace. | 710 // whitespace. |
| 709 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_SPACE, false, false, false)); | 711 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_SPACE, false, false, false)); |
| 710 ASSERT_TRUE(edit_view->model()->is_keyword_hint()); | 712 ASSERT_TRUE(edit_view->model()->is_keyword_hint()); |
| 711 ASSERT_EQ(text, edit_view->model()->keyword()); | 713 ASSERT_EQ(text, edit_view->model()->keyword()); |
| 712 ASSERT_EQ(text + L" ", edit_view->GetText()); | 714 ASSERT_EQ(text + ASCIIToUTF16(" "), edit_view->GetText()); |
| 713 | 715 |
| 714 // Keyword shouldn't be accepted by deleting the trailing space. | 716 // Keyword shouldn't be accepted by deleting the trailing space. |
| 715 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, false, false, false)); | 717 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, false, false, false)); |
| 716 ASSERT_TRUE(edit_view->model()->is_keyword_hint()); | 718 ASSERT_TRUE(edit_view->model()->is_keyword_hint()); |
| 717 ASSERT_EQ(text, edit_view->model()->keyword()); | 719 ASSERT_EQ(text, edit_view->model()->keyword()); |
| 718 ASSERT_EQ(text + L" ", edit_view->GetText()); | 720 ASSERT_EQ(text + char16(' '), edit_view->GetText()); |
| 719 | 721 |
| 720 // Keyword shouldn't be accepted by pressing space in the middle | 722 // Keyword shouldn't be accepted by pressing space in the middle |
| 721 // of content. | 723 // of content. |
| 722 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_LEFT, false, false, false)); | 724 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_LEFT, false, false, false)); |
| 723 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_SPACE, false, false, false)); | 725 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_SPACE, false, false, false)); |
| 724 ASSERT_TRUE(edit_view->model()->is_keyword_hint()); | 726 ASSERT_TRUE(edit_view->model()->is_keyword_hint()); |
| 725 ASSERT_EQ(text, edit_view->model()->keyword()); | 727 ASSERT_EQ(text, edit_view->model()->keyword()); |
| 726 ASSERT_EQ(text + L" ", edit_view->GetText()); | 728 ASSERT_EQ(text + ASCIIToUTF16(" "), edit_view->GetText()); |
| 727 | 729 |
| 728 // Keyword shouldn't be accepted by pasting "foo bar". | 730 // Keyword shouldn't be accepted by pasting "foo bar". |
| 729 edit_view->SetUserText(std::wstring()); | 731 edit_view->SetUserText(string16()); |
| 730 ASSERT_FALSE(edit_view->model()->is_keyword_hint()); | 732 ASSERT_FALSE(edit_view->model()->is_keyword_hint()); |
| 731 ASSERT_TRUE(edit_view->model()->keyword().empty()); | 733 ASSERT_TRUE(edit_view->model()->keyword().empty()); |
| 732 | 734 |
| 733 edit_view->OnBeforePossibleChange(); | 735 edit_view->OnBeforePossibleChange(); |
| 734 edit_view->model()->on_paste(); | 736 edit_view->model()->on_paste(); |
| 735 edit_view->SetWindowTextAndCaretPos(text + L" bar", text.length() + 4); | 737 edit_view->SetWindowTextAndCaretPos(text + ASCIIToUTF16(" bar"), |
| 738 text.length() + 4); |
| 736 edit_view->OnAfterPossibleChange(); | 739 edit_view->OnAfterPossibleChange(); |
| 737 ASSERT_FALSE(edit_view->model()->is_keyword_hint()); | 740 ASSERT_FALSE(edit_view->model()->is_keyword_hint()); |
| 738 ASSERT_TRUE(edit_view->model()->keyword().empty()); | 741 ASSERT_TRUE(edit_view->model()->keyword().empty()); |
| 739 ASSERT_EQ(text + L" bar", edit_view->GetText()); | 742 ASSERT_EQ(text + ASCIIToUTF16(" bar"), edit_view->GetText()); |
| 740 | 743 |
| 741 // Keyword shouldn't be accepted by pressing space with a selected range. | 744 // Keyword shouldn't be accepted by pressing space with a selected range. |
| 742 edit_view->OnBeforePossibleChange(); | 745 edit_view->OnBeforePossibleChange(); |
| 743 edit_view->OnInlineAutocompleteTextMaybeChanged( | 746 edit_view->OnInlineAutocompleteTextMaybeChanged( |
| 744 text + L" ", text.length()); | 747 text + ASCIIToUTF16(" "), text.length()); |
| 745 edit_view->OnAfterPossibleChange(); | 748 edit_view->OnAfterPossibleChange(); |
| 746 ASSERT_TRUE(edit_view->model()->is_keyword_hint()); | 749 ASSERT_TRUE(edit_view->model()->is_keyword_hint()); |
| 747 ASSERT_EQ(text, edit_view->model()->keyword()); | 750 ASSERT_EQ(text, edit_view->model()->keyword()); |
| 748 ASSERT_EQ(text + L" ", edit_view->GetText()); | 751 ASSERT_EQ(text + ASCIIToUTF16(" "), edit_view->GetText()); |
| 749 | 752 |
| 750 std::wstring::size_type start, end; | 753 string16::size_type start, end; |
| 751 edit_view->GetSelectionBounds(&start, &end); | 754 edit_view->GetSelectionBounds(&start, &end); |
| 752 ASSERT_NE(start, end); | 755 ASSERT_NE(start, end); |
| 753 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_SPACE, false, false, false)); | 756 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_SPACE, false, false, false)); |
| 754 ASSERT_TRUE(edit_view->model()->is_keyword_hint()); | 757 ASSERT_TRUE(edit_view->model()->is_keyword_hint()); |
| 755 ASSERT_EQ(text, edit_view->model()->keyword()); | 758 ASSERT_EQ(text, edit_view->model()->keyword()); |
| 756 ASSERT_EQ(text + L" ", edit_view->GetText()); | 759 ASSERT_EQ(text + ASCIIToUTF16(" "), edit_view->GetText()); |
| 757 | 760 |
| 758 edit_view->GetSelectionBounds(&start, &end); | 761 edit_view->GetSelectionBounds(&start, &end); |
| 759 ASSERT_EQ(start, end); | 762 ASSERT_EQ(start, end); |
| 760 } | 763 } |
| 761 | 764 |
| 762 }; | 765 }; |
| 763 | 766 |
| 764 // Test if ctrl-* accelerators are workable in omnibox. | 767 // Test if ctrl-* accelerators are workable in omnibox. |
| 765 // See http://crbug.com/19193: omnibox blocks ctrl-* commands | 768 // See http://crbug.com/19193: omnibox blocks ctrl-* commands |
| 766 // | 769 // |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 816 // TODO(oshima): enable these tests for views-implmentation when | 819 // TODO(oshima): enable these tests for views-implmentation when |
| 817 // these featuers are supported. | 820 // these featuers are supported. |
| 818 | 821 |
| 819 IN_PROC_BROWSER_TEST_F(AutocompleteEditViewTest, UndoRedoLinux) { | 822 IN_PROC_BROWSER_TEST_F(AutocompleteEditViewTest, UndoRedoLinux) { |
| 820 ui_test_utils::NavigateToURL(browser(), GURL(chrome::kAboutBlankURL)); | 823 ui_test_utils::NavigateToURL(browser(), GURL(chrome::kAboutBlankURL)); |
| 821 browser()->FocusLocationBar(); | 824 browser()->FocusLocationBar(); |
| 822 | 825 |
| 823 AutocompleteEditView* edit_view = NULL; | 826 AutocompleteEditView* edit_view = NULL; |
| 824 ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view)); | 827 ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view)); |
| 825 | 828 |
| 826 std::wstring old_text = edit_view->GetText(); | 829 string16 old_text = edit_view->GetText(); |
| 827 EXPECT_EQ(UTF8ToWide(chrome::kAboutBlankURL), old_text); | 830 EXPECT_EQ(UTF8ToUTF16(chrome::kAboutBlankURL), old_text); |
| 828 EXPECT_TRUE(edit_view->IsSelectAll()); | 831 EXPECT_TRUE(edit_view->IsSelectAll()); |
| 829 | 832 |
| 830 // Undo should clear the omnibox. | 833 // Undo should clear the omnibox. |
| 831 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_Z, true, false, false)); | 834 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_Z, true, false, false)); |
| 832 EXPECT_TRUE(edit_view->GetText().empty()); | 835 EXPECT_TRUE(edit_view->GetText().empty()); |
| 833 | 836 |
| 834 // Nothing should happen if undo again. | 837 // Nothing should happen if undo again. |
| 835 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_Z, true, false, false)); | 838 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_Z, true, false, false)); |
| 836 EXPECT_TRUE(edit_view->GetText().empty()); | 839 EXPECT_TRUE(edit_view->GetText().empty()); |
| 837 | 840 |
| 838 // Redo should restore the original text. | 841 // Redo should restore the original text. |
| 839 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_Z, true, true, false)); | 842 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_Z, true, true, false)); |
| 840 EXPECT_EQ(old_text, edit_view->GetText()); | 843 EXPECT_EQ(old_text, edit_view->GetText()); |
| 841 | 844 |
| 842 // Looks like the undo manager doesn't support restoring selection. | 845 // Looks like the undo manager doesn't support restoring selection. |
| 843 EXPECT_FALSE(edit_view->IsSelectAll()); | 846 EXPECT_FALSE(edit_view->IsSelectAll()); |
| 844 | 847 |
| 845 // The cursor should be at the end. | 848 // The cursor should be at the end. |
| 846 std::wstring::size_type start, end; | 849 string16::size_type start, end; |
| 847 edit_view->GetSelectionBounds(&start, &end); | 850 edit_view->GetSelectionBounds(&start, &end); |
| 848 EXPECT_EQ(old_text.size(), start); | 851 EXPECT_EQ(old_text.size(), start); |
| 849 EXPECT_EQ(old_text.size(), end); | 852 EXPECT_EQ(old_text.size(), end); |
| 850 | 853 |
| 851 // Delete two characters. | 854 // Delete two characters. |
| 852 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, false, false, false)); | 855 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, false, false, false)); |
| 853 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, false, false, false)); | 856 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, false, false, false)); |
| 854 EXPECT_EQ(old_text.substr(0, old_text.size() - 2), edit_view->GetText()); | 857 EXPECT_EQ(old_text.substr(0, old_text.size() - 2), edit_view->GetText()); |
| 855 | 858 |
| 856 // Undo delete. | 859 // Undo delete. |
| (...skipping 19 matching lines...) Expand all Loading... |
| 876 | 879 |
| 877 // Undo again. | 880 // Undo again. |
| 878 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_Z, true, false, false)); | 881 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_Z, true, false, false)); |
| 879 EXPECT_TRUE(edit_view->GetText().empty()); | 882 EXPECT_TRUE(edit_view->GetText().empty()); |
| 880 } | 883 } |
| 881 | 884 |
| 882 // See http://crbug.com/63860 | 885 // See http://crbug.com/63860 |
| 883 IN_PROC_BROWSER_TEST_F(AutocompleteEditViewTest, PrimarySelection) { | 886 IN_PROC_BROWSER_TEST_F(AutocompleteEditViewTest, PrimarySelection) { |
| 884 AutocompleteEditView* edit_view = NULL; | 887 AutocompleteEditView* edit_view = NULL; |
| 885 ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view)); | 888 ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view)); |
| 886 edit_view->SetUserText(L"Hello world"); | 889 edit_view->SetUserText(ASCIIToUTF16("Hello world")); |
| 887 EXPECT_FALSE(edit_view->IsSelectAll()); | 890 EXPECT_FALSE(edit_view->IsSelectAll()); |
| 888 | 891 |
| 889 // Move the cursor to the end. | 892 // Move the cursor to the end. |
| 890 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_END, false, false, false)); | 893 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_END, false, false, false)); |
| 891 | 894 |
| 892 // Select all text by pressing Shift+Home | 895 // Select all text by pressing Shift+Home |
| 893 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_HOME, false, true, false)); | 896 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_HOME, false, true, false)); |
| 894 EXPECT_TRUE(edit_view->IsSelectAll()); | 897 EXPECT_TRUE(edit_view->IsSelectAll()); |
| 895 | 898 |
| 896 // The selected content should be saved to the PRIMARY clipboard. | 899 // The selected content should be saved to the PRIMARY clipboard. |
| 897 EXPECT_EQ("Hello world", GetPrimarySelectionText()); | 900 EXPECT_EQ("Hello world", GetPrimarySelectionText()); |
| 898 | 901 |
| 899 // Move the cursor to the end. | 902 // Move the cursor to the end. |
| 900 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_END, false, false, false)); | 903 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_END, false, false, false)); |
| 901 EXPECT_FALSE(edit_view->IsSelectAll()); | 904 EXPECT_FALSE(edit_view->IsSelectAll()); |
| 902 | 905 |
| 903 // The content in the PRIMARY clipboard should not be cleared. | 906 // The content in the PRIMARY clipboard should not be cleared. |
| 904 EXPECT_EQ("Hello world", GetPrimarySelectionText()); | 907 EXPECT_EQ("Hello world", GetPrimarySelectionText()); |
| 905 } | 908 } |
| 906 | 909 |
| 907 // See http://crosbug.com/10306 | 910 // See http://crosbug.com/10306 |
| 908 IN_PROC_BROWSER_TEST_F(AutocompleteEditViewTest, | 911 IN_PROC_BROWSER_TEST_F(AutocompleteEditViewTest, |
| 909 BackspaceDeleteHalfWidthKatakana) { | 912 BackspaceDeleteHalfWidthKatakana) { |
| 910 AutocompleteEditView* edit_view = NULL; | 913 AutocompleteEditView* edit_view = NULL; |
| 911 ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view)); | 914 ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view)); |
| 912 // Insert text: ダ | 915 // Insert text: ダ |
| 913 edit_view->SetUserText(UTF8ToWide("\357\276\200\357\276\236")); | 916 edit_view->SetUserText(UTF8ToUTF16("\357\276\200\357\276\236")); |
| 914 | 917 |
| 915 // Move the cursor to the end. | 918 // Move the cursor to the end. |
| 916 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_END, false, false, false)); | 919 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_END, false, false, false)); |
| 917 | 920 |
| 918 // Backspace should delete one character. | 921 // Backspace should delete one character. |
| 919 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, false, false, false)); | 922 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, false, false, false)); |
| 920 EXPECT_EQ(UTF8ToWide("\357\276\200"), edit_view->GetText()); | 923 EXPECT_EQ(UTF8ToUTF16("\357\276\200"), edit_view->GetText()); |
| 921 } | 924 } |
| 922 | 925 |
| 923 // http://crbug.com/12316 | 926 // http://crbug.com/12316 |
| 924 IN_PROC_BROWSER_TEST_F(AutocompleteEditViewTest, PasteReplacingAll) { | 927 IN_PROC_BROWSER_TEST_F(AutocompleteEditViewTest, PasteReplacingAll) { |
| 925 AutocompleteEditView* edit_view = NULL; | 928 AutocompleteEditView* edit_view = NULL; |
| 926 ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view)); | 929 ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view)); |
| 927 AutocompletePopupModel* popup_model = edit_view->model()->popup_model(); | 930 AutocompletePopupModel* popup_model = edit_view->model()->popup_model(); |
| 928 ASSERT_TRUE(popup_model); | 931 ASSERT_TRUE(popup_model); |
| 929 | 932 |
| 930 SetClipboardText(kSearchText); | 933 SetClipboardText(kSearchText); |
| 931 | 934 |
| 932 // Paste text. | 935 // Paste text. |
| 933 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_V, true, false, false)); | 936 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_V, true, false, false)); |
| 934 ASSERT_NO_FATAL_FAILURE(WaitForAutocompleteControllerDone()); | 937 ASSERT_NO_FATAL_FAILURE(WaitForAutocompleteControllerDone()); |
| 935 ASSERT_TRUE(popup_model->IsOpen()); | 938 ASSERT_TRUE(popup_model->IsOpen()); |
| 936 | 939 |
| 937 // Inline autocomplete shouldn't be triggered. | 940 // Inline autocomplete shouldn't be triggered. |
| 938 ASSERT_EQ(L"abc", edit_view->GetText()); | 941 ASSERT_EQ(ASCIIToUTF16("abc"), edit_view->GetText()); |
| 939 } | 942 } |
| 940 #endif | 943 #endif |
| 941 | 944 |
| 942 #if defined(TOOLKIT_VIEWS) | 945 #if defined(TOOLKIT_VIEWS) |
| 943 class AutocompleteEditViewViewsTest : public AutocompleteEditViewTest { | 946 class AutocompleteEditViewViewsTest : public AutocompleteEditViewTest { |
| 944 public: | 947 public: |
| 945 AutocompleteEditViewViewsTest() { | 948 AutocompleteEditViewViewsTest() { |
| 946 views::NativeTextfieldViews::SetEnableTextfieldViews(true); | 949 views::NativeTextfieldViews::SetEnableTextfieldViews(true); |
| 947 } | 950 } |
| 948 }; | 951 }; |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 982 | 985 |
| 983 IN_PROC_BROWSER_TEST_F(AutocompleteEditViewViewsTest, BasicTextOperations) { | 986 IN_PROC_BROWSER_TEST_F(AutocompleteEditViewViewsTest, BasicTextOperations) { |
| 984 BasicTextOperationsTest(); | 987 BasicTextOperationsTest(); |
| 985 } | 988 } |
| 986 | 989 |
| 987 IN_PROC_BROWSER_TEST_F(AutocompleteEditViewViewsTest, AcceptKeywordBySpace) { | 990 IN_PROC_BROWSER_TEST_F(AutocompleteEditViewViewsTest, AcceptKeywordBySpace) { |
| 988 AcceptKeywordBySpaceTest(); | 991 AcceptKeywordBySpaceTest(); |
| 989 } | 992 } |
| 990 | 993 |
| 991 #endif | 994 #endif |
| OLD | NEW |