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

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

Issue 14241006: Eliminate InfoBarTabHelper. Make InfoBarService a concrete class. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 7 years, 8 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 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 return true; 138 return true;
139 } 139 }
140 140
141 InfoBarService* infobar_service() { 141 InfoBarService* infobar_service() {
142 return InfoBarService::FromWebContents(web_contents()); 142 return InfoBarService::FromWebContents(web_contents());
143 } 143 }
144 144
145 // Returns the translate infobar if there is 1 infobar and it is a translate 145 // Returns the translate infobar if there is 1 infobar and it is a translate
146 // infobar. 146 // infobar.
147 TranslateInfoBarDelegate* GetTranslateInfoBar() { 147 TranslateInfoBarDelegate* GetTranslateInfoBar() {
148 return (infobar_service()->GetInfoBarCount() == 1) ? 148 return (infobar_service()->infobar_count() == 1) ?
149 infobar_service()->GetInfoBarDelegateAt(0)-> 149 infobar_service()->infobar_at(0)->AsTranslateInfoBarDelegate() : NULL;
150 AsTranslateInfoBarDelegate() : NULL;
151 } 150 }
152 151
153 // If there is 1 infobar and it is a translate infobar, closes it and returns 152 // If there is 1 infobar and it is a translate infobar, closes it and returns
154 // true. Returns false otherwise. 153 // true. Returns false otherwise.
155 bool CloseTranslateInfoBar() { 154 bool CloseTranslateInfoBar() {
156 InfoBarDelegate* infobar = GetTranslateInfoBar(); 155 InfoBarDelegate* infobar = GetTranslateInfoBar();
157 if (!infobar) 156 if (!infobar)
158 return false; 157 return false;
159 infobar->InfoBarDismissed(); // Simulates closing the infobar. 158 infobar->InfoBarDismissed(); // Simulates closing the infobar.
160 infobar_service()->RemoveInfoBar(infobar); 159 infobar_service()->RemoveInfoBar(infobar);
(...skipping 566 matching lines...) Expand 10 before | Expand all | Expand 10 after
727 EXPECT_FALSE(GetTranslateMessage(&page_id, &original_lang, &target_lang)); 726 EXPECT_FALSE(GetTranslateMessage(&page_id, &original_lang, &target_lang));
728 } 727 }
729 728
730 // Tests that multiple OnPageContents do not cause multiple infobars. 729 // Tests that multiple OnPageContents do not cause multiple infobars.
731 TEST_F(TranslateManagerBrowserTest, MultipleOnPageContents) { 730 TEST_F(TranslateManagerBrowserTest, MultipleOnPageContents) {
732 // Simulate navigating to a page and getting its language. 731 // Simulate navigating to a page and getting its language.
733 SimulateNavigation(GURL("http://www.google.fr"), "fr", true); 732 SimulateNavigation(GURL("http://www.google.fr"), "fr", true);
734 733
735 // Simulate clicking 'Nope' (don't translate). 734 // Simulate clicking 'Nope' (don't translate).
736 EXPECT_TRUE(DenyTranslation()); 735 EXPECT_TRUE(DenyTranslation());
737 EXPECT_EQ(0U, infobar_service()->GetInfoBarCount()); 736 EXPECT_EQ(0U, infobar_service()->infobar_count());
738 737
739 // Send a new PageContents, we should not show an infobar. 738 // Send a new PageContents, we should not show an infobar.
740 SimulateOnTranslateLanguageDetermined("fr", true); 739 SimulateOnTranslateLanguageDetermined("fr", true);
741 EXPECT_EQ(0U, infobar_service()->GetInfoBarCount()); 740 EXPECT_EQ(0U, infobar_service()->infobar_count());
742 741
743 // Do the same steps but simulate closing the infobar this time. 742 // Do the same steps but simulate closing the infobar this time.
744 SimulateNavigation(GURL("http://www.youtube.fr"), "fr", true); 743 SimulateNavigation(GURL("http://www.youtube.fr"), "fr", true);
745 EXPECT_TRUE(CloseTranslateInfoBar()); 744 EXPECT_TRUE(CloseTranslateInfoBar());
746 EXPECT_EQ(0U, infobar_service()->GetInfoBarCount()); 745 EXPECT_EQ(0U, infobar_service()->infobar_count());
747 SimulateOnTranslateLanguageDetermined("fr", true); 746 SimulateOnTranslateLanguageDetermined("fr", true);
748 EXPECT_EQ(0U, infobar_service()->GetInfoBarCount()); 747 EXPECT_EQ(0U, infobar_service()->infobar_count());
749 } 748 }
750 749
751 // Test that reloading the page brings back the infobar if the 750 // Test that reloading the page brings back the infobar if the
752 // reload succeeded and does not bring it back the reload fails. 751 // reload succeeded and does not bring it back the reload fails.
753 TEST_F(TranslateManagerBrowserTest, Reload) { 752 TEST_F(TranslateManagerBrowserTest, Reload) {
754 // Simulate navigating to a page and getting its language. 753 // Simulate navigating to a page and getting its language.
755 SimulateNavigation(GURL("http://www.google.fr"), "fr", true); 754 SimulateNavigation(GURL("http://www.google.fr"), "fr", true);
756 755
757 // Close the infobar. 756 // Close the infobar.
758 EXPECT_TRUE(CloseTranslateInfoBar()); 757 EXPECT_TRUE(CloseTranslateInfoBar());
(...skipping 757 matching lines...) Expand 10 before | Expand all | Expand 10 after
1516 IN_PROC_BROWSER_TEST_F(InProcessBrowserTest, MAYBE_TranslateSessionRestore) { 1515 IN_PROC_BROWSER_TEST_F(InProcessBrowserTest, MAYBE_TranslateSessionRestore) {
1517 WebContents* current_web_contents = 1516 WebContents* current_web_contents =
1518 browser()->tab_strip_model()->GetActiveWebContents(); 1517 browser()->tab_strip_model()->GetActiveWebContents();
1519 content::Source<WebContents> source(current_web_contents); 1518 content::Source<WebContents> source(current_web_contents);
1520 1519
1521 ui_test_utils::WindowedNotificationObserverWithDetails<std::string> 1520 ui_test_utils::WindowedNotificationObserverWithDetails<std::string>
1522 fr_language_detected_signal(chrome::NOTIFICATION_TAB_LANGUAGE_DETERMINED, 1521 fr_language_detected_signal(chrome::NOTIFICATION_TAB_LANGUAGE_DETERMINED,
1523 source); 1522 source);
1524 fr_language_detected_signal.Wait(); 1523 fr_language_detected_signal.Wait();
1525 } 1524 }
OLDNEW
« no previous file with comments | « chrome/browser/translate/translate_infobar_delegate.cc ('k') | chrome/browser/ui/auto_login_infobar_delegate.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698