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 |