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

Unified Diff: components/password_manager/core/browser/password_store_default_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: Just rebased on mkwst's changes 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_default_unittest.cc
diff --git a/components/password_manager/core/browser/password_store_default_unittest.cc b/components/password_manager/core/browser/password_store_default_unittest.cc
index b4d87c35839f8eeb074149f2f2fb542748960c54..fe9a6fbd2c7beea8c45e3276a913ba4a2fb16a34 100644
--- a/components/password_manager/core/browser/password_store_default_unittest.cc
+++ b/components/password_manager/core/browser/password_store_default_unittest.cc
@@ -21,9 +21,8 @@
#include "testing/gtest/include/gtest/gtest.h"
using autofill::PasswordForm;
-using testing::_;
using testing::ElementsAreArray;
-using testing::WithArg;
+using testing::IsEmpty;
namespace password_manager {
@@ -31,8 +30,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 MockPasswordStoreObserver : public PasswordStore::Observer {
@@ -114,11 +118,11 @@ TEST_F(PasswordStoreDefaultTest, NonASCIIData) {
};
// Build the expected forms vector and add the forms to the store.
- std::vector<PasswordForm*> expected_forms;
+ ScopedVector<PasswordForm> expected_forms;
for (unsigned int i = 0; i < arraysize(form_data); ++i) {
- PasswordForm* form = CreatePasswordFormFromData(form_data[i]);
- expected_forms.push_back(form);
- store->AddLogin(*form);
+ expected_forms.push_back(
+ CreatePasswordFormFromData(form_data[i]).release());
+ store->AddLogin(*expected_forms.back());
}
base::MessageLoop::current()->RunUntilIdle();
@@ -126,14 +130,12 @@ TEST_F(PasswordStoreDefaultTest, NonASCIIData) {
MockPasswordStoreConsumer consumer;
// We expect to get the same data back, even though it's not all ASCII.
- EXPECT_CALL(consumer,
- OnGetPasswordStoreResults(ContainsAllPasswordForms(expected_forms)))
- .WillOnce(WithArg<0>(STLDeleteElements0()));
+ EXPECT_CALL(consumer, OnGetPasswordStoreResultsConstRef(
+ ContainsSamePasswordForms(expected_forms.get())));
store->GetAutofillableLogins(&consumer);
base::MessageLoop::current()->RunUntilIdle();
- STLDeleteElements(&expected_forms);
store->Shutdown();
base::MessageLoop::current()->RunUntilIdle();
}
@@ -144,8 +146,8 @@ TEST_F(PasswordStoreDefaultTest, Notifications) {
make_scoped_ptr(new LoginDatabase(test_login_db_file_path()))));
store->Init(syncer::SyncableService::StartSyncFlare());
- scoped_ptr<PasswordForm> form(
- CreatePasswordFormFromData(CreateTestPasswordFormData()));
+ scoped_ptr<PasswordForm> form =
+ CreatePasswordFormFromData(CreateTestPasswordFormData());
MockPasswordStoreObserver observer;
store->AddObserver(&observer);
@@ -207,8 +209,8 @@ TEST_F(PasswordStoreDefaultTest, OperationsOnABadDatabaseSilentlyFail) {
bad_store->AddObserver(&mock_observer);
// Add a new autofillable login + a blacklisted login.
- scoped_ptr<PasswordForm> form(
- CreatePasswordFormFromData(CreateTestPasswordFormData()));
+ scoped_ptr<PasswordForm> form =
+ CreatePasswordFormFromData(CreateTestPasswordFormData());
scoped_ptr<PasswordForm> blacklisted_form(new PasswordForm(*form));
blacklisted_form->signon_realm = "http://foo.example.com";
blacklisted_form->origin = GURL("http://foo.example.com/origin");
@@ -220,15 +222,15 @@ TEST_F(PasswordStoreDefaultTest, OperationsOnABadDatabaseSilentlyFail) {
// Get all logins; autofillable logins; blacklisted logins.
testing::StrictMock<MockPasswordStoreConsumer> mock_consumer;
- EXPECT_CALL(mock_consumer, OnGetPasswordStoreResults(testing::ElementsAre()));
+ EXPECT_CALL(mock_consumer, OnGetPasswordStoreResultsConstRef(IsEmpty()));
bad_store->GetLogins(*form, PasswordStore::DISALLOW_PROMPT, &mock_consumer);
base::MessageLoop::current()->RunUntilIdle();
testing::Mock::VerifyAndClearExpectations(&mock_consumer);
- EXPECT_CALL(mock_consumer, OnGetPasswordStoreResults(testing::ElementsAre()));
+ EXPECT_CALL(mock_consumer, OnGetPasswordStoreResultsConstRef(IsEmpty()));
bad_store->GetAutofillableLogins(&mock_consumer);
base::MessageLoop::current()->RunUntilIdle();
testing::Mock::VerifyAndClearExpectations(&mock_consumer);
- EXPECT_CALL(mock_consumer, OnGetPasswordStoreResults(testing::ElementsAre()));
+ EXPECT_CALL(mock_consumer, OnGetPasswordStoreResultsConstRef(IsEmpty()));
bad_store->GetBlacklistLogins(&mock_consumer);
base::MessageLoop::current()->RunUntilIdle();

Powered by Google App Engine
This is Rietveld 408576698