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

Unified Diff: chrome/browser/ui/find_bar/find_bar_host_browsertest.cc

Issue 2848883005: Test FindBar audible alerts. (Closed)
Patch Set: Address Scott's comment. Created 3 years, 7 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/ui/find_bar/find_bar.h ('k') | chrome/browser/ui/views/find_bar_host.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/find_bar/find_bar_host_browsertest.cc
diff --git a/chrome/browser/ui/find_bar/find_bar_host_browsertest.cc b/chrome/browser/ui/find_bar/find_bar_host_browsertest.cc
index d7294633cc0c105ac4582a6f7d043a70bb1b8212..419984cd4231eff0b44844003053bceea423d499 100644
--- a/chrome/browser/ui/find_bar/find_bar_host_browsertest.cc
+++ b/chrome/browser/ui/find_bar/find_bar_host_browsertest.cc
@@ -128,6 +128,12 @@ class FindInPageControllerTest : public InProcessBrowserTest {
return find_bar->GetWidth();
}
+ size_t GetFindBarAudibleAlertsForBrowser(Browser* browser) {
+ FindBarTesting* find_bar =
+ browser->GetFindBarController()->find_bar()->GetFindBarTesting();
+ return find_bar->GetAudibleAlertCount();
+ }
+
void EnsureFindBoxOpenForBrowser(Browser* browser) {
chrome::ShowFindBar(browser);
gfx::Point position;
@@ -214,6 +220,8 @@ IN_PROC_BROWSER_TEST_F(FindInPageControllerTest, FindInPageFrames) {
int ordinal = 0;
WebContents* web_contents =
browser()->tab_strip_model()->GetActiveWebContents();
+ EXPECT_EQ(0u, GetFindBarAudibleAlertsForBrowser(browser()));
+
EXPECT_EQ(18, FindInPageASCII(web_contents, "g",
kFwd, kIgnoreCase, &ordinal));
EXPECT_EQ(1, ordinal);
@@ -232,9 +240,24 @@ IN_PROC_BROWSER_TEST_F(FindInPageControllerTest, FindInPageFrames) {
EXPECT_EQ(1, FindInPageASCII(web_contents, "google",
kFwd, kIgnoreCase, &ordinal));
EXPECT_EQ(1, ordinal);
+ EXPECT_EQ(0u, GetFindBarAudibleAlertsForBrowser(browser()));
+
+ EXPECT_EQ(
+ 0, FindInPageASCII(web_contents, "google!", kFwd, kIgnoreCase, &ordinal));
+ EXPECT_EQ(0, ordinal);
+ EXPECT_EQ(1u, GetFindBarAudibleAlertsForBrowser(browser()));
+
+ // Extend the search string one more.
+ EXPECT_EQ(0, FindInPageASCII(web_contents, "google!!", kFwd, kIgnoreCase,
+ &ordinal));
+ EXPECT_EQ(0, ordinal);
+ EXPECT_EQ(2u, GetFindBarAudibleAlertsForBrowser(browser()));
+
+ // "Backspace" one, make sure there's no audible alert while backspacing.
EXPECT_EQ(0, FindInPageASCII(web_contents, "google!",
kFwd, kIgnoreCase, &ordinal));
EXPECT_EQ(0, ordinal);
+ EXPECT_EQ(2u, GetFindBarAudibleAlertsForBrowser(browser()));
// Negative test (no matches should be found).
EXPECT_EQ(0, FindInPageASCII(web_contents, "Non-existing string",
@@ -301,6 +324,35 @@ IN_PROC_BROWSER_TEST_F(FindInPageControllerTest, FindInPageFormsTextAreas) {
}
}
+// This test removes a frame after a search comes up empty, then navigates to
+// a different page and verifies this doesn't cause any extraneous dings.
+IN_PROC_BROWSER_TEST_F(FindInPageControllerTest, NoAudibleAlertOnFrameChange) {
+ // First we navigate to our frames page.
+ GURL url = GetURL(kFramePage);
+ ui_test_utils::NavigateToURL(browser(), url);
+
+ int ordinal = 0;
+ WebContents* web_contents =
+ browser()->tab_strip_model()->GetActiveWebContents();
+ EXPECT_EQ(0u, GetFindBarAudibleAlertsForBrowser(browser()));
+
+ // Search for a non-existant string.
+ EXPECT_EQ(
+ 0, FindInPageASCII(web_contents, "google!", kFwd, kIgnoreCase, &ordinal));
+ EXPECT_EQ(0, ordinal);
+ EXPECT_EQ(1u, GetFindBarAudibleAlertsForBrowser(browser()));
+
+ // Remove the first frame of the page.
+ constexpr char kRemoveFrameScript[] =
+ "frame = document.getElementsByTagName(\"FRAME\")[0];\n"
+ "frame.parentElement.removeChild(frame);\n";
+ ASSERT_TRUE(content::ExecuteScript(web_contents, kRemoveFrameScript));
+
+ ui_test_utils::NavigateToURL(browser(), GetURL("specialchar.html"));
+
+ EXPECT_EQ(1u, GetFindBarAudibleAlertsForBrowser(browser()));
+}
+
// Verify search for text within special URLs such as chrome:history,
// chrome://downloads, data directory
#if defined(OS_MACOSX) || defined(OS_WIN)
« no previous file with comments | « chrome/browser/ui/find_bar/find_bar.h ('k') | chrome/browser/ui/views/find_bar_host.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698