Chromium Code Reviews| Index: components/password_manager/core/browser/login_database_unittest.cc |
| diff --git a/components/password_manager/core/browser/login_database_unittest.cc b/components/password_manager/core/browser/login_database_unittest.cc |
| index 4dd83f82a14092b8e169e7f033063659b643da6f..cf73601dfc2f46842dd740f1b0de2a2b0ac4de1e 100644 |
| --- a/components/password_manager/core/browser/login_database_unittest.cc |
| +++ b/components/password_manager/core/browser/login_database_unittest.cc |
| @@ -11,6 +11,7 @@ |
| #include "base/path_service.h" |
| #include "base/strings/string_number_conversions.h" |
| #include "base/strings/utf_string_conversions.h" |
| +#include "base/test/histogram_tester.h" |
| #include "base/time/time.h" |
| #include "components/autofill/core/common/password_form.h" |
| #include "components/password_manager/core/browser/psl_matching_helper.h" |
| @@ -950,6 +951,79 @@ TEST_F(LoginDatabaseTest, UpdateLogin) { |
| EXPECT_EQ(form, *result[0]); |
| } |
| +TEST_F(LoginDatabaseTest, ReportMetricsTest) { |
| + PasswordForm user_created; |
| + user_created.origin = GURL("http://example.com"); |
| + user_created.username_value = ASCIIToUTF16("test1@gmail.com"); |
| + user_created.password_value = ASCIIToUTF16("test"); |
| + user_created.signon_realm = "http://example.com/"; |
| + user_created.times_used = 0; |
| + EXPECT_EQ(AddChangeForForm(user_created), db_.AddLogin(user_created)); |
| + |
| + user_created.username_value = ASCIIToUTF16("test2@gmail.com"); |
| + user_created.times_used = 1; |
| + EXPECT_EQ(AddChangeForForm(user_created), db_.AddLogin(user_created)); |
| + |
| + user_created.origin = GURL("http://second.example.com"); |
| + user_created.signon_realm = "http://second.example.com"; |
| + user_created.times_used = 3; |
| + EXPECT_EQ(AddChangeForForm(user_created), db_.AddLogin(user_created)); |
| + |
| + user_created.username_value = ASCIIToUTF16("test3@gmail.com"); |
| + user_created.type = PasswordForm::TYPE_GENERATED; |
|
Ilya Sherman
2014/11/13 01:54:53
It seems pretty weird to still be calling the acco
Garrett Casto
2014/11/18 22:30:24
Changed.
|
| + user_created.times_used = 2; |
| + EXPECT_EQ(AddChangeForForm(user_created), db_.AddLogin(user_created)); |
| + |
| + user_created.origin = GURL("http://third.example.com/"); |
| + user_created.signon_realm = "http://third.example.com/"; |
| + user_created.times_used = 4; |
| + EXPECT_EQ(AddChangeForForm(user_created), db_.AddLogin(user_created)); |
| + |
| + base::HistogramTester histogram_tester; |
| + db_.ReportMetrics("", false); |
| + |
| + histogram_tester.ExpectUniqueSample( |
| + "PasswordManager.TotalAccounts.UserCreated.WithoutCustomPassphrase", |
| + 3, |
| + 1); |
| + histogram_tester.ExpectBucketCount( |
| + "PasswordManager.AccountsPerSite.UserCreated.WithoutCustomPassphrase", |
| + 1, |
| + 1); |
| + histogram_tester.ExpectBucketCount( |
| + "PasswordManager.AccountsPerSite.UserCreated.WithoutCustomPassphrase", |
| + 2, |
| + 1); |
| + histogram_tester.ExpectBucketCount( |
| + "PasswordManager.TimesPasswordUsed.UserCreated.WithoutCustomPassphrase", |
| + 0, |
| + 1); |
| + histogram_tester.ExpectBucketCount( |
| + "PasswordManager.TimesPasswordUsed.UserCreated.WithoutCustomPassphrase", |
| + 1, |
| + 1); |
| + histogram_tester.ExpectBucketCount( |
| + "PasswordManager.TimesPasswordUsed.UserCreated.WithoutCustomPassphrase", |
| + 3, |
| + 1); |
| + histogram_tester.ExpectUniqueSample( |
| + "PasswordManager.TotalAccounts.AutoGenerated.WithoutCustomPassphrase", |
| + 2, |
| + 1); |
| + histogram_tester.ExpectBucketCount( |
|
Ilya Sherman
2014/11/13 01:54:53
nit: Perhaps call ExpectUniqueSample here?
Garrett Casto
2014/11/18 22:30:24
Done.
|
| + "PasswordManager.AccountsPerSite.AutoGenerated.WithoutCustomPassphrase", |
| + 1, |
| + 2); |
| + histogram_tester.ExpectBucketCount( |
| + "PasswordManager.TimesPasswordUsed.AutoGenerated.WithoutCustomPassphrase", |
| + 2, |
| + 1); |
| + histogram_tester.ExpectBucketCount( |
| + "PasswordManager.TimesPasswordUsed.AutoGenerated.WithoutCustomPassphrase", |
| + 4, |
| + 1); |
| +} |
| + |
| #if defined(OS_POSIX) |
| // Only the current user has permission to read the database. |
| // |