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

Side by Side Diff: chrome/browser/ui/webui/sync_setup_handler_unittest.cc

Issue 671653002: Standardize usage of virtual/override/final in chrome/browser/ui/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 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
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/ui/webui/sync_setup_handler.h" 5 #include "chrome/browser/ui/webui/sync_setup_handler.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/json/json_writer.h" 10 #include "base/json/json_writer.h"
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
140 CheckBool(dictionary, "typedUrlsSynced", types.Has(syncer::TYPED_URLS)); 140 CheckBool(dictionary, "typedUrlsSynced", types.Has(syncer::TYPED_URLS));
141 } 141 }
142 142
143 143
144 } // namespace 144 } // namespace
145 145
146 // Test instance of WebUI that tracks the data passed to 146 // Test instance of WebUI that tracks the data passed to
147 // CallJavascriptFunction(). 147 // CallJavascriptFunction().
148 class TestWebUI : public content::WebUI { 148 class TestWebUI : public content::WebUI {
149 public: 149 public:
150 virtual ~TestWebUI() { 150 ~TestWebUI() override { ClearTrackedCalls(); }
151 ClearTrackedCalls();
152 }
153 151
154 void ClearTrackedCalls() { 152 void ClearTrackedCalls() {
155 // Manually free the arguments stored in CallData, since there's no good 153 // Manually free the arguments stored in CallData, since there's no good
156 // way to use a self-freeing reference like scoped_ptr in a std::vector. 154 // way to use a self-freeing reference like scoped_ptr in a std::vector.
157 for (std::vector<CallData>::iterator i = call_data_.begin(); 155 for (std::vector<CallData>::iterator i = call_data_.begin();
158 i != call_data_.end(); 156 i != call_data_.end();
159 ++i) { 157 ++i) {
160 delete i->arg1; 158 delete i->arg1;
161 delete i->arg2; 159 delete i->arg2;
162 } 160 }
163 call_data_.clear(); 161 call_data_.clear();
164 } 162 }
165 163
166 virtual void CallJavascriptFunction(const std::string& function_name) 164 void CallJavascriptFunction(const std::string& function_name) override {
167 override {
168 call_data_.push_back(CallData()); 165 call_data_.push_back(CallData());
169 call_data_.back().function_name = function_name; 166 call_data_.back().function_name = function_name;
170 } 167 }
171 168
172 virtual void CallJavascriptFunction(const std::string& function_name, 169 void CallJavascriptFunction(const std::string& function_name,
173 const base::Value& arg1) override { 170 const base::Value& arg1) override {
174 call_data_.push_back(CallData()); 171 call_data_.push_back(CallData());
175 call_data_.back().function_name = function_name; 172 call_data_.back().function_name = function_name;
176 call_data_.back().arg1 = arg1.DeepCopy(); 173 call_data_.back().arg1 = arg1.DeepCopy();
177 } 174 }
178 175
179 virtual void CallJavascriptFunction(const std::string& function_name, 176 void CallJavascriptFunction(const std::string& function_name,
180 const base::Value& arg1, 177 const base::Value& arg1,
181 const base::Value& arg2) override { 178 const base::Value& arg2) override {
182 call_data_.push_back(CallData()); 179 call_data_.push_back(CallData());
183 call_data_.back().function_name = function_name; 180 call_data_.back().function_name = function_name;
184 call_data_.back().arg1 = arg1.DeepCopy(); 181 call_data_.back().arg1 = arg1.DeepCopy();
185 call_data_.back().arg2 = arg2.DeepCopy(); 182 call_data_.back().arg2 = arg2.DeepCopy();
186 } 183 }
187 184
188 virtual content::WebContents* GetWebContents() const override { 185 content::WebContents* GetWebContents() const override { return NULL; }
189 return NULL; 186 content::WebUIController* GetController() const override { return NULL; }
190 } 187 void SetController(content::WebUIController* controller) override {}
191 virtual content::WebUIController* GetController() const override { 188 float GetDeviceScaleFactor() const override { return 1.0f; }
192 return NULL; 189 const base::string16& GetOverriddenTitle() const override {
193 }
194 virtual void SetController(content::WebUIController* controller) override {}
195 virtual float GetDeviceScaleFactor() const override {
196 return 1.0f;
197 }
198 virtual const base::string16& GetOverriddenTitle() const override {
199 return temp_string_; 190 return temp_string_;
200 } 191 }
201 virtual void OverrideTitle(const base::string16& title) override {} 192 void OverrideTitle(const base::string16& title) override {}
202 virtual ui::PageTransition GetLinkTransitionType() const override { 193 ui::PageTransition GetLinkTransitionType() const override {
203 return ui::PAGE_TRANSITION_LINK; 194 return ui::PAGE_TRANSITION_LINK;
204 } 195 }
205 virtual void SetLinkTransitionType(ui::PageTransition type) override {} 196 void SetLinkTransitionType(ui::PageTransition type) override {}
206 virtual int GetBindings() const override { 197 int GetBindings() const override { return 0; }
207 return 0; 198 void SetBindings(int bindings) override {}
208 } 199 void OverrideJavaScriptFrame(const std::string& frame_name) override {}
209 virtual void SetBindings(int bindings) override {} 200 void AddMessageHandler(content::WebUIMessageHandler* handler) override {}
210 virtual void OverrideJavaScriptFrame( 201 void RegisterMessageCallback(const std::string& message,
211 const std::string& frame_name) override {} 202 const MessageCallback& callback) override {}
212 virtual void AddMessageHandler( 203 void ProcessWebUIMessage(const GURL& source_url,
213 content::WebUIMessageHandler* handler) override {} 204 const std::string& message,
214 virtual void RegisterMessageCallback( 205 const base::ListValue& args) override {}
215 const std::string& message, 206 void CallJavascriptFunction(const std::string& function_name,
216 const MessageCallback& callback) override {} 207 const base::Value& arg1,
217 virtual void ProcessWebUIMessage(const GURL& source_url, 208 const base::Value& arg2,
218 const std::string& message, 209 const base::Value& arg3) override {}
219 const base::ListValue& args) override {} 210 void CallJavascriptFunction(const std::string& function_name,
220 virtual void CallJavascriptFunction(const std::string& function_name, 211 const base::Value& arg1,
221 const base::Value& arg1, 212 const base::Value& arg2,
222 const base::Value& arg2, 213 const base::Value& arg3,
223 const base::Value& arg3) override {} 214 const base::Value& arg4) override {}
224 virtual void CallJavascriptFunction(const std::string& function_name, 215 void CallJavascriptFunction(
225 const base::Value& arg1,
226 const base::Value& arg2,
227 const base::Value& arg3,
228 const base::Value& arg4) override {}
229 virtual void CallJavascriptFunction(
230 const std::string& function_name, 216 const std::string& function_name,
231 const std::vector<const base::Value*>& args) override {} 217 const std::vector<const base::Value*>& args) override {}
232 218
233 class CallData { 219 class CallData {
234 public: 220 public:
235 CallData() : arg1(NULL), arg2(NULL) {} 221 CallData() : arg1(NULL), arg2(NULL) {}
236 std::string function_name; 222 std::string function_name;
237 base::Value* arg1; 223 base::Value* arg1;
238 base::Value* arg2; 224 base::Value* arg2;
239 }; 225 };
240 const std::vector<CallData>& call_data() { return call_data_; } 226 const std::vector<CallData>& call_data() { return call_data_; }
241 private: 227 private:
242 std::vector<CallData> call_data_; 228 std::vector<CallData> call_data_;
243 base::string16 temp_string_; 229 base::string16 temp_string_;
244 }; 230 };
245 231
246 class TestingSyncSetupHandler : public SyncSetupHandler { 232 class TestingSyncSetupHandler : public SyncSetupHandler {
247 public: 233 public:
248 TestingSyncSetupHandler(content::WebUI* web_ui, Profile* profile) 234 TestingSyncSetupHandler(content::WebUI* web_ui, Profile* profile)
249 : SyncSetupHandler(NULL), 235 : SyncSetupHandler(NULL),
250 profile_(profile) { 236 profile_(profile) {
251 set_web_ui(web_ui); 237 set_web_ui(web_ui);
252 } 238 }
253 virtual ~TestingSyncSetupHandler() { 239 ~TestingSyncSetupHandler() override { set_web_ui(NULL); }
254 set_web_ui(NULL);
255 }
256 240
257 virtual void FocusUI() override {} 241 void FocusUI() override {}
258 242
259 virtual Profile* GetProfile() const override { return profile_; } 243 Profile* GetProfile() const override { return profile_; }
260 244
261 using SyncSetupHandler::is_configuring_sync; 245 using SyncSetupHandler::is_configuring_sync;
262 246
263 private: 247 private:
264 #if !defined(OS_CHROMEOS) 248 #if !defined(OS_CHROMEOS)
265 virtual void DisplayGaiaLoginInNewTabOrWindow() override {} 249 void DisplayGaiaLoginInNewTabOrWindow() override {}
266 #endif 250 #endif
267 251
268 // Weak pointer to parent profile. 252 // Weak pointer to parent profile.
269 Profile* profile_; 253 Profile* profile_;
270 DISALLOW_COPY_AND_ASSIGN(TestingSyncSetupHandler); 254 DISALLOW_COPY_AND_ASSIGN(TestingSyncSetupHandler);
271 }; 255 };
272 256
273 // The boolean parameter indicates whether the test is run with ClientOAuth 257 // The boolean parameter indicates whether the test is run with ClientOAuth
274 // or not. The test parameter is a bool: whether or not to test with/ 258 // or not. The test parameter is a bool: whether or not to test with/
275 // /ClientLogin enabled or not. 259 // /ClientLogin enabled or not.
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
380 content::TestBrowserThreadBundle thread_bundle_; 364 content::TestBrowserThreadBundle thread_bundle_;
381 scoped_ptr<Profile> profile_; 365 scoped_ptr<Profile> profile_;
382 ProfileSyncServiceMock* mock_pss_; 366 ProfileSyncServiceMock* mock_pss_;
383 GoogleServiceAuthError error_; 367 GoogleServiceAuthError error_;
384 SigninManagerBase* mock_signin_; 368 SigninManagerBase* mock_signin_;
385 TestWebUI web_ui_; 369 TestWebUI web_ui_;
386 scoped_ptr<TestingSyncSetupHandler> handler_; 370 scoped_ptr<TestingSyncSetupHandler> handler_;
387 }; 371 };
388 372
389 class SyncSetupHandlerFirstSigninTest : public SyncSetupHandlerTest { 373 class SyncSetupHandlerFirstSigninTest : public SyncSetupHandlerTest {
390 virtual std::string GetTestUser() override { return std::string(); } 374 std::string GetTestUser() override { return std::string(); }
391 }; 375 };
392 376
393 TEST_F(SyncSetupHandlerTest, Basic) { 377 TEST_F(SyncSetupHandlerTest, Basic) {
394 } 378 }
395 379
396 #if !defined(OS_CHROMEOS) 380 #if !defined(OS_CHROMEOS)
397 TEST_F(SyncSetupHandlerFirstSigninTest, DisplayBasicLogin) { 381 TEST_F(SyncSetupHandlerFirstSigninTest, DisplayBasicLogin) {
398 EXPECT_CALL(*mock_pss_, IsSyncEnabledAndLoggedIn()) 382 EXPECT_CALL(*mock_pss_, IsSyncEnabledAndLoggedIn())
399 .WillRepeatedly(Return(false)); 383 .WillRepeatedly(Return(false));
400 EXPECT_CALL(*mock_pss_, IsOAuthRefreshTokenAvailable()) 384 EXPECT_CALL(*mock_pss_, IsOAuthRefreshTokenAvailable())
(...skipping 650 matching lines...) Expand 10 before | Expand all | Expand 10 after
1051 1035
1052 // This should display the sync setup dialog (not login). 1036 // This should display the sync setup dialog (not login).
1053 handler_->OpenSyncSetup(); 1037 handler_->OpenSyncSetup();
1054 1038
1055 ExpectConfig(); 1039 ExpectConfig();
1056 const TestWebUI::CallData& data = web_ui_.call_data()[0]; 1040 const TestWebUI::CallData& data = web_ui_.call_data()[0];
1057 base::DictionaryValue* dictionary; 1041 base::DictionaryValue* dictionary;
1058 ASSERT_TRUE(data.arg2->GetAsDictionary(&dictionary)); 1042 ASSERT_TRUE(data.arg2->GetAsDictionary(&dictionary));
1059 CheckBool(dictionary, "encryptAllData", true); 1043 CheckBool(dictionary, "encryptAllData", true);
1060 } 1044 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698