| Index: chrome/browser/autofill/password_generator_unittest.cc
|
| diff --git a/chrome/browser/autofill/password_generator_unittest.cc b/chrome/browser/autofill/password_generator_unittest.cc
|
| index 4efbc8bc8636481d77e16ed7fb0fd7e7af6d55d1..1602a1089a87fed0c91e2b6353d2d20670572c6a 100644
|
| --- a/chrome/browser/autofill/password_generator_unittest.cc
|
| +++ b/chrome/browser/autofill/password_generator_unittest.cc
|
| @@ -5,15 +5,49 @@
|
| #include <locale>
|
|
|
| #include "chrome/browser/autofill/password_generator.h"
|
| -
|
| #include "testing/gtest/include/gtest/gtest.h"
|
|
|
| namespace autofill {
|
|
|
| -TEST(PasswordGeneratorTest, PasswordGeneratorSimpleTest) {
|
| - // Not much to test, just make sure that the characters in a generated
|
| - // password are reasonable.
|
| - PasswordGenerator pg;
|
| +TEST(PasswordGeneratorTest, PasswordLength) {
|
| + PasswordGenerator pg1(10);
|
| + std::string password = pg1.Generate();
|
| + EXPECT_EQ(password.size(), 10u);
|
| +
|
| + PasswordGenerator pg2(-1);
|
| + password = pg2.Generate();
|
| + EXPECT_EQ(password.size(), PasswordGenerator::kDefaultPasswordLength);
|
| +
|
| + PasswordGenerator pg3(100);
|
| + password = pg3.Generate();
|
| + EXPECT_EQ(password.size(), PasswordGenerator::kDefaultPasswordLength);
|
| +}
|
| +
|
| +TEST(PasswordGeneratorTest, PasswordPattern) {
|
| + PasswordGenerator pg(12);
|
| + std::string password = pg.Generate();
|
| + int num_upper_case_letters = 0;
|
| + int num_lower_case_letters = 0;
|
| + int num_digits = 0;
|
| + int num_other_symbols = 0;
|
| + for (size_t i = 0; i < password.size(); i++) {
|
| + if (isupper(password[i]))
|
| + ++num_upper_case_letters;
|
| + else if (islower(password[i]))
|
| + ++num_lower_case_letters;
|
| + else if (isdigit(password[i]))
|
| + ++num_digits;
|
| + else
|
| + ++num_other_symbols;
|
| + }
|
| + EXPECT_GT(num_upper_case_letters, 0);
|
| + EXPECT_GT(num_lower_case_letters, 0);
|
| + EXPECT_GT(num_digits, 0);
|
| + EXPECT_GT(num_other_symbols, 0);
|
| +}
|
| +
|
| +TEST(PasswordGeneratorTest, Printable) {
|
| + PasswordGenerator pg(12);
|
| std::string password = pg.Generate();
|
| for (size_t i = 0; i < password.size(); i++) {
|
| // Make sure that the character is printable.
|
|
|