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

Side by Side Diff: chrome/browser/ui/website_settings/website_settings_unittest.cc

Issue 10440092: Remove any platform specific code from the chrome/browser/website_settings.* . (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: sort includes Created 8 years, 6 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
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/ui/website_settings/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/string16.h" 9 #include "base/string16.h"
10 #include "base/utf_string_conversions.h" 10 #include "base/utf_string_conversions.h"
11 #include "chrome/browser/content_settings/host_content_settings_map.h" 11 #include "chrome/browser/content_settings/host_content_settings_map.h"
12 #include "chrome/browser/content_settings/tab_specific_content_settings.h" 12 #include "chrome/browser/content_settings/tab_specific_content_settings.h"
13 #include "chrome/browser/ui/website_settings_ui.h" 13 #include "chrome/browser/ui/website_settings/website_settings_ui.h"
14 #include "chrome/common/content_settings.h" 14 #include "chrome/common/content_settings.h"
15 #include "chrome/common/content_settings_types.h" 15 #include "chrome/common/content_settings_types.h"
16 #include "chrome/test/base/chrome_render_view_host_test_harness.h" 16 #include "chrome/test/base/chrome_render_view_host_test_harness.h"
17 #include "chrome/test/base/testing_profile.h" 17 #include "chrome/test/base/testing_profile.h"
18 #include "content/public/browser/cert_store.h" 18 #include "content/public/browser/cert_store.h"
19 #include "content/public/common/ssl_status.h" 19 #include "content/public/common/ssl_status.h"
20 #include "content/public/test/test_browser_thread.h" 20 #include "content/public/test/test_browser_thread.h"
21 #include "net/base/cert_status_flags.h" 21 #include "net/base/cert_status_flags.h"
22 #include "net/base/ssl_connection_status_flags.h" 22 #include "net/base/ssl_connection_status_flags.h"
23 #include "net/base/test_certificate_data.h" 23 #include "net/base/test_certificate_data.h"
(...skipping 26 matching lines...) Expand all
50 class MockCertStore : public content::CertStore { 50 class MockCertStore : public content::CertStore {
51 public: 51 public:
52 virtual ~MockCertStore() {} 52 virtual ~MockCertStore() {}
53 MOCK_METHOD2(StoreCert, int(net::X509Certificate*, int)); 53 MOCK_METHOD2(StoreCert, int(net::X509Certificate*, int));
54 MOCK_METHOD2(RetrieveCert, bool(int, scoped_refptr<net::X509Certificate>*)); 54 MOCK_METHOD2(RetrieveCert, bool(int, scoped_refptr<net::X509Certificate>*));
55 }; 55 };
56 56
57 class MockWebsiteSettingsUI : public WebsiteSettingsUI { 57 class MockWebsiteSettingsUI : public WebsiteSettingsUI {
58 public: 58 public:
59 virtual ~MockWebsiteSettingsUI() {} 59 virtual ~MockWebsiteSettingsUI() {}
60 MOCK_METHOD1(SetPresenter, void(WebsiteSettings* presenter));
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));
64 MOCK_METHOD1(SetIdentityInfo, void(const IdentityInfo& identity_info)); 63 MOCK_METHOD1(SetIdentityInfo, void(const IdentityInfo& identity_info));
65 MOCK_METHOD1(SetFirstVisit, void(const string16& first_visit)); 64 MOCK_METHOD1(SetFirstVisit, void(const string16& first_visit));
66 }; 65 };
67 66
68 class WebsiteSettingsTest : public ChromeRenderViewHostTestHarness { 67 class WebsiteSettingsTest : public ChromeRenderViewHostTestHarness {
69 public: 68 public:
70 WebsiteSettingsTest() 69 WebsiteSettingsTest()
(...skipping 25 matching lines...) Expand all
96 95
97 tab_specific_content_settings_.reset( 96 tab_specific_content_settings_.reset(
98 new TabSpecificContentSettings(contents())); 97 new TabSpecificContentSettings(contents()));
99 98
100 // Setup the mock cert store. 99 // Setup the mock cert store.
101 EXPECT_CALL(cert_store_, RetrieveCert(cert_id_, _) ) 100 EXPECT_CALL(cert_store_, RetrieveCert(cert_id_, _) )
102 .Times(AnyNumber()) 101 .Times(AnyNumber())
103 .WillRepeatedly(DoAll(SetArgPointee<1>(cert_), Return(true))); 102 .WillRepeatedly(DoAll(SetArgPointee<1>(cert_), Return(true)));
104 103
105 // Setup mock ui. 104 // Setup mock ui.
106 mock_ui_ = new MockWebsiteSettingsUI(); 105 mock_ui_.reset(new MockWebsiteSettingsUI());
107 } 106 }
108 107
109 virtual void TearDown() { 108 virtual void TearDown() {
110 ASSERT_TRUE(website_settings_) << "No WebsiteSettings instance created."; 109 ASSERT_TRUE(website_settings_.get())
111 // Call OnUIClosing to destroy the |website_settings| object. 110 << "No WebsiteSettings instance created.";
112 EXPECT_CALL(*mock_ui_, SetPresenter(NULL));
113 website_settings_->OnUIClosing();
114 RenderViewHostTestHarness::TearDown(); 111 RenderViewHostTestHarness::TearDown();
112 website_settings_.reset();
115 } 113 }
116 114
117 void SetDefaultUIExpectations(MockWebsiteSettingsUI* mock_ui) { 115 void SetDefaultUIExpectations(MockWebsiteSettingsUI* mock_ui) {
118 // During creation |WebsiteSettings| makes the following calls to the ui. 116 // During creation |WebsiteSettings| makes the following calls to the ui.
119 EXPECT_CALL(*mock_ui, SetPermissionInfo(_)); 117 EXPECT_CALL(*mock_ui, SetPermissionInfo(_));
120 EXPECT_CALL(*mock_ui, SetIdentityInfo(_)); 118 EXPECT_CALL(*mock_ui, SetIdentityInfo(_));
121 EXPECT_CALL(*mock_ui, SetPresenter(_));
122 EXPECT_CALL(*mock_ui, SetCookieInfo(_)); 119 EXPECT_CALL(*mock_ui, SetCookieInfo(_));
123 EXPECT_CALL(*mock_ui, SetFirstVisit(string16())); 120 EXPECT_CALL(*mock_ui, SetFirstVisit(string16()));
124 } 121 }
125 122
126 const GURL& url() const { return url_; } 123 const GURL& url() const { return url_; }
127 MockCertStore* cert_store() { return &cert_store_; } 124 MockCertStore* cert_store() { return &cert_store_; }
128 int cert_id() { return cert_id_; } 125 int cert_id() { return cert_id_; }
129 MockWebsiteSettingsUI* mock_ui() { return mock_ui_; } 126 MockWebsiteSettingsUI* mock_ui() { return mock_ui_.get(); }
130 const SSLStatus& ssl() { return ssl_; } 127 const SSLStatus& ssl() { return ssl_; }
131 TabSpecificContentSettings* tab_specific_content_settings() { 128 TabSpecificContentSettings* tab_specific_content_settings() {
132 return tab_specific_content_settings_.get(); 129 return tab_specific_content_settings_.get();
133 } 130 }
134 131
135 WebsiteSettings* website_settings() { 132 WebsiteSettings* website_settings() {
136 if (!website_settings_) { 133 if (!website_settings_.get()) {
137 website_settings_ = new WebsiteSettings( 134 website_settings_.reset(new WebsiteSettings(
138 mock_ui(), profile(), tab_specific_content_settings_.get(), url(), 135 mock_ui(), profile(), tab_specific_content_settings_.get(), url(),
139 ssl(), cert_store()); 136 ssl(), cert_store()));
140 } 137 }
141 return website_settings_; 138 return website_settings_.get();
142 } 139 }
143 140
144 SSLStatus ssl_; 141 SSLStatus ssl_;
145 142
146 private: 143 private:
147 // The |Website_settings| object deletes itself after the OnUIClosing() 144 scoped_ptr<WebsiteSettings> website_settings_;
148 // method is called. 145 scoped_ptr<MockWebsiteSettingsUI> mock_ui_;
149 WebsiteSettings* website_settings_; // Weak pointer.
150 // The UI is owned by |web_site_settings_|.
151 MockWebsiteSettingsUI* mock_ui_; // Weak pointer.
152 int cert_id_; 146 int cert_id_;
153 scoped_refptr<net::X509Certificate> cert_; 147 scoped_refptr<net::X509Certificate> cert_;
154 content::TestBrowserThread browser_thread_; 148 content::TestBrowserThread browser_thread_;
155 scoped_ptr<TabSpecificContentSettings> tab_specific_content_settings_; 149 scoped_ptr<TabSpecificContentSettings> tab_specific_content_settings_;
156 MockCertStore cert_store_; 150 MockCertStore cert_store_;
157 GURL url_; 151 GURL url_;
158 }; 152 };
159 153
160 } // namespace 154 } // namespace
161 155
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
199 url(), url(), CONTENT_SETTINGS_TYPE_GEOLOCATION, ""); 193 url(), url(), CONTENT_SETTINGS_TYPE_GEOLOCATION, "");
200 EXPECT_EQ(setting, CONTENT_SETTING_ALLOW); 194 EXPECT_EQ(setting, CONTENT_SETTING_ALLOW);
201 setting = content_settings->GetContentSetting( 195 setting = content_settings->GetContentSetting(
202 url(), url(), CONTENT_SETTINGS_TYPE_NOTIFICATIONS, ""); 196 url(), url(), CONTENT_SETTINGS_TYPE_NOTIFICATIONS, "");
203 EXPECT_EQ(setting, CONTENT_SETTING_ALLOW); 197 EXPECT_EQ(setting, CONTENT_SETTING_ALLOW);
204 } 198 }
205 199
206 TEST_F(WebsiteSettingsTest, OnSiteDataAccessed) { 200 TEST_F(WebsiteSettingsTest, OnSiteDataAccessed) {
207 EXPECT_CALL(*mock_ui(), SetPermissionInfo(_)); 201 EXPECT_CALL(*mock_ui(), SetPermissionInfo(_));
208 EXPECT_CALL(*mock_ui(), SetIdentityInfo(_)); 202 EXPECT_CALL(*mock_ui(), SetIdentityInfo(_));
209 EXPECT_CALL(*mock_ui(), SetPresenter(_));
210 EXPECT_CALL(*mock_ui(), SetFirstVisit(string16())); 203 EXPECT_CALL(*mock_ui(), SetFirstVisit(string16()));
211 EXPECT_CALL(*mock_ui(), SetCookieInfo(_)).Times(2); 204 EXPECT_CALL(*mock_ui(), SetCookieInfo(_)).Times(2);
212 205
213 website_settings()->OnSiteDataAccessed(); 206 website_settings()->OnSiteDataAccessed();
214 } 207 }
215 208
216 TEST_F(WebsiteSettingsTest, HTTPConnection) { 209 TEST_F(WebsiteSettingsTest, HTTPConnection) {
217 SetDefaultUIExpectations(mock_ui()); 210 SetDefaultUIExpectations(mock_ui());
218 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_UNENCRYPTED, 211 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_UNENCRYPTED,
219 website_settings()->site_connection_status()); 212 website_settings()->site_connection_status());
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
319 ssl_.connection_status = status; 312 ssl_.connection_status = status;
320 313
321 SetDefaultUIExpectations(mock_ui()); 314 SetDefaultUIExpectations(mock_ui());
322 315
323 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_ENCRYPTED_ERROR, 316 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_ENCRYPTED_ERROR,
324 website_settings()->site_connection_status()); 317 website_settings()->site_connection_status());
325 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_CERT, 318 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_CERT,
326 website_settings()->site_identity_status()); 319 website_settings()->site_identity_status());
327 EXPECT_EQ(string16(), website_settings()->organization_name()); 320 EXPECT_EQ(string16(), website_settings()->organization_name());
328 } 321 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/website_settings/website_settings_ui.cc ('k') | chrome/browser/ui/website_settings_ui.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698