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/password_manager/password_store_win.h" | 5 #include "chrome/browser/password_manager/password_store_win.h" |
6 | 6 |
7 #include <windows.h> | 7 #include <windows.h> |
8 | 8 |
9 #include <memory> | 9 #include <memory> |
10 #include <string> | 10 #include <string> |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
59 | 59 |
60 // GMock cannot mock methods with move-only args. | 60 // GMock cannot mock methods with move-only args. |
61 void OnGetPasswordStoreResults( | 61 void OnGetPasswordStoreResults( |
62 std::vector<std::unique_ptr<PasswordForm>> results) override { | 62 std::vector<std::unique_ptr<PasswordForm>> results) override { |
63 OnGetPasswordStoreResultsConstRef(results); | 63 OnGetPasswordStoreResultsConstRef(results); |
64 } | 64 } |
65 }; | 65 }; |
66 | 66 |
67 class MockWebDataServiceConsumer : public WebDataServiceConsumer { | 67 class MockWebDataServiceConsumer : public WebDataServiceConsumer { |
68 public: | 68 public: |
69 MOCK_METHOD2(OnWebDataServiceRequestDone, | 69 MOCK_METHOD0(OnWebDataServiceRequestDoneStub, void()); |
70 void(PasswordWebDataService::Handle, const WDTypedResult*)); | 70 |
| 71 // GMock cannot mock methods with move-only args. |
| 72 void OnWebDataServiceRequestDone(WebDataServiceBase::Handle h, |
| 73 std::unique_ptr<WDTypedResult> result) { |
| 74 OnWebDataServiceRequestDoneStub(); |
| 75 } |
71 }; | 76 }; |
72 | 77 |
73 } // anonymous namespace | 78 } // anonymous namespace |
74 | 79 |
75 class PasswordStoreWinTest : public testing::Test { | 80 class PasswordStoreWinTest : public testing::Test { |
76 protected: | 81 protected: |
77 PasswordStoreWinTest() | 82 PasswordStoreWinTest() |
78 : ui_thread_(BrowserThread::UI, &message_loop_), | 83 : ui_thread_(BrowserThread::UI, &message_loop_), |
79 db_thread_(BrowserThread::DB) {} | 84 db_thread_(BrowserThread::DB) {} |
80 | 85 |
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
191 ACTION(STLDeleteElements0) { | 196 ACTION(STLDeleteElements0) { |
192 base::STLDeleteContainerPointers(arg0.begin(), arg0.end()); | 197 base::STLDeleteContainerPointers(arg0.begin(), arg0.end()); |
193 } | 198 } |
194 | 199 |
195 ACTION(QuitUIMessageLoop) { | 200 ACTION(QuitUIMessageLoop) { |
196 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 201 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
197 base::MessageLoop::current()->QuitWhenIdle(); | 202 base::MessageLoop::current()->QuitWhenIdle(); |
198 } | 203 } |
199 | 204 |
200 MATCHER(EmptyWDResult, "") { | 205 MATCHER(EmptyWDResult, "") { |
201 return static_cast<const WDResult<std::vector<PasswordForm*>>*>(arg) | 206 return static_cast< |
| 207 const WDResult<std::vector<std::unique_ptr<PasswordForm>>>*>(arg) |
202 ->GetValue() | 208 ->GetValue() |
203 .empty(); | 209 .empty(); |
204 } | 210 } |
205 | 211 |
206 // Hangs flakily, http://crbug.com/71385. | 212 // Hangs flakily, http://crbug.com/71385. |
207 TEST_F(PasswordStoreWinTest, DISABLED_ConvertIE7Login) { | 213 TEST_F(PasswordStoreWinTest, DISABLED_ConvertIE7Login) { |
208 IE7PasswordInfo password_info; | 214 IE7PasswordInfo password_info; |
209 ASSERT_TRUE(CreateIE7PasswordInfo(L"http://example.com/origin", | 215 ASSERT_TRUE(CreateIE7PasswordInfo(L"http://example.com/origin", |
210 base::Time::FromDoubleT(1), | 216 base::Time::FromDoubleT(1), |
211 &password_info)); | 217 &password_info)); |
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
371 | 377 |
372 // The IE7 password should be returned. | 378 // The IE7 password should be returned. |
373 EXPECT_CALL(password_consumer, | 379 EXPECT_CALL(password_consumer, |
374 OnGetPasswordStoreResultsConstRef( | 380 OnGetPasswordStoreResultsConstRef( |
375 UnorderedPasswordFormElementsAre(&expected_forms))); | 381 UnorderedPasswordFormElementsAre(&expected_forms))); |
376 | 382 |
377 store_->GetLogins(form, &password_consumer); | 383 store_->GetLogins(form, &password_consumer); |
378 | 384 |
379 MockWebDataServiceConsumer wds_consumer; | 385 MockWebDataServiceConsumer wds_consumer; |
380 | 386 |
381 EXPECT_CALL(wds_consumer, OnWebDataServiceRequestDone(_, _)) | 387 EXPECT_CALL(wds_consumer, OnWebDataServiceRequestDoneStub()) |
382 .WillOnce(QuitUIMessageLoop()); | 388 .WillOnce(QuitUIMessageLoop()); |
383 | 389 |
384 wds_->GetIE7Login(password_info, &wds_consumer); | 390 wds_->GetIE7Login(password_info, &wds_consumer); |
385 | 391 |
386 // Run the MessageLoop twice: once for the GetIE7Login that PasswordStoreWin | 392 // Run the MessageLoop twice: once for the GetIE7Login that PasswordStoreWin |
387 // schedules on the DB thread and once for the one we just scheduled on the UI | 393 // schedules on the DB thread and once for the one we just scheduled on the UI |
388 // thread. | 394 // thread. |
389 base::RunLoop().Run(); | 395 base::RunLoop().Run(); |
390 base::RunLoop().Run(); | 396 base::RunLoop().Run(); |
391 } | 397 } |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
446 | 452 |
447 // Make sure we quit the MessageLoop even if the test fails. | 453 // Make sure we quit the MessageLoop even if the test fails. |
448 ON_CALL(consumer, OnGetPasswordStoreResultsConstRef(_)) | 454 ON_CALL(consumer, OnGetPasswordStoreResultsConstRef(_)) |
449 .WillByDefault(QuitUIMessageLoop()); | 455 .WillByDefault(QuitUIMessageLoop()); |
450 | 456 |
451 EXPECT_CALL(consumer, OnGetPasswordStoreResultsConstRef(IsEmpty())); | 457 EXPECT_CALL(consumer, OnGetPasswordStoreResultsConstRef(IsEmpty())); |
452 | 458 |
453 store_->GetAutofillableLogins(&consumer); | 459 store_->GetAutofillableLogins(&consumer); |
454 base::RunLoop().Run(); | 460 base::RunLoop().Run(); |
455 } | 461 } |
OLD | NEW |