| 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(ASCIIToUTF16("Hello world")); | 354 edit_view->SetUserText(L"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(ASCIIToUTF16("Hello worlds"), edit_view->GetText()); | 363 EXPECT_EQ(L"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(ASCIIToUTF16("Hello "), edit_view->GetText()); | 369 EXPECT_EQ(L"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(ASCIIToUTF16("Hello world")); | 399 edit_view->SetUserText(L"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(ASCIIToUTF16("Hello world"), edit_view->GetText()); | 410 EXPECT_EQ(L"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(ASCIIToUTF16("Hello world"), edit_view->GetText()); | 418 EXPECT_EQ(L"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, UTF16ToUTF8(edit_view->model()->keyword())); | 435 ASSERT_EQ(kSearchKeyword, WideToUTF8(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, UTF16ToUTF8(edit_view->model()->keyword())); | 440 ASSERT_EQ(kSearchKeyword, WideToUTF8(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, UTF16ToUTF8(edit_view->model()->keyword())); | 445 ASSERT_EQ(kSearchKeyword, WideToUTF8(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, UTF16ToUTF8(edit_view->model()->keyword())); | 450 ASSERT_EQ(kSearchKeyword, WideToUTF8(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, UTF16ToUTF8(edit_view->model()->keyword())); | 460 ASSERT_EQ(kSearchKeyword, WideToUTF8(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(string16(), edit_view->model()->keyword()); | 472 ASSERT_EQ(std::string(), WideToUTF8(edit_view->model()->keyword())); |
| 473 ASSERT_EQ(std::string(kSearchKeyword) + kSearchText, | 473 ASSERT_EQ(std::string(kSearchKeyword) + kSearchText, |
| 474 UTF16ToUTF8(edit_view->GetText())); | 474 WideToUTF8(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 string16 old_text = edit_view->GetText(); | 484 std::wstring 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 | 508 // ctrl-Enter triggers desired_tld feature, thus www.bar.com shall be opened
. |
| 509 // opened. | |
| 510 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_RETURN, true, false, false)); | 509 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_RETURN, true, false, false)); |
| 511 | 510 |
| 512 GURL url = browser()->GetSelectedTabContents()->GetURL(); | 511 GURL url = browser()->GetSelectedTabContents()->GetURL(); |
| 513 EXPECT_STREQ(kDesiredTLDHostname, url.host().c_str()); | 512 EXPECT_STREQ(kDesiredTLDHostname, url.host().c_str()); |
| 514 } | 513 } |
| 515 | 514 |
| 516 void AltEnterTest() { | 515 void AltEnterTest() { |
| 517 AutocompleteEditView* edit_view = NULL; | 516 AutocompleteEditView* edit_view = NULL; |
| 518 ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view)); | 517 ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view)); |
| 519 | 518 |
| 520 edit_view->SetUserText(ASCIIToUTF16(chrome::kChromeUIHistoryURL)); | 519 edit_view->SetUserText(ASCIIToWide(chrome::kChromeUIHistoryURL)); |
| 521 int tab_count = browser()->tab_count(); | 520 int tab_count = browser()->tab_count(); |
| 522 // alt-Enter opens a new tab. | 521 // alt-Enter opens a new tab. |
| 523 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_RETURN, false, false, true)); | 522 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_RETURN, false, false, true)); |
| 524 ASSERT_NO_FATAL_FAILURE(WaitForTabOpenOrClose(tab_count + 1)); | 523 ASSERT_NO_FATAL_FAILURE(WaitForTabOpenOrClose(tab_count + 1)); |
| 525 } | 524 } |
| 526 | 525 |
| 527 void EnterToSearchTest() { | 526 void EnterToSearchTest() { |
| 528 AutocompleteEditView* edit_view = NULL; | 527 AutocompleteEditView* edit_view = NULL; |
| 529 ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view)); | 528 ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view)); |
| 530 AutocompletePopupModel* popup_model = edit_view->model()->popup_model(); | 529 AutocompletePopupModel* popup_model = edit_view->model()->popup_model(); |
| (...skipping 12 matching lines...) Expand all Loading... |
| 543 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_RETURN, false, false, false)); | 542 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_RETURN, false, false, false)); |
| 544 GURL url = browser()->GetSelectedTabContents()->GetURL(); | 543 GURL url = browser()->GetSelectedTabContents()->GetURL(); |
| 545 EXPECT_STREQ(kSearchTextURL, url.spec().c_str()); | 544 EXPECT_STREQ(kSearchTextURL, url.spec().c_str()); |
| 546 | 545 |
| 547 // Test that entering a single character then Enter performs a search. | 546 // Test that entering a single character then Enter performs a search. |
| 548 browser()->FocusLocationBar(); | 547 browser()->FocusLocationBar(); |
| 549 EXPECT_TRUE(edit_view->IsSelectAll()); | 548 EXPECT_TRUE(edit_view->IsSelectAll()); |
| 550 ASSERT_NO_FATAL_FAILURE(SendKeySequence(kSearchSingleCharKeys)); | 549 ASSERT_NO_FATAL_FAILURE(SendKeySequence(kSearchSingleCharKeys)); |
| 551 ASSERT_NO_FATAL_FAILURE(WaitForAutocompleteControllerDone()); | 550 ASSERT_NO_FATAL_FAILURE(WaitForAutocompleteControllerDone()); |
| 552 ASSERT_TRUE(popup_model->IsOpen()); | 551 ASSERT_TRUE(popup_model->IsOpen()); |
| 553 EXPECT_EQ(kSearchSingleChar, UTF16ToUTF8(edit_view->GetText())); | 552 EXPECT_EQ(kSearchSingleChar, WideToUTF8(edit_view->GetText())); |
| 554 | 553 |
| 555 // Check if the default match result is Search Primary Provider. | 554 // Check if the default match result is Search Primary Provider. |
| 556 ASSERT_EQ(AutocompleteMatch::SEARCH_WHAT_YOU_TYPED, | 555 ASSERT_EQ(AutocompleteMatch::SEARCH_WHAT_YOU_TYPED, |
| 557 popup_model->result().default_match()->type); | 556 popup_model->result().default_match()->type); |
| 558 | 557 |
| 559 // Open the default match. | 558 // Open the default match. |
| 560 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_RETURN, false, false, false)); | 559 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_RETURN, false, false, false)); |
| 561 url = browser()->GetSelectedTabContents()->GetURL(); | 560 url = browser()->GetSelectedTabContents()->GetURL(); |
| 562 EXPECT_STREQ(kSearchSingleCharURL, url.spec().c_str()); | 561 EXPECT_STREQ(kSearchSingleCharURL, url.spec().c_str()); |
| 563 } | 562 } |
| 564 | 563 |
| 565 void EscapeToDefaultMatchTest() { | 564 void EscapeToDefaultMatchTest() { |
| 566 AutocompleteEditView* edit_view = NULL; | 565 AutocompleteEditView* edit_view = NULL; |
| 567 ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view)); | 566 ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view)); |
| 568 AutocompletePopupModel* popup_model = edit_view->model()->popup_model(); | 567 AutocompletePopupModel* popup_model = edit_view->model()->popup_model(); |
| 569 ASSERT_TRUE(popup_model); | 568 ASSERT_TRUE(popup_model); |
| 570 | 569 |
| 571 // Input something to trigger inline autocomplete. | 570 // Input something to trigger inline autocomplete. |
| 572 ASSERT_NO_FATAL_FAILURE(SendKeySequence(kInlineAutocompleteTextKeys)); | 571 ASSERT_NO_FATAL_FAILURE(SendKeySequence(kInlineAutocompleteTextKeys)); |
| 573 ASSERT_NO_FATAL_FAILURE(WaitForAutocompleteControllerDone()); | 572 ASSERT_NO_FATAL_FAILURE(WaitForAutocompleteControllerDone()); |
| 574 ASSERT_TRUE(popup_model->IsOpen()); | 573 ASSERT_TRUE(popup_model->IsOpen()); |
| 575 | 574 |
| 576 string16 old_text = edit_view->GetText(); | 575 std::wstring old_text = edit_view->GetText(); |
| 577 | 576 |
| 578 // Make sure inline autocomplete is triggerred. | 577 // Make sure inline autocomplete is triggerred. |
| 579 EXPECT_GT(old_text.length(), arraysize(kInlineAutocompleteText) - 1); | 578 EXPECT_GT(old_text.length(), arraysize(kInlineAutocompleteText) - 1); |
| 580 | 579 |
| 581 size_t old_selected_line = popup_model->selected_line(); | 580 size_t old_selected_line = popup_model->selected_line(); |
| 582 EXPECT_EQ(0U, old_selected_line); | 581 EXPECT_EQ(0U, old_selected_line); |
| 583 | 582 |
| 584 // Move to another line with different text. | 583 // Move to another line with different text. |
| 585 size_t size = popup_model->result().size(); | 584 size_t size = popup_model->result().size(); |
| 586 while (popup_model->selected_line() < size - 1) { | 585 while (popup_model->selected_line() < size - 1) { |
| (...skipping 11 matching lines...) Expand all Loading... |
| 598 EXPECT_EQ(old_selected_line, popup_model->selected_line()); | 597 EXPECT_EQ(old_selected_line, popup_model->selected_line()); |
| 599 } | 598 } |
| 600 | 599 |
| 601 void BasicTextOperationsTest() { | 600 void BasicTextOperationsTest() { |
| 602 ui_test_utils::NavigateToURL(browser(), GURL(chrome::kAboutBlankURL)); | 601 ui_test_utils::NavigateToURL(browser(), GURL(chrome::kAboutBlankURL)); |
| 603 browser()->FocusLocationBar(); | 602 browser()->FocusLocationBar(); |
| 604 | 603 |
| 605 AutocompleteEditView* edit_view = NULL; | 604 AutocompleteEditView* edit_view = NULL; |
| 606 ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view)); | 605 ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view)); |
| 607 | 606 |
| 608 string16 old_text = edit_view->GetText(); | 607 std::wstring old_text = edit_view->GetText(); |
| 609 EXPECT_EQ(UTF8ToUTF16(chrome::kAboutBlankURL), old_text); | 608 EXPECT_EQ(UTF8ToWide(chrome::kAboutBlankURL), old_text); |
| 610 EXPECT_TRUE(edit_view->IsSelectAll()); | 609 EXPECT_TRUE(edit_view->IsSelectAll()); |
| 611 | 610 |
| 612 string16::size_type start, end; | 611 std::wstring::size_type start, end; |
| 613 edit_view->GetSelectionBounds(&start, &end); | 612 edit_view->GetSelectionBounds(&start, &end); |
| 614 EXPECT_EQ(0U, start); | 613 EXPECT_EQ(0U, start); |
| 615 EXPECT_EQ(old_text.size(), end); | 614 EXPECT_EQ(old_text.size(), end); |
| 616 | 615 |
| 617 // Move the cursor to the end. | 616 // Move the cursor to the end. |
| 618 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_END, false, false, false)); | 617 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_END, false, false, false)); |
| 619 EXPECT_FALSE(edit_view->IsSelectAll()); | 618 EXPECT_FALSE(edit_view->IsSelectAll()); |
| 620 | 619 |
| 621 // Make sure the cursor is placed correctly. | 620 // Make sure the cursor is placed correctly. |
| 622 edit_view->GetSelectionBounds(&start, &end); | 621 edit_view->GetSelectionBounds(&start, &end); |
| 623 EXPECT_EQ(old_text.size(), start); | 622 EXPECT_EQ(old_text.size(), start); |
| 624 EXPECT_EQ(old_text.size(), end); | 623 EXPECT_EQ(old_text.size(), end); |
| 625 | 624 |
| 626 // Insert one character at the end. Make sure we won't insert | 625 // Insert one character at the end. Make sure we won't insert |
| 627 // anything after the special ZWS mark used in gtk implementation. | 626 // anything after the special ZWS mark used in gtk implementation. |
| 628 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_A, false, false, false)); | 627 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_A, false, false, false)); |
| 629 EXPECT_EQ(old_text + char16('a'), edit_view->GetText()); | 628 EXPECT_EQ(old_text + L"a", edit_view->GetText()); |
| 630 | 629 |
| 631 // Delete one character from the end. Make sure we won't delete the special | 630 // Delete one character from the end. Make sure we won't delete the special |
| 632 // ZWS mark used in gtk implementation. | 631 // ZWS mark used in gtk implementation. |
| 633 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, false, false, false)); | 632 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, false, false, false)); |
| 634 EXPECT_EQ(old_text, edit_view->GetText()); | 633 EXPECT_EQ(old_text, edit_view->GetText()); |
| 635 | 634 |
| 636 edit_view->SelectAll(true); | 635 edit_view->SelectAll(true); |
| 637 EXPECT_TRUE(edit_view->IsSelectAll()); | 636 EXPECT_TRUE(edit_view->IsSelectAll()); |
| 638 edit_view->GetSelectionBounds(&start, &end); | 637 edit_view->GetSelectionBounds(&start, &end); |
| 639 EXPECT_EQ(0U, start); | 638 EXPECT_EQ(0U, start); |
| (...skipping 13 matching lines...) Expand all Loading... |
| 653 EXPECT_EQ(old_text, edit_view->GetText()); | 652 EXPECT_EQ(old_text, edit_view->GetText()); |
| 654 edit_view->GetSelectionBounds(&start, &end); | 653 edit_view->GetSelectionBounds(&start, &end); |
| 655 EXPECT_EQ(old_text.size(), start); | 654 EXPECT_EQ(old_text.size(), start); |
| 656 EXPECT_EQ(old_text.size(), end); | 655 EXPECT_EQ(old_text.size(), end); |
| 657 } | 656 } |
| 658 | 657 |
| 659 void AcceptKeywordBySpaceTest() { | 658 void AcceptKeywordBySpaceTest() { |
| 660 AutocompleteEditView* edit_view = NULL; | 659 AutocompleteEditView* edit_view = NULL; |
| 661 ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view)); | 660 ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view)); |
| 662 | 661 |
| 663 string16 text = UTF8ToUTF16(kSearchKeyword); | 662 std::wstring text = UTF8ToWide(kSearchKeyword); |
| 664 | 663 |
| 665 // Trigger keyword hint mode. | 664 // Trigger keyword hint mode. |
| 666 ASSERT_NO_FATAL_FAILURE(SendKeySequence(kSearchKeywordKeys)); | 665 ASSERT_NO_FATAL_FAILURE(SendKeySequence(kSearchKeywordKeys)); |
| 667 ASSERT_TRUE(edit_view->model()->is_keyword_hint()); | 666 ASSERT_TRUE(edit_view->model()->is_keyword_hint()); |
| 668 ASSERT_EQ(text, edit_view->model()->keyword()); | 667 ASSERT_EQ(text, edit_view->model()->keyword()); |
| 669 ASSERT_EQ(text, edit_view->GetText()); | 668 ASSERT_EQ(text, edit_view->GetText()); |
| 670 | 669 |
| 671 // Trigger keyword mode by space. | 670 // Trigger keyword mode by space. |
| 672 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_SPACE, false, false, false)); | 671 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_SPACE, false, false, false)); |
| 673 ASSERT_FALSE(edit_view->model()->is_keyword_hint()); | 672 ASSERT_FALSE(edit_view->model()->is_keyword_hint()); |
| 674 ASSERT_EQ(text, edit_view->model()->keyword()); | 673 ASSERT_EQ(text, edit_view->model()->keyword()); |
| 675 ASSERT_TRUE(edit_view->GetText().empty()); | 674 ASSERT_TRUE(edit_view->GetText().empty()); |
| 676 | 675 |
| 677 // Revert to keyword hint mode. | 676 // Revert to keyword hint mode. |
| 678 edit_view->model()->ClearKeyword(string16()); | 677 edit_view->model()->ClearKeyword(std::wstring()); |
| 679 ASSERT_TRUE(edit_view->model()->is_keyword_hint()); | 678 ASSERT_TRUE(edit_view->model()->is_keyword_hint()); |
| 680 ASSERT_EQ(text, edit_view->model()->keyword()); | 679 ASSERT_EQ(text, edit_view->model()->keyword()); |
| 681 ASSERT_EQ(text, edit_view->GetText()); | 680 ASSERT_EQ(text, edit_view->GetText()); |
| 682 | 681 |
| 683 // Keyword should also be accepted by typing an ideographic space. | 682 // Keyword should also be accepted by typing an ideographic space. |
| 684 edit_view->OnBeforePossibleChange(); | 683 edit_view->OnBeforePossibleChange(); |
| 685 edit_view->SetWindowTextAndCaretPos(text + WideToUTF16(L"\x3000"), | 684 edit_view->SetWindowTextAndCaretPos(text + L"\x3000", text.length() + 1); |
| 686 text.length() + 1); | |
| 687 edit_view->OnAfterPossibleChange(); | 685 edit_view->OnAfterPossibleChange(); |
| 688 ASSERT_FALSE(edit_view->model()->is_keyword_hint()); | 686 ASSERT_FALSE(edit_view->model()->is_keyword_hint()); |
| 689 ASSERT_EQ(text, edit_view->model()->keyword()); | 687 ASSERT_EQ(text, edit_view->model()->keyword()); |
| 690 ASSERT_TRUE(edit_view->GetText().empty()); | 688 ASSERT_TRUE(edit_view->GetText().empty()); |
| 691 | 689 |
| 692 // Revert to keyword hint mode. | 690 // Revert to keyword hint mode. |
| 693 edit_view->model()->ClearKeyword(string16()); | 691 edit_view->model()->ClearKeyword(std::wstring()); |
| 694 ASSERT_TRUE(edit_view->model()->is_keyword_hint()); | 692 ASSERT_TRUE(edit_view->model()->is_keyword_hint()); |
| 695 ASSERT_EQ(text, edit_view->model()->keyword()); | 693 ASSERT_EQ(text, edit_view->model()->keyword()); |
| 696 ASSERT_EQ(text, edit_view->GetText()); | 694 ASSERT_EQ(text, edit_view->GetText()); |
| 697 | 695 |
| 698 // Keyword shouldn't be accepted by pasting. | 696 // Keyword shouldn't be accepted by pasting. |
| 699 // Simulate pasting a whitespace to the end of content. | 697 // Simulate pasting a whitespace to the end of content. |
| 700 edit_view->OnBeforePossibleChange(); | 698 edit_view->OnBeforePossibleChange(); |
| 701 edit_view->model()->on_paste(); | 699 edit_view->model()->on_paste(); |
| 702 edit_view->SetWindowTextAndCaretPos(text + char16(' '), text.length() + 1); | 700 edit_view->SetWindowTextAndCaretPos(text + L" ", text.length() + 1); |
| 703 edit_view->OnAfterPossibleChange(); | 701 edit_view->OnAfterPossibleChange(); |
| 704 // Should be still in keyword hint mode. | 702 // Should be still in keyword hint mode. |
| 705 ASSERT_TRUE(edit_view->model()->is_keyword_hint()); | 703 ASSERT_TRUE(edit_view->model()->is_keyword_hint()); |
| 706 ASSERT_EQ(text, edit_view->model()->keyword()); | 704 ASSERT_EQ(text, edit_view->model()->keyword()); |
| 707 ASSERT_EQ(text + char16(' '), edit_view->GetText()); | 705 ASSERT_EQ(text + L" ", edit_view->GetText()); |
| 708 | 706 |
| 709 // Keyword shouldn't be accepted by pressing space with a trailing | 707 // Keyword shouldn't be accepted by pressing space with a trailing |
| 710 // whitespace. | 708 // whitespace. |
| 711 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_SPACE, false, false, false)); | 709 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_SPACE, false, false, false)); |
| 712 ASSERT_TRUE(edit_view->model()->is_keyword_hint()); | 710 ASSERT_TRUE(edit_view->model()->is_keyword_hint()); |
| 713 ASSERT_EQ(text, edit_view->model()->keyword()); | 711 ASSERT_EQ(text, edit_view->model()->keyword()); |
| 714 ASSERT_EQ(text + ASCIIToUTF16(" "), edit_view->GetText()); | 712 ASSERT_EQ(text + L" ", edit_view->GetText()); |
| 715 | 713 |
| 716 // Keyword shouldn't be accepted by deleting the trailing space. | 714 // Keyword shouldn't be accepted by deleting the trailing space. |
| 717 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, false, false, false)); | 715 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, false, false, false)); |
| 718 ASSERT_TRUE(edit_view->model()->is_keyword_hint()); | 716 ASSERT_TRUE(edit_view->model()->is_keyword_hint()); |
| 719 ASSERT_EQ(text, edit_view->model()->keyword()); | 717 ASSERT_EQ(text, edit_view->model()->keyword()); |
| 720 ASSERT_EQ(text + char16(' '), edit_view->GetText()); | 718 ASSERT_EQ(text + L" ", edit_view->GetText()); |
| 721 | 719 |
| 722 // Keyword shouldn't be accepted by pressing space in the middle | 720 // Keyword shouldn't be accepted by pressing space in the middle |
| 723 // of content. | 721 // of content. |
| 724 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_LEFT, false, false, false)); | 722 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_LEFT, false, false, false)); |
| 725 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_SPACE, false, false, false)); | 723 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_SPACE, false, false, false)); |
| 726 ASSERT_TRUE(edit_view->model()->is_keyword_hint()); | 724 ASSERT_TRUE(edit_view->model()->is_keyword_hint()); |
| 727 ASSERT_EQ(text, edit_view->model()->keyword()); | 725 ASSERT_EQ(text, edit_view->model()->keyword()); |
| 728 ASSERT_EQ(text + ASCIIToUTF16(" "), edit_view->GetText()); | 726 ASSERT_EQ(text + L" ", edit_view->GetText()); |
| 729 | 727 |
| 730 // Keyword shouldn't be accepted by pasting "foo bar". | 728 // Keyword shouldn't be accepted by pasting "foo bar". |
| 731 edit_view->SetUserText(string16()); | 729 edit_view->SetUserText(std::wstring()); |
| 732 ASSERT_FALSE(edit_view->model()->is_keyword_hint()); | 730 ASSERT_FALSE(edit_view->model()->is_keyword_hint()); |
| 733 ASSERT_TRUE(edit_view->model()->keyword().empty()); | 731 ASSERT_TRUE(edit_view->model()->keyword().empty()); |
| 734 | 732 |
| 735 edit_view->OnBeforePossibleChange(); | 733 edit_view->OnBeforePossibleChange(); |
| 736 edit_view->model()->on_paste(); | 734 edit_view->model()->on_paste(); |
| 737 edit_view->SetWindowTextAndCaretPos(text + ASCIIToUTF16(" bar"), | 735 edit_view->SetWindowTextAndCaretPos(text + L" bar", text.length() + 4); |
| 738 text.length() + 4); | |
| 739 edit_view->OnAfterPossibleChange(); | 736 edit_view->OnAfterPossibleChange(); |
| 740 ASSERT_FALSE(edit_view->model()->is_keyword_hint()); | 737 ASSERT_FALSE(edit_view->model()->is_keyword_hint()); |
| 741 ASSERT_TRUE(edit_view->model()->keyword().empty()); | 738 ASSERT_TRUE(edit_view->model()->keyword().empty()); |
| 742 ASSERT_EQ(text + ASCIIToUTF16(" bar"), edit_view->GetText()); | 739 ASSERT_EQ(text + L" bar", edit_view->GetText()); |
| 743 | 740 |
| 744 // Keyword shouldn't be accepted by pressing space with a selected range. | 741 // Keyword shouldn't be accepted by pressing space with a selected range. |
| 745 edit_view->OnBeforePossibleChange(); | 742 edit_view->OnBeforePossibleChange(); |
| 746 edit_view->OnInlineAutocompleteTextMaybeChanged( | 743 edit_view->OnInlineAutocompleteTextMaybeChanged( |
| 747 text + ASCIIToUTF16(" "), text.length()); | 744 text + L" ", text.length()); |
| 748 edit_view->OnAfterPossibleChange(); | 745 edit_view->OnAfterPossibleChange(); |
| 749 ASSERT_TRUE(edit_view->model()->is_keyword_hint()); | 746 ASSERT_TRUE(edit_view->model()->is_keyword_hint()); |
| 750 ASSERT_EQ(text, edit_view->model()->keyword()); | 747 ASSERT_EQ(text, edit_view->model()->keyword()); |
| 751 ASSERT_EQ(text + ASCIIToUTF16(" "), edit_view->GetText()); | 748 ASSERT_EQ(text + L" ", edit_view->GetText()); |
| 752 | 749 |
| 753 string16::size_type start, end; | 750 std::wstring::size_type start, end; |
| 754 edit_view->GetSelectionBounds(&start, &end); | 751 edit_view->GetSelectionBounds(&start, &end); |
| 755 ASSERT_NE(start, end); | 752 ASSERT_NE(start, end); |
| 756 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_SPACE, false, false, false)); | 753 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_SPACE, false, false, false)); |
| 757 ASSERT_TRUE(edit_view->model()->is_keyword_hint()); | 754 ASSERT_TRUE(edit_view->model()->is_keyword_hint()); |
| 758 ASSERT_EQ(text, edit_view->model()->keyword()); | 755 ASSERT_EQ(text, edit_view->model()->keyword()); |
| 759 ASSERT_EQ(text + ASCIIToUTF16(" "), edit_view->GetText()); | 756 ASSERT_EQ(text + L" ", edit_view->GetText()); |
| 760 | 757 |
| 761 edit_view->GetSelectionBounds(&start, &end); | 758 edit_view->GetSelectionBounds(&start, &end); |
| 762 ASSERT_EQ(start, end); | 759 ASSERT_EQ(start, end); |
| 763 } | 760 } |
| 764 | 761 |
| 765 }; | 762 }; |
| 766 | 763 |
| 767 // Test if ctrl-* accelerators are workable in omnibox. | 764 // Test if ctrl-* accelerators are workable in omnibox. |
| 768 // See http://crbug.com/19193: omnibox blocks ctrl-* commands | 765 // See http://crbug.com/19193: omnibox blocks ctrl-* commands |
| 769 // | 766 // |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 819 // TODO(oshima): enable these tests for views-implmentation when | 816 // TODO(oshima): enable these tests for views-implmentation when |
| 820 // these featuers are supported. | 817 // these featuers are supported. |
| 821 | 818 |
| 822 IN_PROC_BROWSER_TEST_F(AutocompleteEditViewTest, UndoRedoLinux) { | 819 IN_PROC_BROWSER_TEST_F(AutocompleteEditViewTest, UndoRedoLinux) { |
| 823 ui_test_utils::NavigateToURL(browser(), GURL(chrome::kAboutBlankURL)); | 820 ui_test_utils::NavigateToURL(browser(), GURL(chrome::kAboutBlankURL)); |
| 824 browser()->FocusLocationBar(); | 821 browser()->FocusLocationBar(); |
| 825 | 822 |
| 826 AutocompleteEditView* edit_view = NULL; | 823 AutocompleteEditView* edit_view = NULL; |
| 827 ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view)); | 824 ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view)); |
| 828 | 825 |
| 829 string16 old_text = edit_view->GetText(); | 826 std::wstring old_text = edit_view->GetText(); |
| 830 EXPECT_EQ(UTF8ToUTF16(chrome::kAboutBlankURL), old_text); | 827 EXPECT_EQ(UTF8ToWide(chrome::kAboutBlankURL), old_text); |
| 831 EXPECT_TRUE(edit_view->IsSelectAll()); | 828 EXPECT_TRUE(edit_view->IsSelectAll()); |
| 832 | 829 |
| 833 // Undo should clear the omnibox. | 830 // Undo should clear the omnibox. |
| 834 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_Z, true, false, false)); | 831 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_Z, true, false, false)); |
| 835 EXPECT_TRUE(edit_view->GetText().empty()); | 832 EXPECT_TRUE(edit_view->GetText().empty()); |
| 836 | 833 |
| 837 // Nothing should happen if undo again. | 834 // Nothing should happen if undo again. |
| 838 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_Z, true, false, false)); | 835 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_Z, true, false, false)); |
| 839 EXPECT_TRUE(edit_view->GetText().empty()); | 836 EXPECT_TRUE(edit_view->GetText().empty()); |
| 840 | 837 |
| 841 // Redo should restore the original text. | 838 // Redo should restore the original text. |
| 842 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_Z, true, true, false)); | 839 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_Z, true, true, false)); |
| 843 EXPECT_EQ(old_text, edit_view->GetText()); | 840 EXPECT_EQ(old_text, edit_view->GetText()); |
| 844 | 841 |
| 845 // Looks like the undo manager doesn't support restoring selection. | 842 // Looks like the undo manager doesn't support restoring selection. |
| 846 EXPECT_FALSE(edit_view->IsSelectAll()); | 843 EXPECT_FALSE(edit_view->IsSelectAll()); |
| 847 | 844 |
| 848 // The cursor should be at the end. | 845 // The cursor should be at the end. |
| 849 string16::size_type start, end; | 846 std::wstring::size_type start, end; |
| 850 edit_view->GetSelectionBounds(&start, &end); | 847 edit_view->GetSelectionBounds(&start, &end); |
| 851 EXPECT_EQ(old_text.size(), start); | 848 EXPECT_EQ(old_text.size(), start); |
| 852 EXPECT_EQ(old_text.size(), end); | 849 EXPECT_EQ(old_text.size(), end); |
| 853 | 850 |
| 854 // Delete two characters. | 851 // Delete two characters. |
| 855 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, false, false, false)); | 852 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, false, false, false)); |
| 856 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, false, false, false)); | 853 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, false, false, false)); |
| 857 EXPECT_EQ(old_text.substr(0, old_text.size() - 2), edit_view->GetText()); | 854 EXPECT_EQ(old_text.substr(0, old_text.size() - 2), edit_view->GetText()); |
| 858 | 855 |
| 859 // Undo delete. | 856 // Undo delete. |
| (...skipping 19 matching lines...) Expand all Loading... |
| 879 | 876 |
| 880 // Undo again. | 877 // Undo again. |
| 881 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_Z, true, false, false)); | 878 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_Z, true, false, false)); |
| 882 EXPECT_TRUE(edit_view->GetText().empty()); | 879 EXPECT_TRUE(edit_view->GetText().empty()); |
| 883 } | 880 } |
| 884 | 881 |
| 885 // See http://crbug.com/63860 | 882 // See http://crbug.com/63860 |
| 886 IN_PROC_BROWSER_TEST_F(AutocompleteEditViewTest, PrimarySelection) { | 883 IN_PROC_BROWSER_TEST_F(AutocompleteEditViewTest, PrimarySelection) { |
| 887 AutocompleteEditView* edit_view = NULL; | 884 AutocompleteEditView* edit_view = NULL; |
| 888 ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view)); | 885 ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view)); |
| 889 edit_view->SetUserText(ASCIIToUTF16("Hello world")); | 886 edit_view->SetUserText(L"Hello world"); |
| 890 EXPECT_FALSE(edit_view->IsSelectAll()); | 887 EXPECT_FALSE(edit_view->IsSelectAll()); |
| 891 | 888 |
| 892 // Move the cursor to the end. | 889 // Move the cursor to the end. |
| 893 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_END, false, false, false)); | 890 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_END, false, false, false)); |
| 894 | 891 |
| 895 // Select all text by pressing Shift+Home | 892 // Select all text by pressing Shift+Home |
| 896 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_HOME, false, true, false)); | 893 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_HOME, false, true, false)); |
| 897 EXPECT_TRUE(edit_view->IsSelectAll()); | 894 EXPECT_TRUE(edit_view->IsSelectAll()); |
| 898 | 895 |
| 899 // The selected content should be saved to the PRIMARY clipboard. | 896 // The selected content should be saved to the PRIMARY clipboard. |
| 900 EXPECT_EQ("Hello world", GetPrimarySelectionText()); | 897 EXPECT_EQ("Hello world", GetPrimarySelectionText()); |
| 901 | 898 |
| 902 // Move the cursor to the end. | 899 // Move the cursor to the end. |
| 903 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_END, false, false, false)); | 900 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_END, false, false, false)); |
| 904 EXPECT_FALSE(edit_view->IsSelectAll()); | 901 EXPECT_FALSE(edit_view->IsSelectAll()); |
| 905 | 902 |
| 906 // The content in the PRIMARY clipboard should not be cleared. | 903 // The content in the PRIMARY clipboard should not be cleared. |
| 907 EXPECT_EQ("Hello world", GetPrimarySelectionText()); | 904 EXPECT_EQ("Hello world", GetPrimarySelectionText()); |
| 908 } | 905 } |
| 909 | 906 |
| 910 // See http://crosbug.com/10306 | 907 // See http://crosbug.com/10306 |
| 911 IN_PROC_BROWSER_TEST_F(AutocompleteEditViewTest, | 908 IN_PROC_BROWSER_TEST_F(AutocompleteEditViewTest, |
| 912 BackspaceDeleteHalfWidthKatakana) { | 909 BackspaceDeleteHalfWidthKatakana) { |
| 913 AutocompleteEditView* edit_view = NULL; | 910 AutocompleteEditView* edit_view = NULL; |
| 914 ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view)); | 911 ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view)); |
| 915 // Insert text: ダ | 912 // Insert text: ダ |
| 916 edit_view->SetUserText(UTF8ToUTF16("\357\276\200\357\276\236")); | 913 edit_view->SetUserText(UTF8ToWide("\357\276\200\357\276\236")); |
| 917 | 914 |
| 918 // Move the cursor to the end. | 915 // Move the cursor to the end. |
| 919 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_END, false, false, false)); | 916 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_END, false, false, false)); |
| 920 | 917 |
| 921 // Backspace should delete one character. | 918 // Backspace should delete one character. |
| 922 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, false, false, false)); | 919 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, false, false, false)); |
| 923 EXPECT_EQ(UTF8ToUTF16("\357\276\200"), edit_view->GetText()); | 920 EXPECT_EQ(UTF8ToWide("\357\276\200"), edit_view->GetText()); |
| 924 } | 921 } |
| 925 | 922 |
| 926 // http://crbug.com/12316 | 923 // http://crbug.com/12316 |
| 927 IN_PROC_BROWSER_TEST_F(AutocompleteEditViewTest, PasteReplacingAll) { | 924 IN_PROC_BROWSER_TEST_F(AutocompleteEditViewTest, PasteReplacingAll) { |
| 928 AutocompleteEditView* edit_view = NULL; | 925 AutocompleteEditView* edit_view = NULL; |
| 929 ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view)); | 926 ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view)); |
| 930 AutocompletePopupModel* popup_model = edit_view->model()->popup_model(); | 927 AutocompletePopupModel* popup_model = edit_view->model()->popup_model(); |
| 931 ASSERT_TRUE(popup_model); | 928 ASSERT_TRUE(popup_model); |
| 932 | 929 |
| 933 SetClipboardText(kSearchText); | 930 SetClipboardText(kSearchText); |
| 934 | 931 |
| 935 // Paste text. | 932 // Paste text. |
| 936 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_V, true, false, false)); | 933 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_V, true, false, false)); |
| 937 ASSERT_NO_FATAL_FAILURE(WaitForAutocompleteControllerDone()); | 934 ASSERT_NO_FATAL_FAILURE(WaitForAutocompleteControllerDone()); |
| 938 ASSERT_TRUE(popup_model->IsOpen()); | 935 ASSERT_TRUE(popup_model->IsOpen()); |
| 939 | 936 |
| 940 // Inline autocomplete shouldn't be triggered. | 937 // Inline autocomplete shouldn't be triggered. |
| 941 ASSERT_EQ(ASCIIToUTF16("abc"), edit_view->GetText()); | 938 ASSERT_EQ(L"abc", edit_view->GetText()); |
| 942 } | 939 } |
| 943 #endif | 940 #endif |
| 944 | 941 |
| 945 #if defined(TOOLKIT_VIEWS) | 942 #if defined(TOOLKIT_VIEWS) |
| 946 class AutocompleteEditViewViewsTest : public AutocompleteEditViewTest { | 943 class AutocompleteEditViewViewsTest : public AutocompleteEditViewTest { |
| 947 public: | 944 public: |
| 948 AutocompleteEditViewViewsTest() { | 945 AutocompleteEditViewViewsTest() { |
| 949 views::NativeTextfieldViews::SetEnableTextfieldViews(true); | 946 views::NativeTextfieldViews::SetEnableTextfieldViews(true); |
| 950 } | 947 } |
| 951 }; | 948 }; |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 985 | 982 |
| 986 IN_PROC_BROWSER_TEST_F(AutocompleteEditViewViewsTest, BasicTextOperations) { | 983 IN_PROC_BROWSER_TEST_F(AutocompleteEditViewViewsTest, BasicTextOperations) { |
| 987 BasicTextOperationsTest(); | 984 BasicTextOperationsTest(); |
| 988 } | 985 } |
| 989 | 986 |
| 990 IN_PROC_BROWSER_TEST_F(AutocompleteEditViewViewsTest, AcceptKeywordBySpace) { | 987 IN_PROC_BROWSER_TEST_F(AutocompleteEditViewViewsTest, AcceptKeywordBySpace) { |
| 991 AcceptKeywordBySpaceTest(); | 988 AcceptKeywordBySpaceTest(); |
| 992 } | 989 } |
| 993 | 990 |
| 994 #endif | 991 #endif |
| OLD | NEW |