Chromium Code Reviews| Index: chrome/browser/ssl/ssl_error_handler_unittest.cc |
| diff --git a/chrome/browser/ssl/ssl_error_handler_unittest.cc b/chrome/browser/ssl/ssl_error_handler_unittest.cc |
| index f812d6b1e4806f0a637eb678883babd2739c56ac..20a0a3aa15031a3572e3bbabc7fa7dd66343740f 100644 |
| --- a/chrome/browser/ssl/ssl_error_handler_unittest.cc |
| +++ b/chrome/browser/ssl/ssl_error_handler_unittest.cc |
| @@ -42,7 +42,8 @@ class TestSSLErrorHandler : public SSLErrorHandler { |
| suggested_url_checked_(false), |
| ssl_interstitial_shown_(false), |
| captive_portal_interstitial_shown_(false), |
| - common_name_mismatch_redirect_(false) {} |
| + common_name_mismatch_redirect_(false), |
| + is_overridable_error_(true) {} |
| ~TestSSLErrorHandler() override { |
| } |
| @@ -100,6 +101,8 @@ class TestSSLErrorHandler : public SSLErrorHandler { |
| return common_name_mismatch_redirect_; |
| } |
| + void set_non_overridable_error() { is_overridable_error_ = false; } |
| + |
| void Reset() { |
| captive_portal_checked_ = false; |
| suggested_url_exists_ = false; |
| @@ -128,6 +131,8 @@ class TestSSLErrorHandler : public SSLErrorHandler { |
| common_name_mismatch_redirect_ = true; |
| } |
| + bool IsErrorOverridable() const override { return is_overridable_error_; } |
| + |
| Profile* profile_; |
| bool captive_portal_checked_; |
| bool suggested_url_exists_; |
| @@ -135,6 +140,7 @@ class TestSSLErrorHandler : public SSLErrorHandler { |
| bool ssl_interstitial_shown_; |
| bool captive_portal_interstitial_shown_; |
| bool common_name_mismatch_redirect_; |
| + bool is_overridable_error_; |
| DISALLOW_COPY_AND_ASSIGN(TestSSLErrorHandler); |
| }; |
| @@ -159,7 +165,7 @@ class SSLErrorHandlerTest : public ChromeRenderViewHostTestHarness { |
| "CaptivePortalInterstitial", "Enabled")); |
| // Enable finch experiment for SSL common name mismatch handling. |
| ASSERT_TRUE(base::FieldTrialList::CreateFieldTrial( |
| - "SSLCommonNameMismatchHandling", "Enabled")); |
| + "SSLCommonNameMismatchHandling", "Enabled")); |
| } |
| void TearDown() override { |
| @@ -268,6 +274,20 @@ TEST_F(SSLErrorHandlerTest, ShouldNotCheckCaptivePortalIfSuggestedUrlExists) { |
| EXPECT_TRUE(error_handler()->ssl_interstitial_shown()); |
| } |
| +TEST_F(SSLErrorHandlerTest, ShouldNotHandleNameMismatchOnNonOverridableError) { |
| + error_handler()->SetSuggestedUrlExists(true); |
| + error_handler()->set_non_overridable_error(); |
|
meacer
2015/08/21 01:00:10
nit: Move this to the first line, so that it's a b
Bhanu Dev
2015/08/21 01:11:26
Done.
|
| + error_handler()->StartHandlingError(); |
| + |
| + EXPECT_FALSE(error_handler()->suggested_url_checked()); |
| + EXPECT_TRUE(error_handler()->captive_portal_checked()); |
| + EXPECT_TRUE(error_handler()->IsTimerRunning()); |
| + base::RunLoop().RunUntilIdle(); |
| + |
| + EXPECT_FALSE(error_handler()->IsTimerRunning()); |
| + EXPECT_TRUE(error_handler()->ssl_interstitial_shown()); |
| +} |
| + |
| #else // #if !defined(ENABLE_CAPTIVE_PORTAL_DETECTION) |
| TEST_F(SSLErrorHandlerTest, |