Chromium Code Reviews| Index: chrome/browser/errorpage_browsertest.cc |
| diff --git a/chrome/browser/errorpage_browsertest.cc b/chrome/browser/errorpage_browsertest.cc |
| index 33ac9fe9b64ff81487369a331741fc9bd2f167d6..3bb904b001c15234edf49a1df5c4a8487ac07bc6 100644 |
| --- a/chrome/browser/errorpage_browsertest.cc |
| +++ b/chrome/browser/errorpage_browsertest.cc |
| @@ -104,13 +104,6 @@ void ToggleHelpBox(Browser* browser) { |
| "document.getElementById('details-button').click();")); |
| } |
| -// Returns true if |browser| is displaying the text representation of |
| -// |error_code| on the current page. |
| -bool WARN_UNUSED_RESULT IsDisplayingNetError(Browser* browser, |
| - net::Error error_code) { |
| - return IsDisplayingText(browser, net::ErrorToShortString(error_code)); |
| -} |
| - |
| // Returns true if the diagnostics link suggestion is displayed. |
| bool WARN_UNUSED_RESULT IsDisplayingDiagnosticsLink(Browser* browser) { |
| std::string command = base::StringPrintf( |
| @@ -123,9 +116,10 @@ bool WARN_UNUSED_RESULT IsDisplayingDiagnosticsLink(Browser* browser) { |
| } |
| // Checks that the local error page is being displayed, without remotely |
| -// retrieved navigation corrections, and with the specified error code. |
| -void ExpectDisplayingLocalErrorPage(Browser* browser, net::Error error_code) { |
| - EXPECT_TRUE(IsDisplayingNetError(browser, error_code)); |
| +// retrieved navigation corrections, and with the specified error string. |
| +void ExpectDisplayingLocalErrorPage(Browser* browser, |
| + const std::string& error_string) { |
| + EXPECT_TRUE(IsDisplayingText(browser, error_string)); |
| // Locally generated error pages should not have navigation corrections. |
| EXPECT_FALSE(IsDisplayingText(browser, "http://mock.http/title2.html")); |
| @@ -134,12 +128,18 @@ void ExpectDisplayingLocalErrorPage(Browser* browser, net::Error error_code) { |
| EXPECT_FALSE(IsDisplayingText(browser, "search query")); |
| } |
| +// Checks that the local error page is being displayed, without remotely |
| +// retrieved navigation corrections, and with the specified error code. |
| +void ExpectDisplayingLocalErrorPage(Browser* browser, net::Error error_code) { |
| + ExpectDisplayingLocalErrorPage(browser, net::ErrorToShortString(error_code)); |
| +} |
| + |
| // Checks that an error page with information retrieved from the navigation |
| // correction service is being displayed, with the specified specified error |
| -// code. |
| +// string. |
| void ExpectDisplayingNavigationCorrections(Browser* browser, |
| - net::Error error_code) { |
| - EXPECT_TRUE(IsDisplayingNetError(browser, error_code)); |
| + const std::string& error_string) { |
| + EXPECT_TRUE(IsDisplayingText(browser, error_string)); |
| // Check that the mock navigation corrections are displayed. |
| EXPECT_TRUE(IsDisplayingText(browser, "http://mock.http/title2.html")); |
| @@ -152,6 +152,15 @@ void ExpectDisplayingNavigationCorrections(Browser* browser, |
| EXPECT_FALSE(IsDisplayingDiagnosticsLink(browser)); |
| } |
| +// Checks that an error page with information retrieved from the navigation |
| +// correction service is being displayed, with the specified specified error |
| +// code. |
| +void ExpectDisplayingNavigationCorrections(Browser* browser, |
| + net::Error error_code) { |
| + ExpectDisplayingNavigationCorrections(browser, |
| + net::ErrorToShortString(error_code)); |
| +} |
| + |
| std::string GetShowSavedButtonLabel() { |
| return l10n_util::GetStringUTF8(IDS_ERRORPAGES_BUTTON_SHOW_SAVED_COPY); |
| } |
| @@ -927,6 +936,30 @@ IN_PROC_BROWSER_TEST_F(ErrorPageTest, Page404) { |
| EXPECT_EQ(0, link_doctor_interceptor()->num_requests()); |
| } |
| +// Checks that navigation corrections are loaded when we get a 404 page with no |
| +// body. |
| +IN_PROC_BROWSER_TEST_F(ErrorPageTest, Empty404) { |
| + // The first navigation should fail and load a blank page, while it fetches |
| + // the Link Doctor response. The second navigation is the Link Doctor. |
| + ui_test_utils::NavigateToURLBlockUntilNavigationsComplete( |
| + browser(), |
| + net::URLRequestMockHTTPJob::GetMockUrl("errorpage/empty404.html"), 2); |
| + // This depends on the non-internationalized error ID string in |
| + // localized_error.cc. |
| + ExpectDisplayingNavigationCorrections(browser(), "HTTP ERROR 404"); |
| + EXPECT_EQ(1, link_doctor_interceptor()->num_requests()); |
| +} |
| + |
| +// Checks that navigation corrections are loaded when we get a 404 page with no |
| +// body. |
|
Randy Smith (Not in Mondays)
2016/08/01 18:59:50
Is this comment correct? It seems to be copied fr
mmenke
2016/08/01 20:18:28
Done.
|
| +IN_PROC_BROWSER_TEST_F(ErrorPageTest, Empty500) { |
| + NavigateToFileURL("errorpage/empty500.html"); |
|
Randy Smith (Not in Mondays)
2016/08/01 18:59:50
I'm not familiar with the underlying logic of the
mmenke
2016/08/01 20:18:28
If there's a two phase navigation, we load a blank
|
| + // This depends on the non-internationalized error ID string in |
| + // localized_error.cc. |
| + ExpectDisplayingLocalErrorPage(browser(), "HTTP ERROR 500"); |
| + EXPECT_EQ(0, link_doctor_interceptor()->num_requests()); |
| +} |
| + |
| // Checks that when an error occurs, the stale cache status of the page |
| // is correctly transferred, and that stale cached copied can be loaded |
| // from the javascript. |