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

Side by Side Diff: chrome/browser/translate/translate_manager_browsertest.cc

Issue 10830353: Introduce InfoBarTabService API. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Respond to review comments, merge to LKGR Created 8 years, 4 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) 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 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
100 return true; 100 return true;
101 } 101 }
102 102
103 InfoBarTabHelper* infobar_tab_helper() { 103 InfoBarTabHelper* infobar_tab_helper() {
104 return tab_contents()->infobar_tab_helper(); 104 return tab_contents()->infobar_tab_helper();
105 } 105 }
106 106
107 // Returns the translate infobar if there is 1 infobar and it is a translate 107 // Returns the translate infobar if there is 1 infobar and it is a translate
108 // infobar. 108 // infobar.
109 TranslateInfoBarDelegate* GetTranslateInfoBar() { 109 TranslateInfoBarDelegate* GetTranslateInfoBar() {
110 return (infobar_tab_helper()->infobar_count() == 1) ? 110 return (infobar_tab_helper()->GetInfoBarCount() == 1) ?
111 infobar_tab_helper()->GetInfoBarDelegateAt(0)-> 111 infobar_tab_helper()->GetInfoBarDelegateAt(0)->
112 AsTranslateInfoBarDelegate() : NULL; 112 AsTranslateInfoBarDelegate() : NULL;
113 } 113 }
114 114
115 // If there is 1 infobar and it is a translate infobar, closes it and returns 115 // If there is 1 infobar and it is a translate infobar, closes it and returns
116 // true. Returns false otherwise. 116 // true. Returns false otherwise.
117 bool CloseTranslateInfoBar() { 117 bool CloseTranslateInfoBar() {
118 InfoBarDelegate* infobar = GetTranslateInfoBar(); 118 InfoBarDelegate* infobar = GetTranslateInfoBar();
119 if (!infobar) 119 if (!infobar)
120 return false; 120 return false;
(...skipping 603 matching lines...) Expand 10 before | Expand all | Expand 10 after
724 EXPECT_FALSE(GetTranslateMessage(&page_id, &original_lang, &target_lang)); 724 EXPECT_FALSE(GetTranslateMessage(&page_id, &original_lang, &target_lang));
725 } 725 }
726 726
727 // Tests that multiple OnPageContents do not cause multiple infobars. 727 // Tests that multiple OnPageContents do not cause multiple infobars.
728 TEST_F(TranslateManagerTest, MultipleOnPageContents) { 728 TEST_F(TranslateManagerTest, MultipleOnPageContents) {
729 // Simulate navigating to a page and getting its language. 729 // Simulate navigating to a page and getting its language.
730 SimulateNavigation(GURL("http://www.google.fr"), "fr", true); 730 SimulateNavigation(GURL("http://www.google.fr"), "fr", true);
731 731
732 // Simulate clicking 'Nope' (don't translate). 732 // Simulate clicking 'Nope' (don't translate).
733 EXPECT_TRUE(DenyTranslation()); 733 EXPECT_TRUE(DenyTranslation());
734 EXPECT_EQ(0U, infobar_tab_helper()->infobar_count()); 734 EXPECT_EQ(0U, infobar_tab_helper()->GetInfoBarCount());
735 735
736 // Send a new PageContents, we should not show an infobar. 736 // Send a new PageContents, we should not show an infobar.
737 SimulateOnTranslateLanguageDetermined("fr", true); 737 SimulateOnTranslateLanguageDetermined("fr", true);
738 EXPECT_EQ(0U, infobar_tab_helper()->infobar_count()); 738 EXPECT_EQ(0U, infobar_tab_helper()->GetInfoBarCount());
739 739
740 // Do the same steps but simulate closing the infobar this time. 740 // Do the same steps but simulate closing the infobar this time.
741 SimulateNavigation(GURL("http://www.youtube.fr"), "fr", true); 741 SimulateNavigation(GURL("http://www.youtube.fr"), "fr", true);
742 EXPECT_TRUE(CloseTranslateInfoBar()); 742 EXPECT_TRUE(CloseTranslateInfoBar());
743 EXPECT_EQ(0U, infobar_tab_helper()->infobar_count()); 743 EXPECT_EQ(0U, infobar_tab_helper()->GetInfoBarCount());
744 SimulateOnTranslateLanguageDetermined("fr", true); 744 SimulateOnTranslateLanguageDetermined("fr", true);
745 EXPECT_EQ(0U, infobar_tab_helper()->infobar_count()); 745 EXPECT_EQ(0U, infobar_tab_helper()->GetInfoBarCount());
746 } 746 }
747 747
748 // Test that reloading the page brings back the infobar. 748 // Test that reloading the page brings back the infobar.
749 TEST_F(TranslateManagerTest, Reload) { 749 TEST_F(TranslateManagerTest, Reload) {
750 // Simulate navigating to a page and getting its language. 750 // Simulate navigating to a page and getting its language.
751 SimulateNavigation(GURL("http://www.google.fr"), "fr", true); 751 SimulateNavigation(GURL("http://www.google.fr"), "fr", true);
752 752
753 // Close the infobar. 753 // Close the infobar.
754 EXPECT_TRUE(CloseTranslateInfoBar()); 754 EXPECT_TRUE(CloseTranslateInfoBar());
755 755
(...skipping 703 matching lines...) Expand 10 before | Expand all | Expand 10 after
1459 NULL); 1459 NULL);
1460 // Now simulate the URL fetch. 1460 // Now simulate the URL fetch.
1461 SimulateTranslateScriptURLFetch(true); 1461 SimulateTranslateScriptURLFetch(true);
1462 // Now the message should have been sent. 1462 // Now the message should have been sent.
1463 int page_id = 0; 1463 int page_id = 0;
1464 std::string original_lang, target_lang; 1464 std::string original_lang, target_lang;
1465 EXPECT_TRUE(GetTranslateMessage(&page_id, &original_lang, &target_lang)); 1465 EXPECT_TRUE(GetTranslateMessage(&page_id, &original_lang, &target_lang));
1466 EXPECT_EQ("es", original_lang); 1466 EXPECT_EQ("es", original_lang);
1467 EXPECT_EQ("en", target_lang); 1467 EXPECT_EQ("en", target_lang);
1468 } 1468 }
OLDNEW
« no previous file with comments | « chrome/browser/translate/translate_manager.cc ('k') | chrome/browser/ui/android/infobar_stubs.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698