Chromium Code Reviews| Index: chrome/browser/ui/webui/engagement/site_engagement_ui_browsertest.cc |
| diff --git a/chrome/browser/ui/webui/engagement/site_engagement_ui_browsertest.cc b/chrome/browser/ui/webui/engagement/site_engagement_ui_browsertest.cc |
| index b1d442e24a6e28a08ec488f8e3a88e53e12fac8d..7a437bdf3c24f87a946a32249a64d06dd4dd7f85 100644 |
| --- a/chrome/browser/ui/webui/engagement/site_engagement_ui_browsertest.cc |
| +++ b/chrome/browser/ui/webui/engagement/site_engagement_ui_browsertest.cc |
| @@ -66,25 +66,50 @@ class SiteEngagementUiBrowserTest : public InProcessBrowserTest { |
| ASSERT_TRUE(page_is_populated_); |
| } |
| - // Verifies that a row exists for the specified site URL. |
| - void ExpectPageContainsUrl(const GURL& url) { |
| - ASSERT_TRUE(page_is_populated_); |
| + // Expects that there will be the specified number of rows. |
| + int NumberOfRows() { |
| + EXPECT_TRUE(page_is_populated_); |
| - bool found_url = false; |
| - ASSERT_TRUE(content::ExecuteScriptAndExtractBool( |
| + int number_of_rows = -1; |
| + EXPECT_TRUE(content::ExecuteScriptAndExtractInt( |
| + browser()->tab_strip_model()->GetActiveWebContents(), |
| + "window.domAutomationController.send(" |
| + " document.getElementsByClassName('origin-cell').length);", |
| + &number_of_rows)); |
| + |
| + return number_of_rows; |
| + } |
| + |
| + // Returns the origin URL at the specified zero-based row index. |
| + std::string OriginUrlAtRow(int index) { |
| + EXPECT_TRUE(page_is_populated_); |
| + |
| + std::string origin_url; |
| + EXPECT_TRUE(content::ExecuteScriptAndExtractString( |
| browser()->tab_strip_model()->GetActiveWebContents(), |
| - base::JoinString( |
| - {"var origin_cells = " |
| - " Array.from(document.getElementsByClassName('origin-cell'));" |
| - "window.domAutomationController.send(origin_cells.reduce(" |
| - " (found, element) => {" |
| - " return found || (element.innerHTML == '", |
| - url.spec(), |
| - "');" |
| - " }, false));"}, |
| - ""), |
| - &found_url)); |
| - EXPECT_TRUE(found_url); |
| + base::JoinString({"window.domAutomationController.send(" |
| + " document.getElementsByClassName('origin-cell')[", |
| + base::IntToString(index), "].innerHTML);"}, |
| + ""), |
|
Dan Beam
2017/04/11 15:57:48
can you `git cl format` this? is it already?
Wez
2017/04/11 19:57:07
Yes, this is already git cl formatted :-/
|
| + &origin_url)); |
| + |
| + return origin_url; |
| + } |
| + |
| + // Returns the stringified score at the specified zero-based row index. |
| + std::string ScoreAtRow(int index) { |
| + EXPECT_TRUE(page_is_populated_); |
| + |
| + std::string score_string; |
| + EXPECT_TRUE(content::ExecuteScriptAndExtractString( |
| + browser()->tab_strip_model()->GetActiveWebContents(), |
| + base::JoinString({"window.domAutomationController.send(" |
| + " document.getElementsByClassName('score-input')[", |
| + base::IntToString(index), "].value);"}, |
| + ""), |
| + &score_string)); |
| + |
| + return score_string; |
| } |
| private: |
| @@ -98,5 +123,17 @@ IN_PROC_BROWSER_TEST_F(SiteEngagementUiBrowserTest, Basic) { |
| NavigateToWebUi(); |
| WaitUntilPagePopulated(); |
| - ExpectPageContainsUrl(kExampleUrl); |
| + EXPECT_EQ(1, NumberOfRows()); |
| + EXPECT_EQ(kExampleUrl, OriginUrlAtRow(0)); |
| +} |
| + |
| +IN_PROC_BROWSER_TEST_F(SiteEngagementUiBrowserTest, |
| + ScoresHaveTwoDecimalPlaces) { |
| + ResetBaseScore(kExampleUrl, 3.14159); |
| + |
| + NavigateToWebUi(); |
| + WaitUntilPagePopulated(); |
| + |
| + EXPECT_EQ(1, NumberOfRows()); |
| + EXPECT_EQ("3.14", ScoreAtRow(0)); |
| } |