| Index: components/password_manager/core/browser/password_form_manager_unittest.cc
|
| diff --git a/components/password_manager/core/browser/password_form_manager_unittest.cc b/components/password_manager/core/browser/password_form_manager_unittest.cc
|
| index 8450eb129264039b909c9d1c23364f4a29ff7b89..e2532847a87a73a10a089fb616086651373a9c5d 100644
|
| --- a/components/password_manager/core/browser/password_form_manager_unittest.cc
|
| +++ b/components/password_manager/core/browser/password_form_manager_unittest.cc
|
| @@ -98,6 +98,11 @@ class MockFormSaver : public StubFormSaver {
|
| DISALLOW_COPY_AND_ASSIGN(MockFormSaver);
|
| };
|
|
|
| +class MockFormFetcher : public FakeFormFetcher {
|
| + public:
|
| + MOCK_METHOD1(AddConsumer, void(Consumer*));
|
| +};
|
| +
|
| MATCHER_P(CheckUsername, username_value, "Username incorrect") {
|
| return arg.username_value == username_value;
|
| }
|
| @@ -2959,4 +2964,18 @@ TEST_F(PasswordFormManagerTest, ResetStoredMatches) {
|
| EXPECT_THAT(credentials_to_update, IsEmpty());
|
| }
|
|
|
| +// Check that if asked to take ownership of the same FormFetcher which it had
|
| +// consumed before, the PasswordFormManager does not add itself as a consumer
|
| +// again.
|
| +TEST_F(PasswordFormManagerTest, GrabFetcher_Same) {
|
| + auto fetcher = base::MakeUnique<MockFormFetcher>();
|
| + fetcher->Fetch();
|
| + PasswordFormManager form_manager(
|
| + password_manager(), client(), client()->driver(), *observed_form(),
|
| + base::MakeUnique<MockFormSaver>(), fetcher.get());
|
| +
|
| + EXPECT_CALL(*fetcher, AddConsumer(_)).Times(0);
|
| + form_manager.GrabFetcher(std::move(fetcher));
|
| +}
|
| +
|
| } // namespace password_manager
|
|
|