OLD | NEW |
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 #include "chrome/browser/website_settings.h" | 5 #include "chrome/browser/website_settings.h" |
6 | 6 |
7 #include "base/at_exit.h" | 7 #include "base/at_exit.h" |
8 #include "base/message_loop.h" | 8 #include "base/message_loop.h" |
9 #include "base/utf_string_conversions.h" | 9 #include "base/utf_string_conversions.h" |
10 #include "chrome/browser/content_settings/host_content_settings_map.h" | 10 #include "chrome/browser/content_settings/host_content_settings_map.h" |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
50 public: | 50 public: |
51 virtual ~MockCertStore() {} | 51 virtual ~MockCertStore() {} |
52 MOCK_METHOD2(StoreCert, int(net::X509Certificate*, int)); | 52 MOCK_METHOD2(StoreCert, int(net::X509Certificate*, int)); |
53 MOCK_METHOD2(RetrieveCert, bool(int, scoped_refptr<net::X509Certificate>*)); | 53 MOCK_METHOD2(RetrieveCert, bool(int, scoped_refptr<net::X509Certificate>*)); |
54 }; | 54 }; |
55 | 55 |
56 class MockWebsiteSettingsUI : public WebsiteSettingsUI { | 56 class MockWebsiteSettingsUI : public WebsiteSettingsUI { |
57 public: | 57 public: |
58 virtual ~MockWebsiteSettingsUI() {} | 58 virtual ~MockWebsiteSettingsUI() {} |
59 MOCK_METHOD1(SetPresenter, void(WebsiteSettings* presenter)); | 59 MOCK_METHOD1(SetPresenter, void(WebsiteSettings* presenter)); |
60 MOCK_METHOD1(SetSiteInfo, void(const std::string& site_info)); | |
61 MOCK_METHOD1(SetCookieInfo, void(const CookieInfoList& cookie_info_list)); | 60 MOCK_METHOD1(SetCookieInfo, void(const CookieInfoList& cookie_info_list)); |
62 MOCK_METHOD1(SetPermissionInfo, | 61 MOCK_METHOD1(SetPermissionInfo, |
63 void(const PermissionInfoList& permission_info_list)); | 62 void(const PermissionInfoList& permission_info_list)); |
| 63 MOCK_METHOD1(SetIdentityInfo, void(const IdentityInfo& identity_info)); |
64 }; | 64 }; |
65 | 65 |
66 class WebsiteSettingsTest : public ChromeRenderViewHostTestHarness { | 66 class WebsiteSettingsTest : public ChromeRenderViewHostTestHarness { |
67 public: | 67 public: |
68 WebsiteSettingsTest() | 68 WebsiteSettingsTest() |
69 : website_settings_(NULL), | 69 : website_settings_(NULL), |
70 mock_ui_(NULL), | 70 mock_ui_(NULL), |
71 cert_id_(0), | 71 cert_id_(0), |
72 browser_thread_(content::BrowserThread::UI, &message_loop_), | 72 browser_thread_(content::BrowserThread::UI, &message_loop_), |
73 tab_specific_content_settings_(NULL), | 73 tab_specific_content_settings_(NULL), |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
108 ASSERT_TRUE(website_settings_) << "No WebsiteSettings instance created."; | 108 ASSERT_TRUE(website_settings_) << "No WebsiteSettings instance created."; |
109 // Call OnUIClosing to destroy the |website_settings| object. | 109 // Call OnUIClosing to destroy the |website_settings| object. |
110 EXPECT_CALL(*mock_ui_, SetPresenter(NULL)); | 110 EXPECT_CALL(*mock_ui_, SetPresenter(NULL)); |
111 website_settings_->OnUIClosing(); | 111 website_settings_->OnUIClosing(); |
112 RenderViewHostTestHarness::TearDown(); | 112 RenderViewHostTestHarness::TearDown(); |
113 } | 113 } |
114 | 114 |
115 void SetDefaultUIExpectations(MockWebsiteSettingsUI* mock_ui) { | 115 void SetDefaultUIExpectations(MockWebsiteSettingsUI* mock_ui) { |
116 // During creation |WebsiteSettings| makes the following calls to the ui. | 116 // During creation |WebsiteSettings| makes the following calls to the ui. |
117 EXPECT_CALL(*mock_ui, SetPermissionInfo(_)); | 117 EXPECT_CALL(*mock_ui, SetPermissionInfo(_)); |
118 EXPECT_CALL(*mock_ui, SetSiteInfo(_)); | 118 EXPECT_CALL(*mock_ui, SetIdentityInfo(_)); |
119 EXPECT_CALL(*mock_ui, SetPresenter(_)); | 119 EXPECT_CALL(*mock_ui, SetPresenter(_)); |
120 EXPECT_CALL(*mock_ui, SetCookieInfo(_)); | 120 EXPECT_CALL(*mock_ui, SetCookieInfo(_)); |
121 } | 121 } |
122 | 122 |
123 const GURL& url() const { return url_; } | 123 const GURL& url() const { return url_; } |
124 MockCertStore* cert_store() { return &cert_store_; } | 124 MockCertStore* cert_store() { return &cert_store_; } |
125 int cert_id() { return cert_id_; } | 125 int cert_id() { return cert_id_; } |
126 MockWebsiteSettingsUI* mock_ui() { return mock_ui_; } | 126 MockWebsiteSettingsUI* mock_ui() { return mock_ui_; } |
127 const SSLStatus& ssl() { return ssl_; } | 127 const SSLStatus& ssl() { return ssl_; } |
128 TabSpecificContentSettings* tab_specific_content_settings() { | 128 TabSpecificContentSettings* tab_specific_content_settings() { |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
195 setting = content_settings->GetContentSetting( | 195 setting = content_settings->GetContentSetting( |
196 url(), url(), CONTENT_SETTINGS_TYPE_GEOLOCATION, ""); | 196 url(), url(), CONTENT_SETTINGS_TYPE_GEOLOCATION, ""); |
197 EXPECT_EQ(setting, CONTENT_SETTING_ALLOW); | 197 EXPECT_EQ(setting, CONTENT_SETTING_ALLOW); |
198 setting = content_settings->GetContentSetting( | 198 setting = content_settings->GetContentSetting( |
199 url(), url(), CONTENT_SETTINGS_TYPE_NOTIFICATIONS, ""); | 199 url(), url(), CONTENT_SETTINGS_TYPE_NOTIFICATIONS, ""); |
200 EXPECT_EQ(setting, CONTENT_SETTING_ALLOW); | 200 EXPECT_EQ(setting, CONTENT_SETTING_ALLOW); |
201 } | 201 } |
202 | 202 |
203 TEST_F(WebsiteSettingsTest, OnSiteDataAccessed) { | 203 TEST_F(WebsiteSettingsTest, OnSiteDataAccessed) { |
204 EXPECT_CALL(*mock_ui(), SetPermissionInfo(_)); | 204 EXPECT_CALL(*mock_ui(), SetPermissionInfo(_)); |
205 EXPECT_CALL(*mock_ui(), SetSiteInfo(_)); | 205 EXPECT_CALL(*mock_ui(), SetIdentityInfo(_)); |
206 EXPECT_CALL(*mock_ui(), SetPresenter(_)); | 206 EXPECT_CALL(*mock_ui(), SetPresenter(_)); |
207 EXPECT_CALL(*mock_ui(), SetCookieInfo(_)).Times(2); | 207 EXPECT_CALL(*mock_ui(), SetCookieInfo(_)).Times(2); |
208 | 208 |
209 website_settings()->OnSiteDataAccessed(); | 209 website_settings()->OnSiteDataAccessed(); |
210 } | 210 } |
211 | 211 |
212 TEST_F(WebsiteSettingsTest, HTTPConnection) { | 212 TEST_F(WebsiteSettingsTest, HTTPConnection) { |
213 SetDefaultUIExpectations(mock_ui()); | 213 SetDefaultUIExpectations(mock_ui()); |
214 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_UNENCRYPTED, | 214 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_UNENCRYPTED, |
215 website_settings()->site_connection_status()); | 215 website_settings()->site_connection_status()); |
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
315 ssl_.connection_status = status; | 315 ssl_.connection_status = status; |
316 | 316 |
317 SetDefaultUIExpectations(mock_ui()); | 317 SetDefaultUIExpectations(mock_ui()); |
318 | 318 |
319 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_ENCRYPTED_ERROR, | 319 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_ENCRYPTED_ERROR, |
320 website_settings()->site_connection_status()); | 320 website_settings()->site_connection_status()); |
321 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_CERT, | 321 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_CERT, |
322 website_settings()->site_identity_status()); | 322 website_settings()->site_identity_status()); |
323 EXPECT_EQ(string16(), website_settings()->organization_name()); | 323 EXPECT_EQ(string16(), website_settings()->organization_name()); |
324 } | 324 } |
OLD | NEW |