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

Unified Diff: components/password_manager/core/browser/password_store_unittest.cc

Issue 866983003: GetLoginsRequest: Use ScopedVector to express ownership of forms (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@324291_scopedvector
Patch Set: Second fix of the rebase Created 5 years, 10 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 side-by-side diff with in-line comments
Download patch
Index: components/password_manager/core/browser/password_store_unittest.cc
diff --git a/components/password_manager/core/browser/password_store_unittest.cc b/components/password_manager/core/browser/password_store_unittest.cc
index 681d0421ef5b5cf854137a2712a6c78eac0b2b2f..057fbfdb01b0b7a0d6f5d9c78ffd82a9a12ffb7c 100644
--- a/components/password_manager/core/browser/password_store_unittest.cc
+++ b/components/password_manager/core/browser/password_store_unittest.cc
@@ -27,8 +27,13 @@ namespace {
class MockPasswordStoreConsumer : public PasswordStoreConsumer {
public:
- MOCK_METHOD1(OnGetPasswordStoreResults,
+ MOCK_METHOD1(OnGetPasswordStoreResultsConstRef,
void(const std::vector<PasswordForm*>&));
+
+ // GMock cannot mock methods with move-only args.
+ void OnGetPasswordStoreResults(ScopedVector<PasswordForm> results) override {
+ OnGetPasswordStoreResultsConstRef(results.get());
+ }
};
class StartSyncFlareMock {
@@ -130,11 +135,10 @@ TEST_F(PasswordStoreTest, IgnoreOldWwwGoogleLogins) {
};
// Build the forms vector and add the forms to the store.
- std::vector<PasswordForm*> all_forms;
+ ScopedVector<PasswordForm> all_forms;
for (size_t i = 0; i < arraysize(form_data); ++i) {
- PasswordForm* form = CreatePasswordFormFromData(form_data[i]);
- all_forms.push_back(form);
- store->AddLogin(*form);
+ all_forms.push_back(CreatePasswordFormFromData(form_data[i]).release());
+ store->AddLogin(*all_forms.back());
}
base::MessageLoop::current()->RunUntilIdle();
@@ -164,20 +168,15 @@ TEST_F(PasswordStoreTest, IgnoreOldWwwGoogleLogins) {
bar_example_expected.push_back(all_forms[4]);
MockPasswordStoreConsumer consumer;
-
- // Expect the appropriate replies, as above, in reverse order than we will
- // issue the queries. Each retires on saturation to avoid matcher spew.
- EXPECT_CALL(consumer, OnGetPasswordStoreResults(
- ContainsAllPasswordForms(bar_example_expected)))
- .WillOnce(WithArg<0>(STLDeleteElements0()))
- .RetiresOnSaturation();
- EXPECT_CALL(consumer, OnGetPasswordStoreResults(
- ContainsAllPasswordForms(accounts_google_expected)))
- .WillOnce(WithArg<0>(STLDeleteElements0()))
+ testing::InSequence s;
+ EXPECT_CALL(consumer, OnGetPasswordStoreResultsConstRef(
+ ContainsSamePasswordForms(www_google_expected)))
.RetiresOnSaturation();
- EXPECT_CALL(consumer, OnGetPasswordStoreResults(
- ContainsAllPasswordForms(www_google_expected)))
- .WillOnce(WithArg<0>(STLDeleteElements0()))
+ EXPECT_CALL(consumer,
+ OnGetPasswordStoreResultsConstRef(ContainsSamePasswordForms(
+ accounts_google_expected))).RetiresOnSaturation();
+ EXPECT_CALL(consumer, OnGetPasswordStoreResultsConstRef(
+ ContainsSamePasswordForms(bar_example_expected)))
.RetiresOnSaturation();
store->GetLogins(www_google, PasswordStore::ALLOW_PROMPT, &consumer);
@@ -186,7 +185,6 @@ TEST_F(PasswordStoreTest, IgnoreOldWwwGoogleLogins) {
base::MessageLoop::current()->RunUntilIdle();
- STLDeleteElements(&all_forms);
store->Shutdown();
base::MessageLoop::current()->RunUntilIdle();
}

Powered by Google App Engine
This is Rietveld 408576698