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

Side by Side Diff: chrome/browser/autocomplete/autocomplete_edit_view_browsertest.cc

Issue 6256010: Revert 72380 - Remove wstring from autocomplete.... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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
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
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
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
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
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
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
OLDNEW
« no previous file with comments | « chrome/browser/autocomplete/autocomplete_edit_view.h ('k') | chrome/browser/autocomplete/autocomplete_edit_view_gtk.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698