| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 | 5 |
| 6 #include <algorithm> | 6 #include <algorithm> |
| 7 #include <set> | 7 #include <set> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/json/json_writer.h" | 10 #include "base/json/json_writer.h" |
| (...skipping 382 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 393 RenderViewHostTester::TestOnMessageReceived( | 393 RenderViewHostTester::TestOnMessageReceived( |
| 394 rvh(), | 394 rvh(), |
| 395 ChromeViewHostMsg_PageTranslated( | 395 ChromeViewHostMsg_PageTranslated( |
| 396 0, 0, "fr", "en", TranslateErrors::NONE)); | 396 0, 0, "fr", "en", TranslateErrors::NONE)); |
| 397 | 397 |
| 398 // The after translate infobar should be showing. | 398 // The after translate infobar should be showing. |
| 399 infobar = GetTranslateInfoBar(); | 399 infobar = GetTranslateInfoBar(); |
| 400 ASSERT_TRUE(infobar != NULL); | 400 ASSERT_TRUE(infobar != NULL); |
| 401 EXPECT_EQ(TranslateInfoBarDelegate::AFTER_TRANSLATE, infobar->type()); | 401 EXPECT_EQ(TranslateInfoBarDelegate::AFTER_TRANSLATE, infobar->type()); |
| 402 | 402 |
| 403 // Simulate changing the original language, this should trigger a translation. | 403 // Simulate changing the original language and translating. |
| 404 process()->sink().ClearMessages(); | 404 process()->sink().ClearMessages(); |
| 405 std::string new_original_lang = infobar->GetLanguageCodeAt(0); | 405 std::string new_original_lang = infobar->language_code_at(0); |
| 406 infobar->SetOriginalLanguage(0); | 406 infobar->set_original_language_index(0); |
| 407 infobar->Translate(); |
| 407 EXPECT_TRUE(GetTranslateMessage(&page_id, &original_lang, &target_lang)); | 408 EXPECT_TRUE(GetTranslateMessage(&page_id, &original_lang, &target_lang)); |
| 408 EXPECT_EQ(new_original_lang, original_lang); | 409 EXPECT_EQ(new_original_lang, original_lang); |
| 409 EXPECT_EQ("en", target_lang); | 410 EXPECT_EQ("en", target_lang); |
| 410 // Simulate the render notifying the translation has been done. | 411 // Simulate the render notifying the translation has been done. |
| 411 RenderViewHostTester::TestOnMessageReceived( | 412 RenderViewHostTester::TestOnMessageReceived( |
| 412 rvh(), | 413 rvh(), |
| 413 ChromeViewHostMsg_PageTranslated( | 414 ChromeViewHostMsg_PageTranslated( |
| 414 0, 0, new_original_lang, "en", TranslateErrors::NONE)); | 415 0, 0, new_original_lang, "en", TranslateErrors::NONE)); |
| 415 // infobar is now invalid. | 416 // infobar is now invalid. |
| 416 TranslateInfoBarDelegate* new_infobar = GetTranslateInfoBar(); | 417 TranslateInfoBarDelegate* new_infobar = GetTranslateInfoBar(); |
| 417 ASSERT_TRUE(new_infobar != NULL); | 418 ASSERT_TRUE(new_infobar != NULL); |
| 418 infobar = new_infobar; | 419 infobar = new_infobar; |
| 419 | 420 |
| 420 // Simulate changing the target language, this should trigger a translation. | 421 // Simulate changing the target language and translating. |
| 421 process()->sink().ClearMessages(); | 422 process()->sink().ClearMessages(); |
| 422 std::string new_target_lang = infobar->GetLanguageCodeAt(1); | 423 std::string new_target_lang = infobar->language_code_at(1); |
| 423 infobar->SetTargetLanguage(1); | 424 infobar->set_target_language_index(1); |
| 425 infobar->Translate(); |
| 424 EXPECT_TRUE(GetTranslateMessage(&page_id, &original_lang, &target_lang)); | 426 EXPECT_TRUE(GetTranslateMessage(&page_id, &original_lang, &target_lang)); |
| 425 EXPECT_EQ(new_original_lang, original_lang); | 427 EXPECT_EQ(new_original_lang, original_lang); |
| 426 EXPECT_EQ(new_target_lang, target_lang); | 428 EXPECT_EQ(new_target_lang, target_lang); |
| 427 // Simulate the render notifying the translation has been done. | 429 // Simulate the render notifying the translation has been done. |
| 428 RenderViewHostTester::TestOnMessageReceived( | 430 RenderViewHostTester::TestOnMessageReceived( |
| 429 rvh(), | 431 rvh(), |
| 430 ChromeViewHostMsg_PageTranslated( | 432 ChromeViewHostMsg_PageTranslated( |
| 431 0, 0, new_original_lang, new_target_lang, TranslateErrors::NONE)); | 433 0, 0, new_original_lang, new_target_lang, TranslateErrors::NONE)); |
| 432 // infobar is now invalid. | 434 // infobar is now invalid. |
| 433 new_infobar = GetTranslateInfoBar(); | 435 new_infobar = GetTranslateInfoBar(); |
| 434 ASSERT_TRUE(new_infobar != NULL); | 436 ASSERT_TRUE(new_infobar != NULL); |
| 435 | 437 |
| 436 // Verify reload keeps the same settings. | 438 // Verify reload keeps the same settings. |
| 437 ReloadAndWait(); | 439 ReloadAndWait(); |
| 438 new_infobar = GetTranslateInfoBar(); | 440 new_infobar = GetTranslateInfoBar(); |
| 439 ASSERT_TRUE(new_infobar != NULL); | 441 ASSERT_TRUE(new_infobar != NULL); |
| 440 ASSERT_EQ(new_target_lang, infobar->GetTargetLanguageCode()); | 442 ASSERT_EQ(new_target_lang, infobar->target_language_code()); |
| 441 } | 443 } |
| 442 | 444 |
| 443 TEST_F(TranslateManagerTest, TranslateScriptNotAvailable) { | 445 TEST_F(TranslateManagerTest, TranslateScriptNotAvailable) { |
| 444 // Simulate navigating to a page. | 446 // Simulate navigating to a page. |
| 445 SimulateNavigation(GURL("http://www.google.fr"), "fr", true); | 447 SimulateNavigation(GURL("http://www.google.fr"), "fr", true); |
| 446 | 448 |
| 447 // We should have an infobar. | 449 // We should have an infobar. |
| 448 TranslateInfoBarDelegate* infobar = GetTranslateInfoBar(); | 450 TranslateInfoBarDelegate* infobar = GetTranslateInfoBar(); |
| 449 ASSERT_TRUE(infobar != NULL); | 451 ASSERT_TRUE(infobar != NULL); |
| 450 EXPECT_EQ(TranslateInfoBarDelegate::BEFORE_TRANSLATE, infobar->type()); | 452 EXPECT_EQ(TranslateInfoBarDelegate::BEFORE_TRANSLATE, infobar->type()); |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 494 // having detected the page was in a known and supported language. | 496 // having detected the page was in a known and supported language. |
| 495 RenderViewHostTester::TestOnMessageReceived( | 497 RenderViewHostTester::TestOnMessageReceived( |
| 496 rvh(), | 498 rvh(), |
| 497 ChromeViewHostMsg_PageTranslated( | 499 ChromeViewHostMsg_PageTranslated( |
| 498 0, 0, "fr", "en", TranslateErrors::NONE)); | 500 0, 0, "fr", "en", TranslateErrors::NONE)); |
| 499 | 501 |
| 500 // The after translate infobar should be showing. | 502 // The after translate infobar should be showing. |
| 501 infobar = GetTranslateInfoBar(); | 503 infobar = GetTranslateInfoBar(); |
| 502 ASSERT_TRUE(infobar != NULL); | 504 ASSERT_TRUE(infobar != NULL); |
| 503 EXPECT_EQ(TranslateInfoBarDelegate::AFTER_TRANSLATE, infobar->type()); | 505 EXPECT_EQ(TranslateInfoBarDelegate::AFTER_TRANSLATE, infobar->type()); |
| 504 EXPECT_EQ("fr", infobar->GetOriginalLanguageCode()); | 506 EXPECT_EQ("fr", infobar->original_language_code()); |
| 505 EXPECT_EQ("en", infobar->GetTargetLanguageCode()); | 507 EXPECT_EQ("en", infobar->target_language_code()); |
| 506 | 508 |
| 507 // Let's run the same steps but this time the server detects the page is | 509 // Let's run the same steps but this time the server detects the page is |
| 508 // already in English. | 510 // already in English. |
| 509 SimulateNavigation(GURL("http://www.google.com"), "und", true); | 511 SimulateNavigation(GURL("http://www.google.com"), "und", true); |
| 510 menu.reset(TestRenderViewContextMenu::CreateContextMenu(contents())); | 512 menu.reset(TestRenderViewContextMenu::CreateContextMenu(contents())); |
| 511 menu->Init(); | 513 menu->Init(); |
| 512 menu->ExecuteCommand(IDC_CONTENT_CONTEXT_TRANSLATE); | 514 menu->ExecuteCommand(IDC_CONTENT_CONTEXT_TRANSLATE); |
| 513 RenderViewHostTester::TestOnMessageReceived( | 515 RenderViewHostTester::TestOnMessageReceived( |
| 514 rvh(), | 516 rvh(), |
| 515 ChromeViewHostMsg_PageTranslated( | 517 ChromeViewHostMsg_PageTranslated( |
| (...skipping 1001 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1517 | 1519 |
| 1518 IN_PROC_BROWSER_TEST_F(InProcessBrowserTest, TranslateSessionRestore) { | 1520 IN_PROC_BROWSER_TEST_F(InProcessBrowserTest, TranslateSessionRestore) { |
| 1519 WebContents* current_web_contents = chrome::GetActiveWebContents(browser()); | 1521 WebContents* current_web_contents = chrome::GetActiveWebContents(browser()); |
| 1520 content::Source<WebContents> source(current_web_contents); | 1522 content::Source<WebContents> source(current_web_contents); |
| 1521 | 1523 |
| 1522 ui_test_utils::WindowedNotificationObserverWithDetails<std::string> | 1524 ui_test_utils::WindowedNotificationObserverWithDetails<std::string> |
| 1523 fr_language_detected_signal(chrome::NOTIFICATION_TAB_LANGUAGE_DETERMINED, | 1525 fr_language_detected_signal(chrome::NOTIFICATION_TAB_LANGUAGE_DETERMINED, |
| 1524 source); | 1526 source); |
| 1525 fr_language_detected_signal.Wait(); | 1527 fr_language_detected_signal.Wait(); |
| 1526 } | 1528 } |
| OLD | NEW |