| Index: components/password_manager/core/browser/password_reuse_detector_unittest.cc
|
| diff --git a/components/password_manager/core/browser/password_reuse_detector_unittest.cc b/components/password_manager/core/browser/password_reuse_detector_unittest.cc
|
| index dac4dd694cb000f0dc3ec6b6e3486778c3bbc81a..09342614b282af93a655f7a89dcde1bf19990042 100644
|
| --- a/components/password_manager/core/browser/password_reuse_detector_unittest.cc
|
| +++ b/components/password_manager/core/browser/password_reuse_detector_unittest.cc
|
| @@ -184,6 +184,49 @@ TEST(PasswordReuseDetectorTest, CheckLongestPasswordMatchReturn) {
|
| &mockConsumer);
|
| }
|
|
|
| +TEST(PasswordReuseDetectorTest, SyncPasswordNoReuse) {
|
| + PasswordReuseDetector reuse_detector;
|
| + reuse_detector.OnGetPasswordStoreResults(GetForms(GetTestDomainsPasswords()));
|
| + MockPasswordReuseDetectorConsumer mockConsumer;
|
| +
|
| + reuse_detector.SaveSyncPasswordHash(ASCIIToUTF16("sync_password"));
|
| +
|
| + EXPECT_CALL(mockConsumer, OnReuseFound(_, _, _, _)).Times(0);
|
| + reuse_detector.CheckReuse(ASCIIToUTF16("sync_password"),
|
| + "https://accounts.google.com", &mockConsumer);
|
| + // Only suffixes are verifed.
|
| + reuse_detector.CheckReuse(ASCIIToUTF16("sync_password123"),
|
| + "https://evil.com", &mockConsumer);
|
| +}
|
| +
|
| +TEST(PasswordReuseDetectorTest, SyncPasswordReuseFound) {
|
| + PasswordReuseDetector reuse_detector;
|
| + reuse_detector.OnGetPasswordStoreResults(GetForms(GetTestDomainsPasswords()));
|
| + MockPasswordReuseDetectorConsumer mockConsumer;
|
| +
|
| + reuse_detector.SaveSyncPasswordHash(ASCIIToUTF16("sync_password"));
|
| +
|
| + EXPECT_CALL(mockConsumer, OnReuseFound(ASCIIToUTF16("sync_password"),
|
| + "accounts.google.com", 1, 0));
|
| + reuse_detector.CheckReuse(ASCIIToUTF16("sync_password"), "https://evil.com",
|
| + &mockConsumer);
|
| +}
|
| +
|
| +TEST(PasswordReuseDetectorTest, SavedPasswordsReuseSyncPasswordAvailable) {
|
| + // Check that reuse of saved passwords is detected also if the sync password
|
| + // hash is saved.
|
| + PasswordReuseDetector reuse_detector;
|
| + reuse_detector.OnGetPasswordStoreResults(GetForms(GetTestDomainsPasswords()));
|
| + MockPasswordReuseDetectorConsumer mockConsumer;
|
| +
|
| + reuse_detector.SaveSyncPasswordHash(ASCIIToUTF16("sync_password"));
|
| +
|
| + EXPECT_CALL(mockConsumer,
|
| + OnReuseFound(ASCIIToUTF16("password"), "google.com", 5, 1));
|
| + reuse_detector.CheckReuse(ASCIIToUTF16("password"), "https://evil.com",
|
| + &mockConsumer);
|
| +}
|
| +
|
| } // namespace
|
|
|
| } // namespace password_manager
|
|
|